ContractUpgradeWireTransaction - corda

corda / net.corda.core.transactions / ContractUpgradeWireTransaction

# ContractUpgradeWireTransaction

`data class ContractUpgradeWireTransaction : CoreTransaction`

A special transaction for upgrading the contract of a state.

### Types

#### Component | `enum class Component`

### Constructors

#### <init> | `ContractUpgradeWireTransaction(serializedComponents: List<OpaqueBytes>, privacySalt: PrivacySalt = PrivacySalt())` A special transaction for upgrading the contract of a state. `ContractUpgradeWireTransaction(serializedComponents: List<OpaqueBytes>, privacySalt: PrivacySalt, digestService: DigestService)`

### Properties

#### digestService | `val digestService: DigestService`
#### id | `val id: SecureHash`
#### inputs | The inputs of this transaction, containing state references only. `val inputs: List<StateRef>`
#### legacyContractAttachmentId | `val legacyContractAttachmentId: SecureHash`
#### networkParametersHash | Hash of the network parameters that were in force when the transaction was notarised. Null means, that the transaction was created on older version of Corda (before 4), resolution will default to initial parameters. `val networkParametersHash: SecureHash?`
#### notary | If present, the notary for this transaction. If absent then the transaction is not notarised at all. This is intended for issuance/genesis transactions that don't consume any other states and thus can't double spend anything. `val notary: Party`
#### outputs | This transaction does not contain any output states, outputs can be obtained by resolving a ContractUpgradeLedgerTransaction – outputs will be calculated on demand by applying the contract upgrade operation to inputs. `val outputs: List<TransactionState<ContractState>>`
#### privacySalt | Required for hiding components in ContractUpgradeFilteredTransaction. `val privacySalt: PrivacySalt`
#### references | ContractUpgradeWireTransactions should not contain reference input states. `val references: List<StateRef>`
#### serializedComponents | Contains all of the transaction components in serialized form. This is used for calculating the transaction id in a deterministic fashion, since re-serializing properties may result in a different byte sequence depending on the serialization context. `val serializedComponents: List<OpaqueBytes>`
#### upgradedContractAttachmentId | `val upgradedContractAttachmentId: SecureHash`
#### upgradedContractClassName | `val upgradedContractClassName: ContractClassName`

### Functions

#### buildFilteredTransaction | Constructs a filtered transaction: the inputs, the notary party and network parameters hash are always visible, while the rest are hidden. `fun buildFilteredTransaction(): ContractUpgradeFilteredTransaction`
#### copy | Old version of ContractUpgradeWireTransaction.copy for sake of ABI compatibility. `fun copy(serializedComponents: List<OpaqueBytes>, privacySalt: PrivacySalt): ContractUpgradeWireTransaction`
#### resolve | Resolves input states and contract attachments, and builds a ContractUpgradeLedgerTransaction. `fun resolve(services: ServicesForResolution, sigs: List<TransactionSignature>): ContractUpgradeLedgerTransaction`