Module finality_grandpa::voter[][src]

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.