Struct sc_consensus_grandpa::AuthoritySet
source · pub struct AuthoritySet<H, N> { /* private fields */ }
Expand description
A set of authorities.
Implementations§
source§impl<H, N> AuthoritySet<H, N>where
N: Add<Output = N> + Ord + Clone + Debug,
H: Clone + Debug + Eq,
impl<H, N> AuthoritySet<H, N>where N: Add<Output = N> + Ord + Clone + Debug, H: Clone + Debug + Eq,
sourcepub fn enacts_standard_change<F, E>(
&self,
finalized_hash: H,
finalized_number: N,
is_descendent_of: &F
) -> Result<Option<bool>, Error<N, E>>where
F: Fn(&H, &H) -> Result<bool, E>,
E: Error,
pub fn enacts_standard_change<F, E>( &self, finalized_hash: H, finalized_number: N, is_descendent_of: &F ) -> Result<Option<bool>, Error<N, E>>where F: Fn(&H, &H) -> Result<bool, E>, E: Error,
Check whether the given finalized block number enacts any standard
authority set change (without triggering it), ensuring that if there are
multiple changes in the same branch, finalizing this block won’t
finalize past multiple transitions (i.e. transitions must be finalized
in-order). Returns Some(true)
if the block being finalized enacts a
change that can be immediately applied, Some(false)
if the block being
finalized enacts a change but it cannot be applied yet since there are
other dependent changes, and None
if no change is enacted. The given
function is_descendent_of
should return true
if the second hash
(target) is a descendent of the first hash (base).
Trait Implementations§
source§impl<H: Clone, N: Clone> Clone for AuthoritySet<H, N>
impl<H: Clone, N: Clone> Clone for AuthoritySet<H, N>
source§fn clone(&self) -> AuthoritySet<H, N>
fn clone(&self) -> AuthoritySet<H, N>
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<H, N> Decode for AuthoritySet<H, N>where
ForkTree<H, N, PendingChange<H, N>>: Decode,
Vec<PendingChange<H, N>>: Decode,
AuthoritySetChanges<N>: Decode,
impl<H, N> Decode for AuthoritySet<H, N>where ForkTree<H, N, PendingChange<H, N>>: Decode, Vec<PendingChange<H, N>>: Decode, AuthoritySetChanges<N>: 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<H, N> Encode for AuthoritySet<H, N>where
ForkTree<H, N, PendingChange<H, N>>: Encode,
Vec<PendingChange<H, N>>: Encode,
AuthoritySetChanges<N>: Encode,
impl<H, N> Encode for AuthoritySet<H, N>where ForkTree<H, N, PendingChange<H, N>>: Encode, Vec<PendingChange<H, N>>: Encode, AuthoritySetChanges<N>: 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 )
Convert self to a slice and append it to the destination.
§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,
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§fn from(set: AuthoritySet<H, N>) -> Self
fn from(set: AuthoritySet<H, N>) -> Self
Converts to this type from the input type.
source§impl<H: PartialEq, N: PartialEq> PartialEq<AuthoritySet<H, N>> for AuthoritySet<H, N>
impl<H: PartialEq, N: PartialEq> PartialEq<AuthoritySet<H, N>> for AuthoritySet<H, N>
source§fn eq(&self, other: &AuthoritySet<H, N>) -> bool
fn eq(&self, other: &AuthoritySet<H, N>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<H, N> EncodeLike<AuthoritySet<H, N>> for AuthoritySet<H, N>where ForkTree<H, N, PendingChange<H, N>>: Encode, Vec<PendingChange<H, N>>: Encode, AuthoritySetChanges<N>: Encode,
impl<H, N> StructuralPartialEq for AuthoritySet<H, N>
Auto Trait Implementations§
impl<H, N> RefUnwindSafe for AuthoritySet<H, N>where H: RefUnwindSafe, N: RefUnwindSafe,
impl<H, N> Send for AuthoritySet<H, N>where H: Send, N: Send,
impl<H, N> Sync for AuthoritySet<H, N>where H: Sync, N: Sync,
impl<H, N> Unpin for AuthoritySet<H, N>where H: Unpin, N: Unpin,
impl<H, N> UnwindSafe for AuthoritySet<H, N>where H: UnwindSafe, N: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§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<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> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere T: Codec,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§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 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
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.