pub type BeefyNextAuthoritySet<MerkleRoot> = BeefyAuthoritySet<MerkleRoot>;
Expand description
Details of the next BEEFY authority set.
Aliased Type§
struct BeefyNextAuthoritySet<MerkleRoot> {
pub id: u64,
pub len: u32,
pub keyset_commitment: MerkleRoot,
}
Fields§
§id: u64
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.
keyset_commitment: MerkleRoot
Commitment(s) to 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).
This could be Merkle Root Hash built from BEEFY ECDSA public keys and/or polynomial commitment to the polynomial interpolating BLS public keys which is used by APK proof based light clients to verify the validity of aggregated BLS keys using APK proofs. Multiple commitments can be tupled together.
Trait Implementations
Source§impl<AuthoritySetCommitment: Clone> Clone for BeefyAuthoritySet<AuthoritySetCommitment>
impl<AuthoritySetCommitment: Clone> Clone for BeefyAuthoritySet<AuthoritySetCommitment>
Source§fn clone(&self) -> BeefyAuthoritySet<AuthoritySetCommitment>
fn clone(&self) -> BeefyAuthoritySet<AuthoritySetCommitment>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<AuthoritySetCommitment: Debug> Debug for BeefyAuthoritySet<AuthoritySetCommitment>
impl<AuthoritySetCommitment: Debug> Debug for BeefyAuthoritySet<AuthoritySetCommitment>
Source§impl<AuthoritySetCommitment> Decode for BeefyAuthoritySet<AuthoritySetCommitment>where
AuthoritySetCommitment: Decode,
impl<AuthoritySetCommitment> Decode for BeefyAuthoritySet<AuthoritySetCommitment>where
AuthoritySetCommitment: 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>
§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,
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Source§impl<AuthoritySetCommitment: Default> Default for BeefyAuthoritySet<AuthoritySetCommitment>
impl<AuthoritySetCommitment: Default> Default for BeefyAuthoritySet<AuthoritySetCommitment>
Source§fn default() -> BeefyAuthoritySet<AuthoritySetCommitment>
fn default() -> BeefyAuthoritySet<AuthoritySetCommitment>
Source§impl<'de, AuthoritySetCommitment> Deserialize<'de> for BeefyAuthoritySet<AuthoritySetCommitment>where
AuthoritySetCommitment: Deserialize<'de>,
impl<'de, AuthoritySetCommitment> Deserialize<'de> for BeefyAuthoritySet<AuthoritySetCommitment>where
AuthoritySetCommitment: 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<AuthoritySetCommitment> Encode for BeefyAuthoritySet<AuthoritySetCommitment>where
AuthoritySetCommitment: Encode,
impl<AuthoritySetCommitment> Encode for BeefyAuthoritySet<AuthoritySetCommitment>where
AuthoritySetCommitment: Encode,
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
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, )
§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Source§impl<AuthoritySetCommitment> MaxEncodedLen for BeefyAuthoritySet<AuthoritySetCommitment>where
AuthoritySetCommitment: MaxEncodedLen,
impl<AuthoritySetCommitment> MaxEncodedLen for BeefyAuthoritySet<AuthoritySetCommitment>where
AuthoritySetCommitment: MaxEncodedLen,
Source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
Source§impl<AuthoritySetCommitment: PartialEq> PartialEq for BeefyAuthoritySet<AuthoritySetCommitment>
impl<AuthoritySetCommitment: PartialEq> PartialEq for BeefyAuthoritySet<AuthoritySetCommitment>
Source§fn eq(&self, other: &BeefyAuthoritySet<AuthoritySetCommitment>) -> bool
fn eq(&self, other: &BeefyAuthoritySet<AuthoritySetCommitment>) -> bool
self
and other
values to be equal, and is used by ==
.