clarify that SparseMerklePath can store up to SMT_MAX_DEPTH nodes total

This commit is contained in:
Grzegorz Świrski 2025-04-16 11:33:16 +02:00 committed by Qyriad
parent 56c00da446
commit 89e93e5a98

View file

@ -14,10 +14,10 @@ use super::{
/// with empty nodes. /// with empty nodes.
/// ///
/// Empty nodes in the path are stored only as their position, represented with a bitmask. A /// Empty nodes in the path are stored only as their position, represented with a bitmask. A
/// maximum of 64 nodes in the path can be empty. The more nodes in a path are empty, the less /// maximum of 64 nodes (`SMT_MAX_DEPTH`) can be stored (empty and non-empty). The more nodes in a
/// memory this struct will use. This type calculates empty nodes on-demand when iterated through, /// path are empty, the less memory this struct will use. This type calculates empty nodes on-demand
/// converted to a [MerklePath], or an empty node is retrieved with [`SparseMerklePath::at_idx()`] /// when iterated through, converted to a [MerklePath], or an empty node is retrieved with
/// or [`SparseMerklePath::at_depth()`], which will incur overhead. /// [`SparseMerklePath::at_idx()`] or [`SparseMerklePath::at_depth()`], which will incur overhead.
/// ///
/// NOTE: This type assumes that Merkle paths always span from the root of the tree to a leaf. /// NOTE: This type assumes that Merkle paths always span from the root of the tree to a leaf.
/// Partial paths are not supported. /// Partial paths are not supported.