pub struct MmrLeafIndexToMtIndexAndPeakIndex;
Expand description
Compute both, merkle tree and peak index, for the given leaf index in an MMR with the given number of leafs. See also.
§Behavior
BEFORE: _ [num_leafs: u64] [leaf_index: u64]
AFTER: _ [merkle_tree_index: 64] [peak_index: u32]
§Preconditions
- the
leaf_index
is smaller thannum_leafs
- all input arguments are properly
BFieldCodec
encoded
§Postconditions
- all output arguments are properly
BFieldCodec
encoded
Implementations§
Source§impl MmrLeafIndexToMtIndexAndPeakIndex
impl MmrLeafIndexToMtIndexAndPeakIndex
pub const LEAF_INDEX_GE_NUM_LEAFS_ERROR_ID: i128 = 350i128
Trait Implementations§
Source§impl BasicSnippet for MmrLeafIndexToMtIndexAndPeakIndex
impl BasicSnippet for MmrLeafIndexToMtIndexAndPeakIndex
fn inputs(&self) -> Vec<(DataType, String)>
fn outputs(&self) -> Vec<(DataType, String)>
fn entrypoint(&self) -> String
fn code(&self, library: &mut Library) -> Vec<LabelledInstruction>
Source§fn sign_offs(&self) -> HashMap<Reviewer, SignOffFingerprint>
fn sign_offs(&self) -> HashMap<Reviewer, SignOffFingerprint>
Contains an entry for every sign off. Read more
fn annotated_code(&self, library: &mut Library) -> Vec<LabelledInstruction>
fn link_for_isolated_run(&self) -> Vec<LabelledInstruction>
Source§fn init_stack_for_isolated_run(&self) -> Vec<BFieldElement>
fn init_stack_for_isolated_run(&self) -> Vec<BFieldElement>
Initial stack on program start, when the snippet runs in isolation.
fn stack_diff(&self) -> isize
Source§impl Clone for MmrLeafIndexToMtIndexAndPeakIndex
impl Clone for MmrLeafIndexToMtIndexAndPeakIndex
Source§fn clone(&self) -> MmrLeafIndexToMtIndexAndPeakIndex
fn clone(&self) -> MmrLeafIndexToMtIndexAndPeakIndex
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl PartialEq for MmrLeafIndexToMtIndexAndPeakIndex
impl PartialEq for MmrLeafIndexToMtIndexAndPeakIndex
Source§fn eq(&self, other: &MmrLeafIndexToMtIndexAndPeakIndex) -> bool
fn eq(&self, other: &MmrLeafIndexToMtIndexAndPeakIndex) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl Copy for MmrLeafIndexToMtIndexAndPeakIndex
impl Eq for MmrLeafIndexToMtIndexAndPeakIndex
impl StructuralPartialEq for MmrLeafIndexToMtIndexAndPeakIndex
Auto Trait Implementations§
impl Freeze for MmrLeafIndexToMtIndexAndPeakIndex
impl RefUnwindSafe for MmrLeafIndexToMtIndexAndPeakIndex
impl Send for MmrLeafIndexToMtIndexAndPeakIndex
impl Sync for MmrLeafIndexToMtIndexAndPeakIndex
impl Unpin for MmrLeafIndexToMtIndexAndPeakIndex
impl UnwindSafe for MmrLeafIndexToMtIndexAndPeakIndex
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SignedOffSnippet for Twhere
T: BasicSnippet + ?Sized,
impl<T> SignedOffSnippet for Twhere
T: BasicSnippet + ?Sized,
Source§fn fingerprint(&self) -> SignOffFingerprint
fn fingerprint(&self) -> SignOffFingerprint
The unique fingerprint as used for signing off on
this snippet.
Source§fn assert_all_sign_offs_are_up_to_date(&self)
fn assert_all_sign_offs_are_up_to_date(&self)
Panics if any sign-offs disagree with the actual
fingerprint.