Modules§
Structs§
- Child
- Each child of
InternalNodeencapsulates a nibble forking at this node. - Internal
Node - Represents a 4-level subtree with 16 children at the bottom level. Theoretically, this reduces IOPS to query a tree by 4x since we compress 4 levels in a standard Merkle tree into 1 node. Though we choose the same internal node structure as that of Patricia Merkle tree, the root hash computation logic is similar to a 4-level sparse Merkle tree except for some customizations.
- Jellyfish
Merkle Tree - The Jellyfish Merkle tree data structure. See
cratefor description. - JmtHash
Domain - A hashing domain instance
- LeafKey
- A leaf key (i.e. a complete nibble path).
- Leaf
KeyBit Iterator - An iterator over
LeafKeythat generates one bit for each iteration. - Leaf
KeyRef - A leaf key (i.e. a complete nibble path).
- Leaf
Node - Leaf node, capturing the value hash and carrying an arbitrary payload.
- Nibble
- Nibble
BitIterator - BitIterator iterates a nibble path by bit.
- Nibble
Iterator - NibbleIterator iterates a nibble path by nibble.
- Nibble
Path - NibblePath defines a path in Merkle tree in the unit of nibble (4 bits).
- NodeKey
- The unique key of each node.
- Sparse
Merkle Internal Node - Sparse
Merkle Leaf Node - Sparse
Merkle Proof - A proof that can be used to authenticate an element in a Sparse Merkle Tree given trusted root
hash. For example,
TransactionInfoToAccountProofcan be constructed on top of this structure. - Sparse
Merkle Proof Ext - A more detailed version of
SparseMerkleProofwith the only difference that all the leaf siblings are explicitly set asSparseMerkleLeafNodeinstead of its hash value. - Sparse
Merkle Range Proof - Note: this is not a range proof in the sense that a range of nodes is verified! Instead, it verifies the entire left part of the tree up to a known rightmost node. See the description below.
- Stale
Node Index - Indicates a node becomes stale since
stale_since_version. - Tree
Hash - Tree
Hash Size Error - Tree
Update Batch
Enums§
- JmtProof
Verify Error - JmtStorage
Error - Error originating from underlying storage failure / inconsistency.
- Node
- The concrete node type of [
JellyfishMerkleTree]. - Node
InProof - Node
Type - Stale
Tree Node - A part of a tree that may become stale (i.e. need eventual pruning).
- Tree
Node
Constants§
Traits§
- Iterated
Leaf Key - Peekable
- Tree
Store - Implementers are able to read and write nodes to a tree store.
- Tree
Store Reader - Implementers are able to read nodes from a tree store.
- Tree
Store Writer - Implementers are able to insert nodes to a tree store.