pub struct MerkleTree<StorageType> { /* private fields */ }
Expand description

The Binary Merkle Sum Tree is an extension to the existing Binary MerkleTree. A node (leaf or internal node) in the tree is defined as having:

  • a fee (u64, 8 bytes)
  • a digest (array of bytes)

Therefore, a node’s data is now a data pair formed by (fee, digest). The data pair of a node with two or more leaves is defined as:

(left.fee + right.fee, hash(0x01 ++ left.fee ++ left.digest ++ right.fee ++ right.digest))

This is in contrast to the Binary Merkle Tree node, where a node has only a digest.

See the specification for more details.

Details

When joining subtrees a and b, the joined subtree is now defined as:

fee: a.fee + b.fee data: node_sum(a.fee, a.data, b.fee, b.data)

where node_sum is defined as the hash function described in the data pair description above.

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.