abstract class BaseTransaction : NamedByHash
An abstract class defining fields shared by all transaction types in the system.
<init> |
BaseTransaction(inputs: List<*>, outputs: List<TransactionState<ContractState>>, notary: Party?, mustSign: List<CompositeKey>, type: TransactionType, timestamp: Timestamp?)
An abstract class defining fields shared by all transaction types in the system. |
inputs |
open val inputs: List<*>
The inputs of this transaction. Note that in BaseTransaction subclasses the type of this list may change! |
mustSign |
val mustSign: List<CompositeKey>
Composite keys that need to be fulfilled by signatures in order for the transaction to be valid.
In a SignedTransaction this list is used to check whether there are any missing signatures. Note that
there is nothing that forces the list to be the |
notary |
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 |
val outputs: List<TransactionState<ContractState>>
Ordered list of states defined by this transaction, along with the associated notaries. |
timestamp |
val timestamp: Timestamp?
If specified, a time window in which this transaction may have been notarised. Contracts can check this time window to find out when a transaction is deemed to have occurred, from the ledger's perspective. |
type |
val type: TransactionType
Pointer to a class that defines the behaviour of this transaction: either normal, or "notary changing". |
id |
abstract val id: SecureHash |
checkInvariants |
fun checkInvariants(): Unit |
equals |
open fun equals(other: Any?): Boolean |
hashCode |
open fun hashCode(): Int |
toString |
open fun toString(): String |
LedgerTransaction |
class LedgerTransaction : BaseTransaction
A LedgerTransaction is derived from a WireTransaction. It is the result of doing the following operations: |
WireTransaction |
class WireTransaction : BaseTransaction, 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 hash of the wire transaction is the identity of the transaction, that is, it's possible for two SignedTransactions with different sets of signatures to have the same identity hash. |