#[repr(C, align(8))]pub struct MerkleTree<const N: usize> { /* private fields */ }
Implementations§
Source§impl<const N: usize> MerkleTree<N>
impl<const N: usize> MerkleTree<N>
pub const fn get_depth(&self) -> u8
pub const fn get_size() -> usize
pub fn get_root(&self) -> Hash
pub fn get_empty_leaf(&self) -> Leaf
pub fn new(seeds: &[&[u8]]) -> Self
pub fn init(&mut self, seeds: &[&[u8]])
pub fn get_leaf_count(&self) -> u64
pub fn get_capacity(&self) -> u64
pub fn try_add(&mut self, data: &[&[u8]]) -> ProgramResult
pub fn try_add_leaf(&mut self, leaf: Leaf) -> ProgramResult
pub fn try_remove(&mut self, proof: &[Hash], data: &[&[u8]]) -> ProgramResult
pub fn try_remove_leaf(&mut self, proof: &[Hash], leaf: Leaf) -> ProgramResult
pub fn try_replace( &mut self, proof: &[Hash], original_data: &[&[u8]], new_data: &[&[u8]], ) -> ProgramResult
pub fn try_replace_leaf( &mut self, proof: &[Hash], original_leaf: Leaf, new_leaf: Leaf, ) -> ProgramResult
pub fn contains(&self, proof: &[Hash], data: &[&[u8]]) -> bool
pub fn contains_leaf(&self, proof: &[Hash], leaf: Leaf) -> bool
pub fn get_merkle_proof(&self, leaves: &[Leaf], leaf_index: usize) -> Vec<Hash>
Trait Implementations§
Source§impl<const N: usize> Clone for MerkleTree<N>
impl<const N: usize> Clone for MerkleTree<N>
Source§fn clone(&self) -> MerkleTree<N>
fn clone(&self) -> MerkleTree<N>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<const N: usize> Debug for MerkleTree<N>
impl<const N: usize> Debug for MerkleTree<N>
Source§impl<const N: usize> PartialEq for MerkleTree<N>
impl<const N: usize> PartialEq for MerkleTree<N>
Source§impl<const N: usize> Zeroable for MerkleTree<N>
impl<const N: usize> Zeroable for MerkleTree<N>
impl<const N: usize> Copy for MerkleTree<N>
impl<const N: usize> Pod for MerkleTree<N>
impl<const N: usize> StructuralPartialEq for MerkleTree<N>
Auto Trait Implementations§
impl<const N: usize> Freeze for MerkleTree<N>
impl<const N: usize> RefUnwindSafe for MerkleTree<N>
impl<const N: usize> Send for MerkleTree<N>
impl<const N: usize> Sync for MerkleTree<N>
impl<const N: usize> Unpin for MerkleTree<N>
impl<const N: usize> UnwindSafe for MerkleTree<N>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self
.