com.r3corda.core.contracts / LedgerTransaction

LedgerTransaction

data class LedgerTransaction : NamedByHash

A LedgerTransaction wraps the data needed to calculate one or more successor states from a set of input states. It is the first step after extraction from a WireTransaction. The signatures at this point have been lined up with the commands from the wire, and verified/looked up.

TODO: This class needs a bit more thought. Should inputs be fully resolved by this point too?





Constructors

<init> LedgerTransaction(inputs: List<StateRef>, outputs: List<TransactionState<*>>, commands: List<AuthenticatedObject<CommandData>>, attachments: List<Attachment>, id: SecureHash, signers: List<PublicKey>, type: TransactionType)

A LedgerTransaction wraps the data needed to calculate one or more successor states from a set of input states. It is the first step after extraction from a WireTransaction. The signatures at this point have been lined up with the commands from the wire, and verified/looked up.

Properties

attachments val attachments: List<Attachment>

A list of Attachment objects identified by the transaction that are needed for this transaction to verify.

commands val commands: List<AuthenticatedObject<CommandData>>

Arbitrary data passed to the program of each input state.

id val id: SecureHash

The hash of the original serialised WireTransaction

inputs val inputs: List<StateRef>

The input states which will be consumed/invalidated by the execution of this transaction.

outputs val outputs: List<TransactionState<*>>

The states that will be generated by the execution of this transaction.

signers val signers: List<PublicKey>
type val type: TransactionType

Functions

outRef fun <T : ContractState> outRef(index: Int): StateAndRef<T>