corda / net.corda.core.transactions / FullTransaction

FullTransaction

abstract class FullTransaction : BaseTransaction

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

Constructors

<init>

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

FullTransaction()

Properties

inputs

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

abstract val inputs: List<StateAndRef<ContractState>>

networkParameters

Network parameters that were in force when this transaction was created. Resolved from the hash of network parameters on the corresponding wire transaction.

abstract val networkParameters: NetworkParameters?

references

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

abstract val references: List<StateAndRef<ContractState>>

Functions

checkBaseInvariants

open fun checkBaseInvariants(): Unit

checkNotaryWhitelisted

Make sure the assigned notary is part of the network parameter whitelist.

fun checkNotaryWhitelisted(): Unit

Inheritors

ContractUpgradeLedgerTransaction

A contract upgrade transaction with fully resolved inputs and signatures. Contract upgrade transactions are separate to regular transactions because their validation logic is specialised; the original contract by definition cannot be aware of the upgraded contract (it was written after the original contract was developed), so its validation logic cannot succeed. Instead alternative verification logic is used which verifies that the outputs correspond to the inputs after upgrading.

class ContractUpgradeLedgerTransaction : FullTransaction, TransactionWithSignatures

LedgerTransaction

A LedgerTransaction is derived from a WireTransaction. It is the result of doing the following operations:

class LedgerTransaction : FullTransaction

NotaryChangeLedgerTransaction

A notary change transaction with fully resolved inputs and signatures. In contrast with a regular transaction, signatures are checked against the signers specified by input states' participants fields, so full resolution is needed for signature verification.

class NotaryChangeLedgerTransaction : FullTransaction, TransactionWithSignatures