Expand description
Commonly used types for trie usage.
Re-exports§
pub use target_v2::ChunkedMultiProofTargetsV2;pub use target_v2::MultiProofTargetsV2;pub use target_v2::ProofV2Target;pub use target_v2::ProofV2TargetParent;
Modules§
- hash_
builder - The implementation of hash builder. MPT hash builder implementation.
- ordered_
root - Incremental ordered trie root computation. Incremental ordered trie root computation for append-only streams.
- prefix_
set - The implementation of a container for storing intermediate changes to a trie. The container indicates when the trie has been modified.
- proof
- Re-export Proof verification logic.
- range_
proof - Merkle Patricia trie range-proof verification. Merkle Patricia trie range-proof verification.
- root
- Common root computation functions.
- serde_
bincode_ compat serde-bincode-compatandserde - Bincode-compatible serde implementations for trie types.
- target_
v2 - V2 proof targets and chunking. V2 proof targets and chunking.
- triehash
test-utils - Implementation of hasher using our keccak256 hashing function
for compatibility with
triehashcrate. - updates
- Buffer for trie updates.
Structs§
- Account
Proof - The merkle proof with the relevant account info.
- Branch
Node - Re-export A branch node in an Ethereum Merkle Patricia Trie.
- Branch
Node Compact - Re-export A struct representing a branch node in an Ethereum trie.
- Branch
Node Masks - Branch node masks containing
hash_maskandtree_mask. - Branch
Node Ref - Re-export A reference to BranchNode and its state mask. NOTE: The stack may contain more items that specified in the state mask.
- Branch
Node V2 - A branch node in an Ethereum Merkle Patricia Trie.
- Chunked
Hashed Post State - An iterator that yields chunks of the state updates of at most
sizeaccount and storage targets. - Chunked
Multi Proof Targets - An iterator that yields chunks of the proof targets of at most
sizeaccount and storage targets. - Decoded
Account Proof - The merkle proof with the relevant account info.
- Decoded
Multi Proof - This is a type of
MultiProofthat uses decoded proofs, meaning these proofs are stored as a collection ofTrieNodes instead of RLP-encoded bytes. - Decoded
Multi Proof V2 - V2 decoded multiproof which contains the results of both account and storage V2 proof calculations.
- Decoded
Storage Multi Proof - The decoded merkle multiproof for a storage trie.
- Decoded
Storage Proof - The merkle proof of the storage entry, using decoded proofs.
- Extension
Node - Re-export An extension node in an Ethereum Merkle Patricia Trie.
- Extension
Node Ref - Re-export Reference to the extension node. See ExtensionNode from more information.
- Hash
Builder - Re-export A component used to construct the root hash of the trie.
- Hashed
Post State - In-memory hashed state that stores account and storage changes with keccak256-hashed keys in hash maps.
- Hashed
Post State Sorted - Sorted hashed post state optimized for iterating during state trie calculation.
- Hashed
Storage - Representation of in-memory hashed storage.
- Hashed
Storage Sorted - Sorted hashed storage optimized for iterating during state trie calculation.
- Keccak
KeyHasher - A key hasher that uses the Keccak-256 hash function.
- Lazy
Trie Data - Lazily initialized trie data containing sorted hashed state and trie updates.
- Leaf
Node - Re-export A leaf node represents the endpoint or terminal node in the trie. In other words, a leaf node is where actual values are stored.
- Leaf
Node Ref - Re-export Reference to the leaf node. See LeafNode from more information.
- Multi
Proof - The state multiproof of target accounts and multiproofs of their storage tries. Multiproof is effectively a state subtrie that only contains the nodes in the paths of target accounts.
- Multi
Proof Targets - Proof targets map.
- Nibbles
- Structure representing a sequence of nibbles.
- Packed
Storage Trie Entry - Account storage trie node with packed nibble encoding (storage v2).
- Packed
Stored Nibbles - Packed representation of nibbles for the
AccountsTrie(storage v2). - Packed
Stored Nibbles SubKey - Packed representation of nibbles as a
DupSortsubkey forStoragesTrie(storage v2). - Proof
Trie Node - Carries all information needed by a sparse trie to reveal a particular node.
- Proof
Trie Node V2 - Carries all information needed by a sparse trie to reveal a particular node.
- RlpNode
- Re-export An RLP-encoded node.
- Sorted
Trie Data - Container for sorted trie data: hashed state and trie updates.
- Storage
Multi Proof - The merkle multiproof of storage trie.
- Storage
Proof - The merkle proof of the storage entry.
- Storage
Trie Entry - Account storage trie node.
- Stored
Nibbles - The representation of nibbles of the merkle trie stored in the database.
- Stored
Nibbles SubKey - The representation of nibbles of the merkle trie stored in the database.
- Stored
SubNode - Walker sub node for storing intermediate state root calculation state in the database.
- Trie
Account - Re-export for convenience. Represents an TrieAccount in the account trie.
- Trie
Input - Inputs for trie-related computations.
- Trie
Input Sorted - Sorted variant of
TrieInputfor efficient proof generation. - Trie
Mask - Re-export A struct representing a mask of 16 bits, used for Ethereum trie operations.
- Trie
Mask Iter - Re-export
An iterator over the set bit indices of a
TrieMask.
Enums§
- Execution
Witness Mode - Controls how execution witnesses are generated.
- Trie
Node - Re-export Enum representing an MPT trie node.
- Trie
Node V2 - Enum representing an MPT trie node.
Constants§
- CHILD_
INDEX_ RANGE - Re-export The range of valid child indexes.
- EMPTY_
ROOT_ HASH - Re-export Root hash of an empty trie.
- TRIE_
ACCOUNT_ RLP_ MAX_ SIZE - The maximum size of RLP encoded trie account in bytes. 2 (header) + 4 * 1 (field lens) + 8 (nonce) + 32 * 3 (balance, storage root, code hash)
Traits§
- KeyHasher
- Trait for hashing keys in state.
Functions§
- depth_
first_ cmp - Compares two
Nibblesin depth-first order. - encode_
path_ leaf - Re-export Encodes a given path leaf as a compact array of bytes.
- rlp_
node Deprecated - Re-export
Given an RLP-encoded node, returns it either as
rlp(node)orrlp(keccak(rlp(node))). - word_
rlp Deprecated - Re-export Optimization for quick RLP-encoding of a 32-byte word.
Type Aliases§
- Branch
Node Masks Map - Map from nibble path to branch node masks.