pub struct IndexedMerkleProof { /* private fields */ }Expand description
A Merkle proof of the given chunk.
Implementations§
Source§impl IndexedMerkleProof
impl IndexedMerkleProof
Sourcepub fn new<I>(
leaves: I,
index: u64,
) -> Result<IndexedMerkleProof, MerkleConstructionError>
pub fn new<I>( leaves: I, index: u64, ) -> Result<IndexedMerkleProof, MerkleConstructionError>
Attempts to construct a new instance.
Sourcepub fn root_hash(&self) -> Digest
pub fn root_hash(&self) -> Digest
Returns the root hash of this proof (i.e. the index hashed with the Merkle root hash).
Note that with the once_cell feature enabled (generally done by enabling the std
feature), the root hash is memoized, and hence calling this method is cheap after the first
call. Without once_cell enabled, every call to this method calculates the root hash.
Sourcepub fn merkle_proof(&self) -> &[Digest]
pub fn merkle_proof(&self) -> &[Digest]
Returns the full collection of hash digests of the proof.
Sourcepub fn verify(&self) -> Result<(), MerkleVerificationError>
pub fn verify(&self) -> Result<(), MerkleVerificationError>
Attempts to verify self.
Trait Implementations§
Source§impl Clone for IndexedMerkleProof
impl Clone for IndexedMerkleProof
Source§fn clone(&self) -> IndexedMerkleProof
fn clone(&self) -> IndexedMerkleProof
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 DataSize for IndexedMerkleProof
impl DataSize for IndexedMerkleProof
Source§const IS_DYNAMIC: bool = true
const IS_DYNAMIC: bool = true
If
true, the type has a heap size that can vary at runtime, depending on the actual value.Source§const STATIC_HEAP_SIZE: usize = 0usize
const STATIC_HEAP_SIZE: usize = 0usize
The amount of space a value of the type always occupies. If
IS_DYNAMIC is false, this is
the total amount of heap memory occupied by the value. Otherwise this is a lower bound.Source§fn estimate_heap_size(&self) -> usize
fn estimate_heap_size(&self) -> usize
Estimates the size of heap memory taken up by this value. Read more
Source§impl Debug for IndexedMerkleProof
impl Debug for IndexedMerkleProof
Source§impl<'de> Deserialize<'de> for IndexedMerkleProof
impl<'de> Deserialize<'de> for IndexedMerkleProof
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
Source§impl FromBytes for IndexedMerkleProof
impl FromBytes for IndexedMerkleProof
Source§impl JsonSchema for IndexedMerkleProof
impl JsonSchema for IndexedMerkleProof
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for IndexedMerkleProof
impl PartialEq for IndexedMerkleProof
Source§impl Serialize for IndexedMerkleProof
impl Serialize for IndexedMerkleProof
Source§impl ToBytes for IndexedMerkleProof
impl ToBytes for IndexedMerkleProof
Source§fn serialized_length(&self) -> usize
fn serialized_length(&self) -> usize
Returns the length of the
Vec<u8> which would be returned from a successful call to
to_bytes() or into_bytes(). The data is not actually serialized, so this call is
relatively cheap.impl Eq for IndexedMerkleProof
impl StructuralPartialEq for IndexedMerkleProof
Auto Trait Implementations§
impl !Freeze for IndexedMerkleProof
impl RefUnwindSafe for IndexedMerkleProof
impl Send for IndexedMerkleProof
impl Sync for IndexedMerkleProof
impl Unpin for IndexedMerkleProof
impl UnwindSafe for IndexedMerkleProof
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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