pub struct MerkleProof {
pub path: String,
pub node_hash: String,
pub sibling_hashes: Vec<String>,
pub root_hash: String,
}Expand description
Merkle proof for a specific tree node.
Fields§
§path: StringPath of the node being proven.
node_hash: StringHash of the node.
sibling_hashes: Vec<String>Sibling hashes along the path from node to root.
root_hash: StringExpected root hash.
Implementations§
Source§impl MerkleProof
impl MerkleProof
Sourcepub fn verify(&self) -> bool
pub fn verify(&self) -> bool
Structural validation (non-empty fields). For full cryptographic
verification use from_inclusion +
exo_resource_tree::MerkleInclusionProof::verify (WEFT-106).
Sourcepub fn from_inclusion(proof: &MerkleInclusionProof) -> Self
pub fn from_inclusion(proof: &MerkleInclusionProof) -> Self
Build a wire-format proof from a cryptographic inclusion proof.
Trait Implementations§
Source§impl Clone for MerkleProof
impl Clone for MerkleProof
Source§impl Debug for MerkleProof
impl Debug 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 UnsafeUnpin 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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