Struct sp_beefy::mmr::BeefyAuthoritySet
source · pub struct BeefyAuthoritySet<MerkleRoot> {
pub id: ValidatorSetId,
pub len: u32,
pub root: MerkleRoot,
}
Expand description
Details of a BEEFY authority set.
Fields§
§id: ValidatorSetId
Id of the set.
Id is required to correlate BEEFY signed commitments with the validator set. Light Client can easily verify that the commitment witness it is getting is produced by the latest validator set.
len: u32
Number of validators in the set.
Some BEEFY Light Clients may use an interactive protocol to verify only a subset of signatures. We put set length here, so that these clients can verify the minimal number of required signatures.
root: MerkleRoot
Merkle Root Hash built from BEEFY AuthorityIds.
This is used by Light Clients to confirm that the commitments are signed by the correct validator set. Light Clients using interactive protocol, might verify only subset of signatures, hence don’t require the full list here (will receive inclusion proofs).
Trait Implementations§
source§impl<MerkleRoot: Clone> Clone for BeefyAuthoritySet<MerkleRoot>
impl<MerkleRoot: Clone> Clone for BeefyAuthoritySet<MerkleRoot>
source§fn clone(&self) -> BeefyAuthoritySet<MerkleRoot>
fn clone(&self) -> BeefyAuthoritySet<MerkleRoot>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<MerkleRoot: Debug> Debug for BeefyAuthoritySet<MerkleRoot>
impl<MerkleRoot: Debug> Debug for BeefyAuthoritySet<MerkleRoot>
source§impl<MerkleRoot> Decode for BeefyAuthoritySet<MerkleRoot>where
MerkleRoot: Decode,
impl<MerkleRoot> Decode for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: Decode,
source§impl<MerkleRoot: Default> Default for BeefyAuthoritySet<MerkleRoot>
impl<MerkleRoot: Default> Default for BeefyAuthoritySet<MerkleRoot>
source§fn default() -> BeefyAuthoritySet<MerkleRoot>
fn default() -> BeefyAuthoritySet<MerkleRoot>
source§impl<'de, MerkleRoot> Deserialize<'de> for BeefyAuthoritySet<MerkleRoot>where
MerkleRoot: Deserialize<'de>,
impl<'de, MerkleRoot> Deserialize<'de> for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl<MerkleRoot> Encode for BeefyAuthoritySet<MerkleRoot>where
MerkleRoot: Encode,
impl<MerkleRoot> Encode for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: Encode,
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 )
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
source§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
source§impl<MerkleRoot> MaxEncodedLen for BeefyAuthoritySet<MerkleRoot>where
MerkleRoot: MaxEncodedLen,
impl<MerkleRoot> MaxEncodedLen for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: MaxEncodedLen,
source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
source§impl<MerkleRoot: PartialEq> PartialEq<BeefyAuthoritySet<MerkleRoot>> for BeefyAuthoritySet<MerkleRoot>
impl<MerkleRoot: PartialEq> PartialEq<BeefyAuthoritySet<MerkleRoot>> for BeefyAuthoritySet<MerkleRoot>
source§fn eq(&self, other: &BeefyAuthoritySet<MerkleRoot>) -> bool
fn eq(&self, other: &BeefyAuthoritySet<MerkleRoot>) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl<MerkleRoot> Serialize for BeefyAuthoritySet<MerkleRoot>where
MerkleRoot: Serialize,
impl<MerkleRoot> Serialize for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: Serialize,
source§impl<MerkleRoot> TypeInfo for BeefyAuthoritySet<MerkleRoot>where
MerkleRoot: TypeInfo + 'static,
impl<MerkleRoot> TypeInfo for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: TypeInfo + 'static,
impl<MerkleRoot> EncodeLike<BeefyAuthoritySet<MerkleRoot>> for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: Encode,
impl<MerkleRoot: Eq> Eq for BeefyAuthoritySet<MerkleRoot>
impl<MerkleRoot> StructuralEq for BeefyAuthoritySet<MerkleRoot>
impl<MerkleRoot> StructuralPartialEq for BeefyAuthoritySet<MerkleRoot>
Auto Trait Implementations§
impl<MerkleRoot> RefUnwindSafe for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: RefUnwindSafe,
impl<MerkleRoot> Send for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: Send,
impl<MerkleRoot> Sync for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: Sync,
impl<MerkleRoot> Unpin for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: Unpin,
impl<MerkleRoot> UnwindSafe for BeefyAuthoritySet<MerkleRoot>where MerkleRoot: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere T: Decode,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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> 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>,
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
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.