Module finality_grandpa::bitfield
source · Expand description
Bitfield for handling equivocations.
This is primarily a bitfield for tracking equivocating validators. It is necessary because there is a need to track vote-weight of equivocation on the vote-graph but to avoid double-counting.
Bitfields are either blank (in the general case) or live, in the case of equivocations, with two bits per equivocator. The first is for equivocations in prevote messages and the second for those in precommits.
Each live bitfield carries a reference to a shared object that provides lookups from bit indices to validator weight. Bitfields can be merged, and queried for total weight in commits and precommits.
Structs
Live bitfield instance.
Shared data among all live bitfield instances.