GRANDPA Consensus module for runtime.
This manages the GRANDPA authority set ready for the native code. These authorities are only for GRANDPA finality, not for consensus overall.
In the future, it will also handle misbehavior reports, and on-chain finality notifications.
For full integration with GRANDPA, the
GrandpaApi should be implemented.
The necessary items are re-exported via the
Generic equivocation handler. This type implements
using existing subsystems that are part of frame (type bounds described
below) and will dispatch to them directly, it’s only purpose is to wire all
A grandpa equivocation offence report.
A round number and set id which point on the time of an offence.
A stored pending change.
An AuthorityList that is encoded with a version specifier. The encoding version is updated any time the AuthorityList type changes. This ensures that encodings of different versions of an AuthorityList are differentiable. Attempting to decode an authority list with an unknown version will fail.
Current state of the GRANDPA authority set. State transitions must happen in
the same order of states defined below, e.g.
Paused implies a prior
An interface for types that will be used as GRANDPA offences and must also
Offence trait. This trait provides a constructor that is
provided all available data during processing of GRANDPA equivocations.
A trait with utility methods for handling equivocation reports in GRANDPA. The offence type is generic, and the trait provides , reporting an offence triggered by a valid equivocation report, and also for creating and submitting equivocation report extrinsics (useful only in offchain context).