Struct tlsn_core::merkle::MerkleProof
source · pub struct MerkleProof { /* private fields */ }
Expand description
A Merkle proof.
Implementations§
source§impl MerkleProof
impl MerkleProof
sourcepub fn verify(
&self,
root: &MerkleRoot,
leaf_indices: &[usize],
leaf_hashes: &[Hash],
) -> Result<(), MerkleError>
pub fn verify( &self, root: &MerkleRoot, leaf_indices: &[usize], leaf_hashes: &[Hash], ) -> Result<(), MerkleError>
Checks if indices, hashes and leaves count are valid for the provided root
§Panics
- If the length of
leaf_indices
andleaf_hashes
does not match. - If
leaf_indices
contains duplicates.
Trait Implementations§
source§impl Clone for MerkleProof
impl Clone for MerkleProof
source§impl<'de> Deserialize<'de> for MerkleProof
impl<'de> Deserialize<'de> for MerkleProof
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for MerkleProof
impl RefUnwindSafe for MerkleProof
impl Send for MerkleProof
impl Sync for MerkleProof
impl Unpin for MerkleProof
impl UnwindSafe for MerkleProof
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
§impl<T> HashCommit for Twhere
T: Serialize,
impl<T> HashCommit for Twhere
T: Serialize,
§fn hash_commit(self) -> (Decommitment<Self>, Hash)
fn hash_commit(self) -> (Decommitment<Self>, Hash)
Creates a hash commitment to self
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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