For the complete documentation index, see llms.txt. This page is also available as Markdown.

Merkle Proof

Allows users to verify Merkle Tree proofs. It is based on the OZ implementation. The tree and the proofs can be generated using https://github.com/merkletreejs/merkletreejs.

Interface

verify

Returns true if a leaf can be proved to be a part of a Merkle tree defined by root.

public fun verify(
    proof: &vector<vector<u8>>,
    root: vector<u8>,
    leaf: vector<u8>
  ): bool
  • @param proof: The Merkle proof.

  • @param root: The root of Merkle Tree.

  • @param leaf: The leaf we wish to prove if it is part of the tree.

  • @return bool. If it is part of the Merkle tree.

verify_with_index

Returns true if a leaf can be proved to be a part of a Merkle tree defined by root. For this, a proof must be provided, containing sibling hashes on the branch from the leaf to the root of the tree. Each pair of leaves and each pair of pre-images are assumed to be sorted.

  • @param proof: The Merkle proof.

  • @param root: The root of Merkle Tree.

  • @param leaf: The leaf we wish to prove if it is part of the tree.

  • @return bool. If it is part of the Merkle tree.

  • @return u256. The index of the leaf.

Last updated