corda / net.corda.core.transactions / TraversableTransaction

TraversableTransaction

abstract class TraversableTransaction : CoreTransaction

Implemented by WireTransaction and FilteredTransaction. A TraversableTransaction allows you to iterate over the flattened components of the underlying transaction structure, taking into account that some may be missing in the case of this representing a "torn" transaction. Please see the user guide section "Transaction tear-offs" to learn more about this feature.

Constructors

<init>

Old version of TraversableTransaction constructor for ABI compatibility.

TraversableTransaction(componentGroups: List<ComponentGroup>)

Implemented by WireTransaction and FilteredTransaction. A TraversableTransaction allows you to iterate over the flattened components of the underlying transaction structure, taking into account that some may be missing in the case of this representing a "torn" transaction. Please see the user guide section "Transaction tear-offs" to learn more about this feature.

TraversableTransaction(componentGroups: List<ComponentGroup>, digestService: DigestService)

Properties

attachments

Hashes of the ZIP/JAR files that are needed to interpret the contents of this wire transaction.

val attachments: List<SecureHash>

availableComponentGroups

Returns a list of all the component groups that are present in the transaction, excluding the privacySalt, in the following order (which is the same with the order in ComponentGroupEnum:

val availableComponentGroups: List<List<Any>>

commands

Ordered list of (CommandData, PublicKey) pairs that instruct the contracts what to do.

val commands: List<Command<*>>

componentGroups

open val componentGroups: List<ComponentGroup>

digestService

val digestService: DigestService

inputs

Pointers to the input states on the ledger, identified by (tx identity hash, output index).

open val inputs: List<StateRef>

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.

open 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.

open val notary: Party?

outputs

Ordered list of states defined by this transaction, along with the associated notaries.

open val outputs: List<TransactionState<ContractState>>

references

Pointers to reference states, identified by (tx identity hash, output index).

open val references: List<StateRef>

timeWindow

val timeWindow: TimeWindow?

Inheritors

FilteredTransaction

Class representing merkleized filtered transaction.

class FilteredTransaction : TraversableTransaction

WireTransaction

A transaction ready for serialisation, without any signatures attached. A WireTransaction is usually wrapped by a SignedTransaction that carries the signatures over this payload. The identity of the transaction is the Merkle tree root of its components (see MerkleTree).

class WireTransaction : TraversableTransaction