Struct ergo_merkle_tree::MerkleProof
source · [−]pub struct MerkleProof { /* private fields */ }
Expand description
A MerkleProof type. Given leaf data and levels (bottom-upwards), the root hash can be computed and validated
Implementations
sourceimpl MerkleProof
impl MerkleProof
sourcepub fn new(
leaf_data: &[u8],
levels: &[LevelNode]
) -> Result<Self, TryFromSliceError>
pub fn new(
leaf_data: &[u8],
levels: &[LevelNode]
) -> Result<Self, TryFromSliceError>
Creates a new merkle proof with given leaf data and level data (bottom-upwards)
You can verify it against a Blakeb256 root hash by using Self::valid()
sourcepub fn valid(&self, expected_root: &[u8]) -> bool
pub fn valid(&self, expected_root: &[u8]) -> bool
Validates the Merkle Proof against the expected root hash
sourcepub fn valid_base16(&self, expected_root: &str) -> Result<bool, DecodeError>
pub fn valid_base16(&self, expected_root: &str) -> Result<bool, DecodeError>
Validates the MerkleProof against a base16 hash
Trait Implementations
sourceimpl Clone for MerkleProof
impl Clone for MerkleProof
sourcefn clone(&self) -> MerkleProof
fn clone(&self) -> MerkleProof
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for MerkleProof
impl Debug for MerkleProof
sourceimpl<'de> Deserialize<'de> for MerkleProof
impl<'de> Deserialize<'de> for MerkleProof
sourcefn 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
sourceimpl Serialize for MerkleProof
impl Serialize for MerkleProof
Auto Trait Implementations
impl RefUnwindSafe for MerkleProof
impl Send for MerkleProof
impl Sync for MerkleProof
impl Unpin for MerkleProof
impl UnwindSafe for MerkleProof
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more