Crates.io | mpt_trie |
lib.rs | mpt_trie |
version | 0.4.1 |
source | src |
created_at | 2024-02-21 20:55:43.106475 |
updated_at | 2024-07-15 19:37:29.446823 |
description | Types and utility functions for building/working with partial Ethereum tries. |
homepage | https://github.com/0xPolygonZero/zk_evm |
repository | https://github.com/0xPolygonZero/zk_evm |
max_upload_size | |
id | 1148498 |
size | 253,192 |
Currently a WIP and not the most performant.
Types and functions to work with Ethereum partial tries, which are identical to the tries described in the Ethereum yellow paper with the exception that nodes that we do not care about are replaced with Hash
nodes. A Hash
node just contains the merkle hash of the node it replaces.
As a concrete example, we may only care about the storage touched by a given txn. If we wanted to generate a PartialTrie
for this, we would include the minimum number of nodes needed such that all of the storage addresses involved (leaves) are included in the partial trie. Since we may need to include Branch
nodes, branch children that are not relevant for any of the storage of the txn are replaced with Hash
nodes.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.