com.r3corda.core.transactions

## Package com.r3corda.core.transactions

### Types

BaseTransaction | `abstract class BaseTransaction : NamedByHash` An abstract class defining fields shared by all transaction types in the system.
FilterFuns | `class FilterFuns` Holds filter functions on transactions fields. Functions are used to build a partial tree only out of some subset of original transaction fields.
FilteredLeaves | `class FilteredLeaves` Class that holds filtered leaves for a partial Merkle transaction. We assume mixed leaves types.
FilteredTransaction | `class FilteredTransaction` Class representing merkleized filtered transaction.
LedgerTransaction | `class LedgerTransaction : BaseTransaction` A LedgerTransaction is derived from a WireTransaction. It is the result of doing the following operations:
MerkleTree | `sealed class MerkleTree` Creation and verification of a Merkle Tree for a Wire Transaction.
SignedTransaction | `data class SignedTransaction : NamedByHash` SignedTransaction wraps a serialized WireTransaction. It contains one or more signatures, each one for a public key that is mentioned inside a transaction command. SignedTransaction is the top level transaction type and the type most frequently passed around the network and stored. The identity of a transaction is the hash of a WireTransaction, therefore if you are storing data keyed by WT hash be aware that multiple different STs may map to the same key (and they could be different in important ways, like validity). The signatures on a SignedTransaction might be invalid or missing: the type does not imply validity. A transaction ID should be the hash of the WireTransaction Merkle tree root. Thus adding or removing a signature does not change it.
TransactionBuilder | `open class TransactionBuilder` A TransactionBuilder is a transaction class thats mutable (unlike the others which are all immutable). It is intended to be passed around contracts that may edit it by adding new states/commands. Then once the states and commands are right, this class can be used as a holding bucket to gather signatures from multiple parties.
WireTransaction | `class WireTransaction : BaseTransaction` 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, its possible for two SignedTransactions with different sets of signatures to have the same identity hash.

### Functions

buildFilteredTransaction | `fun WireTransaction.buildFilteredTransaction(filterFuns: FilterFuns): FilteredTransaction` Build filtered transaction using provided filtering functions.
calculateLeavesHashes | `fun WireTransaction.calculateLeavesHashes(): List<SecureHash>` Calculation of all leaves hashes that are needed for calculation of transaction id and partial Merkle branches.
hashConcat | `fun SecureHash.hashConcat(other: SecureHash): <ERROR CLASS>`
serializedHash | `fun <T : Any> serializedHash(x: T): SecureHash`