Struct pallet_mmr::Module [−][src]
A public part of the pallet.
Implementations
impl<T: Config<I> + 'static, I: Instance> Module<T, I>
[src]
pub fn mmr_root_hash() -> <T as Config<I>>::Hash
[src]
Latest MMR Root hash.
pub fn mmr_leaves() -> u64
[src]
Current size of the MMR (number of leaves).
pub fn mmr_peak<K: EncodeLike<u64>>(key: K) -> Option<<T as Config<I>>::Hash>
[src]
Hashes of the nodes in the MMR.
Note this collection only contains MMR peaks, the inner nodes (and leaves) are pruned and only stored in the Offchain DB.
impl<T: Config<I>, I: Instance> Module<T, I>
[src]
pub fn generate_proof(
leaf_index: u64
) -> Result<(<<T as Config<I>>::LeafData as LeafDataProvider>::LeafData, Proof<<T as Config<I>>::Hash>), Error>
[src]
leaf_index: u64
) -> Result<(<<T as Config<I>>::LeafData as LeafDataProvider>::LeafData, Proof<<T as Config<I>>::Hash>), Error>
Generate a MMR proof for the given leaf_index
.
Note this method can only be used from an off-chain context (Offchain Worker or Runtime API call), since it requires all the leaves to be present. It may return an error or panic if used incorrectly.
pub fn verify_leaf(
leaf: <<T as Config<I>>::LeafData as LeafDataProvider>::LeafData,
proof: Proof<<T as Config<I>>::Hash>
) -> Result<(), Error>
[src]
leaf: <<T as Config<I>>::LeafData as LeafDataProvider>::LeafData,
proof: Proof<<T as Config<I>>::Hash>
) -> Result<(), Error>
Verify MMR proof for given leaf
.
This method is safe to use within the runtime code.
It will return Ok(())
if the proof is valid
and an Err(..)
if MMR is inconsistent (some leaves are missing)
or the proof is invalid.
Trait Implementations
impl<T: Config<I>, I: Instance> Callable<T> for Module<T, I>
[src]
impl<T: Clone + Config<I>, I: Clone + Instance> Clone for Module<T, I>
[src]
impl<T: Copy + Config<I>, I: Copy + Instance> Copy for Module<T, I>
[src]
impl<T: Config<I>, I: Instance> Debug for Module<T, I> where
T: Debug,
I: Debug,
[src]
T: Debug,
I: Debug,
impl<T: Eq + Config<I>, I: Eq + Instance> Eq for Module<T, I>
[src]
impl<T: Config<I>, I: Instance> GetPalletVersion for Module<T, I>
[src]
fn current_version() -> PalletVersion
[src]
fn storage_version() -> Option<PalletVersion>
[src]
impl<T: Config<I>, I: Instance> IntegrityTest for Module<T, I>
[src]
pub fn integrity_test()
[src]
impl<T: Config<I>, I: Instance> ModuleErrorMetadata for Module<T, I>
[src]
fn metadata() -> &'static [ErrorMetadata]
[src]
impl<T: Config + Config<I>, I: Instance> OffchainWorker<<T as Config>::BlockNumber> for Module<T, I>
[src]
pub fn offchain_worker(_n: BlockNumber)
[src]
impl<T: Config + Config<I>, I: Instance> OnFinalize<<T as Config>::BlockNumber> for Module<T, I>
[src]
pub fn on_finalize(_n: BlockNumber)
[src]
impl<T: Config<I>, I: Instance> OnGenesis for Module<T, I>
[src]
fn on_genesis()
[src]
impl<T: Config + Config<I>, I: Instance> OnInitialize<<T as Config>::BlockNumber> for Module<T, I>
[src]
fn on_initialize(n: T::BlockNumber) -> Weight
[src]
impl<T: Config<I>, I: Instance> OnRuntimeUpgrade for Module<T, I>
[src]
fn on_runtime_upgrade() -> Weight
[src]
impl<T: PartialEq + Config<I>, I: PartialEq + Instance> PartialEq<Module<T, I>> for Module<T, I>
[src]
impl<T: Config<I>, I: Instance> StructuralEq for Module<T, I>
[src]
impl<T: Config<I>, I: Instance> StructuralPartialEq for Module<T, I>
[src]
Auto Trait Implementations
impl<T, I> RefUnwindSafe for Module<T, I> where
I: RefUnwindSafe,
T: RefUnwindSafe,
[src]
I: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, I> Send for Module<T, I> where
I: Send,
T: Send,
[src]
I: Send,
T: Send,
impl<T, I> Sync for Module<T, I> where
I: Sync,
T: Sync,
[src]
I: Sync,
T: Sync,
impl<T, I> Unpin for Module<T, I> where
I: Unpin,
T: Unpin,
[src]
I: Unpin,
T: Unpin,
impl<T, I> UnwindSafe for Module<T, I> where
I: UnwindSafe,
T: UnwindSafe,
[src]
I: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
pub fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
pub fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> DynClone for T where
T: Clone,
[src]
T: Clone,
pub fn __clone_box(&self, Private) -> *mut ()
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsType<T> for T
[src]
pub fn from_ref(t: &T) -> &T
[src]
pub fn into_ref(&self) -> &T
[src]
pub fn from_mut(t: &mut T) -> &mut T
[src]
pub fn into_mut(&mut self) -> &mut T
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
pub fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
pub fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Member for T where
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
[src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Self: UniqueSaturatedInto<T>,
impl<T> Scalar for T where
T: PartialEq<T> + Copy + Any + Debug,
[src]
T: PartialEq<T> + Copy + Any + Debug,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
pub fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
T: Bounded,
S: TryInto<T>,
pub fn unique_saturated_into(self) -> T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,