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

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>

inputs

open val inputs: List<StateRef>

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

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.

timeWindow

val timeWindow: TimeWindow?

Extension Functions

contextLogger

fun Any.contextLogger(): Logger

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