Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

StoredMerkleTreeTrait

StoredMerkleTree trait defining operations for efficient Merkle tree with pre-computed storage.

Fully qualified path: alexandria_merkle_tree::merkle_tree::StoredMerkleTreeTrait

pub trait StoredMerkleTreeTrait<T>

Trait functions

new

Create a new stored merkle tree instance from leaves. Pre-computes and stores all levels for efficient proof generation.

Arguments

  • leaves - Array of leaf values to build the tree from

Returns

  • StoredMerkleTree<T> - A new stored merkle tree with pre-computed levels

Fully qualified path: alexandria_merkle_tree::merkle_tree::StoredMerkleTreeTrait::new

fn new(leaves: Array<felt252>) -> StoredMerkleTree<T>

get_root

Get the merkle root of the stored tree.

Arguments

  • self - The stored merkle tree instance

Returns

  • felt252 - The merkle root hash

Fully qualified path: alexandria_merkle_tree::merkle_tree::StoredMerkleTreeTrait::get_root

fn get_root(ref self: StoredMerkleTree<T>) -> felt252

get_proof

Generate a merkle proof for a specific leaf at the given index. Efficient O(log n) operation using pre-stored tree levels.

Arguments

  • self - The stored merkle tree instance
  • index - The index of the leaf to generate proof for

Returns

  • Span<felt252> - Array of sibling hashes forming the merkle proof

Fully qualified path: alexandria_merkle_tree::merkle_tree::StoredMerkleTreeTrait::get_proof

fn get_proof(ref self: StoredMerkleTree<T>, index: u32) -> Span<felt252>

verify

Verify that a leaf belongs to the merkle tree.

Arguments

  • self - The stored merkle tree instance
  • leaf - The leaf value to verify
  • proof - Array of sibling hashes for verification path

Returns

  • bool - True if the leaf is valid, false otherwise

Fully qualified path: alexandria_merkle_tree::merkle_tree::StoredMerkleTreeTrait::verify

fn verify(ref self: StoredMerkleTree<T>, leaf: felt252, proof: Span<felt252>) -> bool

get_leaf_count

Get the number of leaves in the tree.

Arguments

  • self - The stored merkle tree instance

Returns

  • u32 - The number of leaves in the tree

Fully qualified path: alexandria_merkle_tree::merkle_tree::StoredMerkleTreeTrait::get_leaf_count

fn get_leaf_count(ref self: StoredMerkleTree<T>) -> u32