Struct diem_sdk::types::proof::default_protocol::SparseMerkleProof [−][src]
pub struct SparseMerkleProof<V> { /* fields omitted */ }
Expand description
A proof that can be used to authenticate an element in a Sparse Merkle Tree given trusted root
hash. For example, TransactionInfoToAccountProof
can be constructed on top of this structure.
Implementations
pub fn new(
leaf: Option<SparseMerkleLeafNode>,
siblings: Vec<HashValue, Global>
) -> SparseMerkleProof<V>
pub fn new(
leaf: Option<SparseMerkleLeafNode>,
siblings: Vec<HashValue, Global>
) -> SparseMerkleProof<V>
Constructs a new SparseMerkleProof
using leaf and a list of siblings.
Returns the leaf node in this proof.
Returns the list of siblings in this proof.
If element_value
is present, verifies an element whose key is element_key
and value is
element_value
exists in the Sparse Merkle Tree using the provided proof. Otherwise
verifies the proof is a valid non-inclusion proof that shows this key doesn’t exist in the
tree.
Trait Implementations
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<SparseMerkleProof<V>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<SparseMerkleProof<V>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl<V> RefUnwindSafe for SparseMerkleProof<V> where
V: RefUnwindSafe,
impl<V> Send for SparseMerkleProof<V> where
V: Send,
impl<V> Sync for SparseMerkleProof<V> where
V: Sync,
impl<V> Unpin for SparseMerkleProof<V> where
V: Unpin,
impl<V> UnwindSafe for SparseMerkleProof<V> where
V: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Generates a hash used only for tests.
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more