TraversableTransaction

abstract class TraversableTransaction(val componentGroups: List<ComponentGroup>, val digestService: DigestService) : 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.

Inheritors

Constructors

Link copied to clipboard
constructor(componentGroups: List<ComponentGroup>)

Old version of TraversableTransaction constructor for ABI compatibility.

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

Properties

Link copied to clipboard

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

Link copied to clipboard

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:

Link copied to clipboard

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

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract val id: SecureHash
Link copied to clipboard
open override val inputs: List<StateRef>

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

Link copied to clipboard

Returns the attachments compatible with 4.11 and earlier. This may be empty, which means this transaction cannot be verified by a 4.11 node. On 4.12 and later these attachments are ignored.

Link copied to clipboard
open override 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.

Link copied to clipboard
open override 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.

Link copied to clipboard

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

Link copied to clipboard

Helper property to return a list of ContractState objects, rather than the often less convenient TransactionState

Link copied to clipboard
open override val references: List<StateRef>

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

Link copied to clipboard

Functions

Link copied to clipboard
inline fun <T : ContractState> filterOutputs(crossinline predicate: (T) -> Boolean): List<T>

fun <T : ContractState> filterOutputs(clazz: Class<T>, predicate: Predicate<T>): List<T>

Helper to simplify filtering outputs according to a Predicate.

Link copied to clipboard
inline fun <T : ContractState> filterOutRefs(crossinline predicate: (T) -> Boolean): List<StateAndRef<T>>

fun <T : ContractState> filterOutRefs(clazz: Class<T>, predicate: Predicate<T>): List<StateAndRef<T>>

Helper to simplify filtering output StateAndRef items according to a Predicate.

Link copied to clipboard
inline fun <T : ContractState> findOutput(crossinline predicate: (T) -> Boolean): T

fun <T : ContractState> findOutput(clazz: Class<T>, predicate: Predicate<T>): T

Helper to simplify finding a single output matching a Predicate.

Link copied to clipboard
inline fun <T : ContractState> findOutRef(crossinline predicate: (T) -> Boolean): StateAndRef<T>

fun <T : ContractState> findOutRef(clazz: Class<T>, predicate: Predicate<T>): StateAndRef<T>

Helper to simplify finding a single output StateAndRef matching a Predicate.

Link copied to clipboard

Helper to simplify getting an indexed output.

Link copied to clipboard
inline fun <T : ContractState> outputsOfType(): List<T>

Helper to simplify getting all output states of a particular class, interface, or base class.

Link copied to clipboard

Returns a StateAndRef for the given output index.

Returns a StateAndRef for the requested output state, or throws IllegalArgumentException if not found.

Link copied to clipboard

Helper to simplify getting all output StateAndRef items of a particular state class, interface, or base class.

Link copied to clipboard
Link copied to clipboard
open override fun toString(): String