interface TraversableTransaction
Interface implemented by WireTransaction and FilteredLeaves. Property traversableList assures that we always calculate hashes in the same order, lets us define which fields of WireTransaction will be included in id calculation or partial merkle tree building.
attachments |
abstract val attachments: List<SecureHash> |
commands |
abstract val commands: List<Command> |
inputs |
abstract val inputs: List<StateRef> |
mustSign |
abstract val mustSign: List<CompositeKey> |
notary |
abstract val notary: Party? |
outputs |
abstract val outputs: List<TransactionState<ContractState>> |
timestamp |
abstract val timestamp: Timestamp? |
traversableList |
open val traversableList: List<Any>
Traversing transaction fields with a list function over transaction contents. Used for leaves hashes calculation and user provided filtering and checking of filtered transaction. |
type |
abstract val type: TransactionType? |
calculateLeavesHashes |
open fun calculateLeavesHashes(): List<SecureHash> |
FilteredLeaves |
class FilteredLeaves : TraversableTransaction
Class that holds filtered leaves for a partial Merkle transaction. We assume mixed leaf types, notice that every field from WireTransaction can be used in PartialMerkleTree calculation. |
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. |