Closed jyc228 closed 6 months ago
The recent modifications enhance the trie data structure by introducing a new data
field in the leaf node iterator, refining the handling of node data in the trie. It also establishes a framework for iterator key management, facilitating the conversion between bytes and iterator keys. Additionally, the updates improve the interaction with tree paths by adding functions for creating and converting paths using big integers, ensuring more versatile and efficient tree navigation and data management.
Files | Change Summary |
---|---|
trie/iterator.go |
Introduced a new data field in merkleTreeIteratorLeafNode , replacing blob in some contexts. Adjusted blob and data handling in zkMerkleTreeNodeBlobFunctions and zktrieNodeBlobFunctions . LeafBlob method now returns data ; LeafProof retrieves Blob instead of Hash . |
trie/iterator_key.go |
Added functionality for defining an iterator key and managing key <-> iterator key conversion for trie structures. |
trie/zk/tree_path.go |
Implemented NewTreePathFromHashBig and NewTreePathFromBig for creating tree paths from *big.Int . Added ToBigInt method for converting a TreePath to a *big.Int . |
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
The https://github.com/kroma-network/go-ethereum/issues/71 issue was resolved in the snapsync commit, but it was decided to separate it from snapsync.
Summary by CodeRabbit
data
field for improved efficiency and accuracy.