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>

TraversableTransaction(componentGroups: List<ComponentGroup>)

Old version of TraversableTransaction constructor for ABI compatibility.

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

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.

Properties

attachments

val attachments: List<SecureHash>

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

availableComponentGroups

val availableComponentGroups: List<List<Any>>

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:

commands

val commands: List<Command<*>>

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

componentGroups

open val componentGroups: List<ComponentGroup>

digestService

val digestService: DigestService

inputs

open val inputs: List<StateRef>

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

networkParametersHash

open val networkParametersHash: SecureHash?

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.

notary

open val notary: Party?

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.

outputs

open val outputs: List<TransactionState<ContractState>>

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

references

open val references: List<StateRef>

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

timeWindow

val timeWindow: TimeWindow?

Extension Functions

contextLogger

fun Any.contextLogger(): <ERROR CLASS>

When called from a companion object, returns the logger for the enclosing class.

Inheritors

FilteredTransaction

class FilteredTransaction : TraversableTransaction

Class representing merkleized filtered transaction.

WireTransaction

class WireTransaction : TraversableTransaction

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