Crate sp_finality_grandpa
source ·Expand description
Primitives for GRANDPA integration, suitable for WASM compilation.
Structs
Proof of voter misbehavior on a given set id. Misbehavior/equivocation in
GRANDPA happens when a voter votes on the same round (either at prevote or
precommit stage) for different blocks. Proving is achieved by collecting the
signed messages of conflicting votes.
A GRANDPA justification for block finality, it includes a commit message and
an ancestry proof including all headers routing all precommit target blocks
to the commit target block. Due to the current voting strategy the precommit
targets should be the same as the commit target, since honest voters don’t
vote past authority set change blocks.
An opaque type used to represent the key ownership proof at the runtime API
boundary. The inner value is an encoded representation of the actual key
ownership proof which will be parameterized when defining the runtime. At
the runtime API boundary this type is unknown and as such we keep this
opaque representation, implementors of the runtime API will have to make
sure that all usages of
OpaqueKeyOwnershipProof
refer to the same type.A scheduled change of authority set.
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.
Enums
An consensus log item for GRANDPA.
Wrapper object for GRANDPA equivocation proofs, useful for unifying prevote
and precommit equivocations under a common type.
Constants
WASM function call to get current GRANDPA authorities.
The log target to be used by client code.
The storage key for the current set of weighted Grandpa authorities.
The value stored is an encoded VersionedAuthorityList.
The
ConsensusEngineId
of GRANDPA.Key type for GRANDPA module.
WASM function call to check for pending changes.
The log target to be used by runtime code.
Traits
APIs for integrating the GRANDPA finality gadget into runtimes.
This should be implemented on the runtime side.
Functions
Verifies the equivocation proof by making sure that both votes target
different blocks and that its signatures are valid.
Check a message signature by encoding the message as a localized payload and
verifying the provided signature using the expected authority id.
Check a message signature by encoding the message as a localized payload and
verifying the provided signature using the expected authority id.
The encoding necessary to verify the signature will be done using the given
buffer, the original content of the buffer will be cleared.
Encode round message localized to a given round and set id.
Encode round message localized to a given round and set id using the given
buffer. The given buffer will be cleared and the resulting encoded payload
will always be written to the start of the buffer.
Localizes the message to the given set and round and signs the payload.
Type Definitions
Identity of a Grandpa authority.
The index of an authority.
A list of Grandpa authorities with associated weights.
The grandpa crypto scheme defined via the keypair type.
Signature for a Grandpa authority.
The weight of an authority.
A catch up message for this chain’s block type.
A commit message for this chain’s block type.
A compact commit message for this chain’s block type.
A GRANDPA message for a substrate chain.
A precommit message for this chain’s block type.
A prevote message for this chain’s block type.
A primary propose message for this chain’s block type.
The round indicator.
The monotonic identifier of a GRANDPA set of authorities.
A signed message.