Struct merkle::Proof
[−]
[src]
pub struct Proof<T> {
pub algorithm: &'static Algorithm,
pub root_hash: Vec<u8>,
pub lemma: Lemma,
pub value: T,
}An inclusion proof represent the fact that a value is a member
of a MerkleTree with root hash root_hash, and hash function algorithm.
Fields
algorithm: &'static Algorithm
The hashing algorithm used in the original MerkleTree
root_hash: Vec<u8>
The hash of the root of the original MerkleTree
lemma: Lemma
The first Lemma of the Proof
value: T
The value concerned by this Proof
Methods
impl<T> Proof<T>[src]
fn new(
algo: &'static Algorithm,
root_hash: Vec<u8>,
lemma: Lemma,
value: T
) -> Self
algo: &'static Algorithm,
root_hash: Vec<u8>,
lemma: Lemma,
value: T
) -> Self
Constructs a new Proof
fn validate(&self, root_hash: &[u8]) -> bool
Checks whether this inclusion proof is well-formed,
and whether its root hash matches the given root_hash.
impl<T> Proof<T>[src]
fn from_protobuf(
algorithm: &'static Algorithm,
proto: ProofProto
) -> Option<Self> where
T: From<Vec<u8>>,
algorithm: &'static Algorithm,
proto: ProofProto
) -> Option<Self> where
T: From<Vec<u8>>,
Constructs a Proof struct from its Protobuf representation.
fn into_protobuf(self) -> ProofProto where
T: Into<Vec<u8>>,
T: Into<Vec<u8>>,
Encode this Proof to its Protobuf representation.
fn parse_from_bytes(
bytes: &[u8],
algorithm: &'static Algorithm
) -> ProtobufResult<Option<Self>> where
T: From<Vec<u8>>,
bytes: &[u8],
algorithm: &'static Algorithm
) -> ProtobufResult<Option<Self>> where
T: From<Vec<u8>>,
Parse a Proof from its Protobuf binary representation.
fn write_to_bytes(self) -> ProtobufResult<Vec<u8>> where
T: Into<Vec<u8>>,
T: Into<Vec<u8>>,
Serialize this Proof with Protobuf.
Trait Implementations
impl<T: Clone> Clone for Proof<T>[src]
fn clone(&self) -> Proof<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl<T: Debug> Debug for Proof<T>[src]
impl<T: PartialEq> PartialEq for Proof<T>[src]
fn eq(&self, other: &Proof<T>) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool1.0.0
This method tests for !=.
impl<T: Eq> Eq for Proof<T>[src]
impl<T: Ord> PartialOrd for Proof<T>[src]
fn partial_cmp(&self, other: &Proof<T>) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool1.0.0
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool1.0.0
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool1.0.0
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool1.0.0
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<T: Ord> Ord for Proof<T>[src]
fn cmp(&self, other: &Proof<T>) -> Ordering
This method returns an Ordering between self and other. Read more
fn max(self, other: Self) -> Self
ord_max_min)Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
ord_max_min)Compares and returns the minimum of two values. Read more