corda / net.corda.core.transactions / BaseTransaction

BaseTransaction

@DoNotImplement abstract class BaseTransaction : NamedByHash

An abstract class defining fields shared by all transaction types in the system.

Constructors

<init>

BaseTransaction()

An abstract class defining fields shared by all transaction types in the system.

Properties

inputs

abstract val inputs: List<*>

The inputs of this transaction. Note that in BaseTransaction subclasses the type of this list may change!

notary

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

outputStates

val outputStates: List<ContractState>

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

outputs

abstract val outputs: List<TransactionState<ContractState>>

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

references

abstract val references: List<*>

A list of reusable reference data states which can be referred to by other contracts in this transaction.

Inherited Properties

id

abstract val id: SecureHash

Functions

checkBaseInvariants

open fun checkBaseInvariants(): Unit

filterOutRefs

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

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

fun <T : ContractState> filterOutRefs(predicate: (T) -> Boolean): List<StateAndRef<T>>

filterOutputs

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

Helper to simplify filtering outputs according to a Predicate.

fun <T : ContractState> filterOutputs(predicate: (T) -> Boolean): List<T>

findOutRef

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

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

fun <T : ContractState> findOutRef(predicate: (T) -> Boolean): StateAndRef<T>

findOutput

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

Helper to simplify finding a single output matching a Predicate.

fun <T : ContractState> findOutput(predicate: (T) -> Boolean): T

getOutput

fun getOutput(index: Int): ContractState

Helper to simplify getting an indexed output.

outRef

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

Returns a StateAndRef for the given output index.

fun <T : ContractState> outRef(state: ContractState): StateAndRef<T>

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

outRefsOfType

fun <T : ContractState> outRefsOfType(clazz: Class<T>): List<StateAndRef<T>>

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

fun <T : ContractState> outRefsOfType(): List<StateAndRef<T>>

outputsOfType

fun <T : ContractState> outputsOfType(clazz: Class<T>): List<T>

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

fun <T : ContractState> outputsOfType(): List<T>

toString

open fun toString(): String

Extension Functions

contextLogger

fun Any.contextLogger(): Logger

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

Inheritors

CoreTransaction

abstract class CoreTransaction : BaseTransaction

A transaction with the minimal amount of information required to compute the unique transaction id, and resolve a FullTransaction. This type of transaction, wrapped in SignedTransaction, gets transferred across the wire and recorded to storage.

FullTransaction

abstract class FullTransaction : BaseTransaction

A transaction with fully resolved components, such as input states.