corda / net.corda.core.contracts / TransactionState

TransactionState

data class TransactionState<out T : ContractState>

A wrapper for ContractState containing additional platform-level state information and contract information. This is the definitive state that is stored on the ledger and used in transaction outputs.

Constructors

<init>

A wrapper for ContractState containing additional platform-level state information and contract information. This is the definitive state that is stored on the ledger and used in transaction outputs.

TransactionState(data: T, contract: ContractClassName = requireNotNull(data.requiredContractClassName) { //TODO: add link to docsite page, when there is one. """ Unable to infer Contract class name because state class ${data::class.java.name} is not annotated with @BelongsToContract, and does not have an enclosing class which implements Contract. Either annotate ${data::class.java.name} with @BelongsToContract, or supply an explicit contract parameter to TransactionState(). """.trimIndent().replace('\n', ' ') }, notary: Party, encumbrance: Int? = null, constraint: AttachmentConstraint = AutomaticPlaceholderConstraint)

Properties

constraint

A validator for the contract attachments on the transaction.

val constraint: AttachmentConstraint

contract

The contract class name that will verify this state that will be created via reflection. The attachment containing this class will be automatically added to the transaction at transaction creation time.

val contract: ContractClassName

data

The custom contract state

val data: T

encumbrance

All contract states may be encumbered by up to one other state.

val encumbrance: Int?

notary

Identity of the notary that ensures the state is not used as an input to a transaction more than once

val notary: Party