finality_grandpa

Module voter

Source
Expand description

A voter in GRANDPA. This transitions between rounds and casts votes.

Voters rely on some external context to function:

  • setting timers to cast votes.
  • incoming vote streams.
  • providing voter weights.
  • getting the local voter id.

The local voter id is used to check whether to cast votes for a given round. If no local id is defined or if it’s not part of the voter set then votes will not be pushed to the sink. The protocol state machine still transitions state as if the votes had been pushed out.

Modules§

report
Contains a number of data transfer objects for reporting data to the outside world.

Structs§

BadCatchUp
The result of processing for a bad catch up.
BadCommit
The result of processing for a bad commit
GoodCatchUp
The result of processing for a good catch up.
GoodCommit
The result of processing for a good commit.
RoundData
Data necessary to participate in a round.
Voter
A future that maintains and multiplexes between different rounds, and caches votes.

Enums§

Callback
Callback used to pass information about the outcome of importing a given message (e.g. vote, commit, catch up). Useful to propagate data to the network after making sure the import is successful.
CatchUpProcessingOutcome
The outcome of processing a catch up.
CommitProcessingOutcome
The outcome of processing a commit.
CommunicationIn
Communication between nodes that is not round-localized.
CommunicationOut
Communication between nodes that is not round-localized.

Traits§

Environment
Necessary environment for a voter.
VoterState
Trait for querying the state of the voter. Used by Voter to return a queryable object without exposing too many data types.