sealed class MerkleTree
Creation and verification of a Merkle tree for a WireTransaction.
See: https://en.wikipedia.org/wiki/Merkle_tree
Transaction is split into following blocks: inputs, attachments' refs, outputs, commands, notary, signers, tx type, time-window. Merkle Tree is kept in a recursive data structure. Building is done bottom up, from all leaves' hashes. If number of leaves is not a power of two, the tree is padded with zero hashes.
Leaf |
data class Leaf : MerkleTree |
Node |
data class Node : MerkleTree |
hash |
abstract val hash: SecureHash |
getMerkleTree |
fun getMerkleTree(allLeavesHashes: List<SecureHash>): MerkleTree
Merkle tree building using hashes, with zero hash padding to full power of 2. fun getMerkleTree(allLeavesHashes: List<SecureHash>, nodeDigestService: DigestService): MerkleTree |