StoredMerkleTree
Efficient MerkleTree with pre-built tree storage for O(log n) proof generation.
When to use StoredMerkleTree vs MerkleTree:
Use StoredMerkleTree when:
- Generating 2+ proofs from the same tree (35% gas savings for multiple proofs)
- Need consistent O(log n) performance for proof generation
Use regular MerkleTree when:
- Only generating 1 proof (70% less gas for single proof)
- Memory/storage is constrained
- Tree data changes frequently (StoredMerkleTree requires rebuilding)
Gas Comparison (8 leaves):
- Single proof: MerkleTree 96k gas vs StoredMerkleTree 165k gas
- Multiple proofs (4x): MerkleTree 378k gas vs StoredMerkleTree 247k gas (35% savings)
Fully qualified path: alexandria_merkle_tree::merkle_tree::StoredMerkleTree
[derive(Drop)]
pub struct StoredMerkleTree<T> { /* private fields */ }