pub struct MerkleProof {
pub leaf_index: usize,
pub leaf_count: usize,
pub siblings: Vec<MtHash>,
}Fields§
§leaf_index: usizeIndex of the leaf being proven
leaf_count: usizeTotal number of leaves in the tree
siblings: Vec<MtHash>The path of sibling chaining values (bottom-up order).
Implementations§
Source§impl MerkleProof
impl MerkleProof
pub fn new(leaf_index: usize, leaf_count: usize, siblings: Vec<MtHash>) -> Self
Sourcepub fn verify<S>(
&self,
root: &MtHash,
column_values: &[S],
leaf_index: usize,
) -> Result<(), MerkleError>where
S: ConstTranscribable,
pub fn verify<S>(
&self,
root: &MtHash,
column_values: &[S],
leaf_index: usize,
) -> Result<(), MerkleError>where
S: ConstTranscribable,
Verifies the proof against a known root hash and the claimed element data.
Sourcepub fn estimate_transcribed_size(merkle_tree_height: usize) -> usize
pub fn estimate_transcribed_size(merkle_tree_height: usize) -> usize
Estimate the number of bytes that would be written to [[PcsTranscript]] when an instance of this type is transcribed.
Trait Implementations§
Source§impl Clone for MerkleProof
impl Clone for MerkleProof
Source§fn clone(&self) -> MerkleProof
fn clone(&self) -> MerkleProof
Returns a duplicate 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 Debug for MerkleProof
impl Debug for MerkleProof
Source§impl Display for MerkleProof
impl Display for MerkleProof
Source§impl PartialEq for MerkleProof
impl PartialEq for MerkleProof
impl Eq for MerkleProof
impl StructuralPartialEq for MerkleProof
Auto Trait Implementations§
impl Freeze for MerkleProof
impl RefUnwindSafe for MerkleProof
impl Send for MerkleProof
impl Sync for MerkleProof
impl Unpin for MerkleProof
impl UnsafeUnpin for MerkleProof
impl UnwindSafe for MerkleProof
Blanket Implementations§
§impl<T> AsMaybeUninit for T
impl<T> AsMaybeUninit for T
§type Uninit = MaybeUninit<T>
type Uninit = MaybeUninit<T>
This type in its maybe-uninitialized form.
§fn as_ref_uninit(&self) -> &<T as AsMaybeUninit>::Uninit
fn as_ref_uninit(&self) -> &<T as AsMaybeUninit>::Uninit
Converts a
&self to its maybe-initialized equivalent.§unsafe fn as_mut_uninit(&mut self) -> &mut <T as AsMaybeUninit>::Uninit
unsafe fn as_mut_uninit(&mut self) -> &mut <T as AsMaybeUninit>::Uninit
Converts a
&mut T to its maybe-initialized equivalent. Read more§unsafe fn raw_as_uninit<'a>(raw: *const T) -> &'a <T as AsMaybeUninit>::Uninit
unsafe fn raw_as_uninit<'a>(raw: *const T) -> &'a <T as AsMaybeUninit>::Uninit
Converts a raw pointer to a reference to maybe-uninit. Read more
§unsafe fn raw_mut_as_uninit<'a>(
raw: *mut T,
) -> &'a mut <T as AsMaybeUninit>::Uninit
unsafe fn raw_mut_as_uninit<'a>( raw: *mut T, ) -> &'a mut <T as AsMaybeUninit>::Uninit
Converts a raw mutable pointer to a mutable reference to maybe-uninit. Read more
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more