Struct sp_mmr_primitives::utils::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: LeafIndex) -> Self
pub fn new(no_of_leaves: LeafIndex) -> Self
Create new instance of MMR nodes utilities for given number of leaves.
sourcepub fn number_of_peaks(&self) -> NodeIndex
pub fn number_of_peaks(&self) -> NodeIndex
Calculate number of peaks in the MMR.
sourcepub fn number_of_leaves(&self) -> LeafIndex
pub fn number_of_leaves(&self) -> LeafIndex
Return the number of leaves in the MMR.
sourcepub fn leaf_index_that_added_node(node_index: NodeIndex) -> LeafIndex
pub fn leaf_index_that_added_node(node_index: NodeIndex) -> LeafIndex
Calculate LeafIndex
for the leaf that added node_index
to the MMR.
sourcepub fn right_branch_ending_in_leaf(leaf_index: LeafIndex) -> Vec<NodeIndex>
pub fn right_branch_ending_in_leaf(leaf_index: LeafIndex) -> Vec<NodeIndex>
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 moresource§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
.