Struct pallet_mmr::NodesUtils
source · pub struct NodesUtils { /* private fields */ }
Expand description
MMR nodes & size -related utilities.
Implementations§
source§impl NodesUtils
impl NodesUtils
sourcepub fn new(no_of_leaves: u64) -> NodesUtils
pub fn new(no_of_leaves: u64) -> NodesUtils
Create new instance of MMR nodes utilities for given number of leaves.
sourcepub fn number_of_peaks(&self) -> u64
pub fn number_of_peaks(&self) -> u64
Calculate number of peaks in the MMR.
sourcepub fn number_of_leaves(&self) -> u64
pub fn number_of_leaves(&self) -> u64
Return the number of leaves in the MMR.
sourcepub fn leaf_index_that_added_node(node_index: u64) -> u64
pub fn leaf_index_that_added_node(node_index: u64) -> u64
Calculate LeafIndex
for the leaf that added node_index
to the MMR.
sourcepub fn right_branch_ending_in_leaf(leaf_index: u64) -> Vec<u64, Global>
pub fn right_branch_ending_in_leaf(leaf_index: u64) -> Vec<u64, Global>
Starting from any leaf index, get the sequence of positions of the nodes added to the mmr when this leaf was added (inclusive of the leaf’s position itself). That is, all of these nodes are right children of their respective parents.
Auto Trait Implementations§
impl RefUnwindSafe for NodesUtils
impl Send for NodesUtils
impl Sync for NodesUtils
impl Unpin for NodesUtils
impl UnwindSafe for NodesUtils
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
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, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.