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 0b3eb5c1bb
commit 8e685432bb

View file

@ -14,10 +14,10 @@ use super::{
/// with empty nodes.
///
/// 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
/// memory this struct will use. This type calculates empty nodes on-demand when iterated through,
/// converted to a [MerklePath], or an empty node is retrieved with [`SparseMerklePath::at_idx()`]
/// or [`SparseMerklePath::at_depth()`], which will incur overhead.
/// maximum of 64 nodes (`SMT_MAX_DEPTH`) can be stored (empty and non-empty). The more nodes in a
/// path are empty, the less memory this struct will use. This type calculates empty nodes on-demand
/// when iterated through, converted to a [MerklePath], or an empty node is retrieved with
/// [`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.
/// Partial paths are not supported.