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.

Enums

Bitfield for equivocating validators.
Errors that can occur when using the equivocation weighting tools.