pub struct ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash> {
pub consensus_block_number: CBlockNumber,
pub consensus_block_hash: CBlockHash,
pub opaque_mmr_leaf: EncodableOpaqueLeaf,
pub proof: LeafProof<MmrHash>,
}
Expand description
Consensus chain MMR leaf and its Proof at specific block.
The verifier is not required to contains any the MMR offchain data but this proof
will be expired after N
blocks where N
is the number of MMR root stored in the
Fields§
§consensus_block_number: CBlockNumber
Consensus block info from which this proof was generated.
consensus_block_hash: CBlockHash
§opaque_mmr_leaf: EncodableOpaqueLeaf
Encoded MMR leaf
proof: LeafProof<MmrHash>
MMR proof for the leaf above.
Trait Implementations§
source§impl<CBlockNumber: Clone, CBlockHash: Clone, MmrHash: Clone> Clone for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
impl<CBlockNumber: Clone, CBlockHash: Clone, MmrHash: Clone> Clone for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
source§fn clone(&self) -> ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
fn clone(&self) -> ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
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<CBlockNumber: Debug, CBlockHash: Debug, MmrHash: Debug> Debug for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
impl<CBlockNumber: Debug, CBlockHash: Debug, MmrHash: Debug> Debug for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
source§impl<CBlockNumber, CBlockHash, MmrHash> Decode for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>where
CBlockNumber: Decode,
CBlockHash: Decode,
MmrProof<MmrHash>: Decode,
impl<CBlockNumber, CBlockHash, MmrHash> Decode for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>where
CBlockNumber: Decode,
CBlockHash: Decode,
MmrProof<MmrHash>: Decode,
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Attempt to deserialise the value from input.
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
Attempt to skip the encoded value from input. Read more
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
source§impl<CBlockNumber, CBlockHash, MmrHash> Encode for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>where
CBlockNumber: Encode,
CBlockHash: Encode,
MmrProof<MmrHash>: Encode,
impl<CBlockNumber, CBlockHash, MmrHash> Encode for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>where
CBlockNumber: Encode,
CBlockHash: Encode,
MmrProof<MmrHash>: Encode,
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Convert self to a slice and append it to the destination.
§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
source§impl<CBlockNumber: PartialEq, CBlockHash: PartialEq, MmrHash: PartialEq> PartialEq for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
impl<CBlockNumber: PartialEq, CBlockHash: PartialEq, MmrHash: PartialEq> PartialEq for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
source§fn eq(
&self,
other: &ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>,
) -> bool
fn eq( &self, other: &ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>, ) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.source§impl<CBlockNumber, CBlockHash, MmrHash> TypeInfo for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>where
CBlockNumber: TypeInfo + 'static,
CBlockHash: TypeInfo + 'static,
MmrProof<MmrHash>: TypeInfo + 'static,
MmrHash: TypeInfo + 'static,
impl<CBlockNumber, CBlockHash, MmrHash> TypeInfo for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>where
CBlockNumber: TypeInfo + 'static,
CBlockHash: TypeInfo + 'static,
MmrProof<MmrHash>: TypeInfo + 'static,
MmrHash: TypeInfo + 'static,
impl<CBlockNumber, CBlockHash, MmrHash> EncodeLike for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>where
CBlockNumber: Encode,
CBlockHash: Encode,
MmrProof<MmrHash>: Encode,
impl<CBlockNumber: Eq, CBlockHash: Eq, MmrHash: Eq> Eq for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
impl<CBlockNumber, CBlockHash, MmrHash> StructuralPartialEq for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
Auto Trait Implementations§
impl<CBlockNumber, CBlockHash, MmrHash> Freeze for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
impl<CBlockNumber, CBlockHash, MmrHash> RefUnwindSafe for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
impl<CBlockNumber, CBlockHash, MmrHash> Send for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
impl<CBlockNumber, CBlockHash, MmrHash> Sync for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
impl<CBlockNumber, CBlockHash, MmrHash> Unpin for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
impl<CBlockNumber, CBlockHash, MmrHash> UnwindSafe for ConsensusChainMmrLeafProof<CBlockNumber, CBlockHash, MmrHash>
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
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere
T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Decode
Self
and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
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.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> FullLeaf for T
impl<T> FullLeaf for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere
T: Codec,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§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<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.