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.
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)
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. |
val constraint: AttachmentConstraint
A validator for the contract attachments on the transaction. |
|
val contract: ContractClassName
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 data: T
The custom contract state |
|
val encumbrance: Int?
All contract states may be encumbered by up to one other state. |
|
val notary: Party
Identity of the notary that ensures the state is not used as an input to a transaction more than once |
fun Any.contextLogger(): <ERROR CLASS>
When called from a companion object, returns the logger for the enclosing class. |