spl_concurrent_merkle_tree/
path.rs

1use crate::node::Node;
2
3/// Represents a proof to perform a Merkle tree operation on the leaf at `index`
4#[derive(Copy, Clone, Debug, PartialEq, Eq)]
5#[repr(C)]
6pub struct Path<const MAX_DEPTH: usize> {
7    pub proof: [Node; MAX_DEPTH],
8    pub leaf: Node,
9    pub index: u32,
10    pub _padding: u32,
11}
12
13impl<const MAX_DEPTH: usize> Default for Path<MAX_DEPTH> {
14    fn default() -> Self {
15        Self {
16            proof: [Node::default(); MAX_DEPTH],
17            leaf: Node::default(),
18            index: 0,
19            _padding: 0,
20        }
21    }
22}