Struct finality_grandpa::round::Round[][src]

pub struct Round<Id: Ord + Eq, H: Ord + Eq, N, Signature> { /* fields omitted */ }

Stores data for a round.

Implementations

impl<Id, H, N, Signature> Round<Id, H, N, Signature> where
    Id: Ord + Clone + Eq + Debug,
    H: Ord + Clone + Eq + Debug,
    N: Copy + Debug + BlockNumberOps,
    Signature: Eq + Clone
[src]

pub fn new(round_params: RoundParams<Id, H, N>) -> Self[src]

Create a new round accumulator for given round number and with given weight.

pub fn number(&self) -> u64[src]

Return the round number.

pub fn state(&self) -> State<H, N>[src]

Return the current state.

pub fn precommit_ghost(&mut self) -> Option<(H, N)>[src]

Compute and cache the precommit-GHOST.

pub fn finalizing_precommits<'a, C: 'a + Chain<H, N>>(
    &'a mut self,
    chain: &'a C
) -> Option<impl Iterator<Item = SignedPrecommit<H, N, Signature, Id>> + 'a>
[src]

Returns an iterator of all precommits targeting the finalized hash.

Only returns None if no block has been finalized in this round.

pub fn estimate(&self) -> Option<&(H, N)>[src]

Fetch the “round-estimate”: the best block which might have been finalized in this round.

Returns None when new new blocks could have been finalized in this round, according to our estimate.

pub fn finalized(&self) -> Option<&(H, N)>[src]

Fetch the most recently finalized block.

pub fn completable(&self) -> bool[src]

Returns true when the round is completable.

This is the case when the round-estimate is an ancestor of the prevote-ghost head, or when they are the same block and none of its children could possibly have enough precommits.

pub fn threshold(&self) -> VoterWeight[src]

Threshold weight for supermajority.

pub fn base(&self) -> (H, N)[src]

Return the round base.

pub fn voters(&self) -> &VoterSet<Id>[src]

Return the round voters and weights.

pub fn primary_voter(&self) -> (&Id, &VoterInfo)[src]

Return the primary voter of the round.

pub fn prevote_participation(&self) -> (VoteWeight, usize)[src]

Get the current weight and number of voters who have participated in prevoting.

pub fn precommit_participation(&self) -> (VoteWeight, usize)[src]

Get the current weight and number of voters who have participated in precommitting.

pub fn prevotes(&self) -> Vec<(Id, Prevote<H, N>, Signature)>[src]

Return all imported prevotes.

pub fn precommits(&self) -> Vec<(Id, Precommit<H, N>, Signature)>[src]

Return all imported precommits.

pub fn historical_votes(&self) -> &HistoricalVotes<H, N, Signature, Id>[src]

Return all votes for the round (prevotes and precommits), sorted by imported order and indicating the indices where we voted. At most two prevotes and two precommits per voter are present, further equivocations are not stored (as they are redundant).

pub fn set_prevoted_index(&mut self)[src]

Set the number of prevotes and precommits received at the moment of prevoting. It should be called inmediatly after prevoting.

pub fn set_precommitted_index(&mut self)[src]

Set the number of prevotes and precommits received at the moment of precommiting. It should be called inmediatly after precommiting.

pub fn prevoted_index(&self) -> Option<u64>[src]

Get the number of prevotes and precommits received at the moment of prevoting. Returns None if the prevote wasn’t realized.

pub fn precommitted_index(&self) -> Option<u64>[src]

Get the number of prevotes and precommits received at the moment of precommiting. Returns None if the precommit wasn’t realized.

Auto Trait Implementations

impl<Id, H, N, Signature> RefUnwindSafe for Round<Id, H, N, Signature> where
    H: RefUnwindSafe,
    Id: RefUnwindSafe,
    N: RefUnwindSafe,
    Signature: RefUnwindSafe

impl<Id, H, N, Signature> Send for Round<Id, H, N, Signature> where
    H: Send,
    Id: Send,
    N: Send,
    Signature: Send

impl<Id, H, N, Signature> Sync for Round<Id, H, N, Signature> where
    H: Sync,
    Id: Sync,
    N: Sync,
    Signature: Sync

impl<Id, H, N, Signature> Unpin for Round<Id, H, N, Signature> where
    H: Unpin,
    Id: Unpin,
    N: Unpin

impl<Id, H, N, Signature> UnwindSafe for Round<Id, H, N, Signature> where
    H: RefUnwindSafe + UnwindSafe,
    Id: RefUnwindSafe + UnwindSafe,
    N: RefUnwindSafe + UnwindSafe,
    Signature: RefUnwindSafe + UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.