Grandpa pallet
Derived from live runtime metadata on TRN root (pallet index 12, captured 2026-05-02). For prose-style documentation see Grandpa on the curated reference side.
- Pallet index
12- Calls
- 3
- Events
- 3
- Errors
- 7
- Storage items
- 6
- Constants
- 2
Calls (extrinsics)
Grandpa.report_equivocation
See [
Pallet::report_equivocation].
api.tx.grandpa.report_equivocation(equivocation_proof: {"setId":"u64","equivocation":"SpConsensusGrandpaEquivocation"}, key_owner_proof: {"session":"u32","trieNodes":"Vec<Bytes>","validatorCount":"u32"})| Argument | Type | Doc |
|---|---|---|
equivocation_proof | {"setId":"u64","equivocation":"SpConsensusGrandpaEquivocation"} | Box<EquivocationProof<T::Hash, BlockNumberFor<T>>> |
key_owner_proof | {"session":"u32","trieNodes":"Vec<Bytes>","validatorCount":"u32"} | T::KeyOwnerProof |
Call index: 0
Grandpa.report_equivocation_unsigned
See [
Pallet::report_equivocation_unsigned].
api.tx.grandpa.report_equivocation_unsigned(equivocation_proof: {"setId":"u64","equivocation":"SpConsensusGrandpaEquivocation"}, key_owner_proof: {"session":"u32","trieNodes":"Vec<Bytes>","validatorCount":"u32"})| Argument | Type | Doc |
|---|---|---|
equivocation_proof | {"setId":"u64","equivocation":"SpConsensusGrandpaEquivocation"} | Box<EquivocationProof<T::Hash, BlockNumberFor<T>>> |
key_owner_proof | {"session":"u32","trieNodes":"Vec<Bytes>","validatorCount":"u32"} | T::KeyOwnerProof |
Call index: 1
Grandpa.note_stalled
See [
Pallet::note_stalled].
api.tx.grandpa.note_stalled(delay: u32, best_finalized_block_number: u32)| Argument | Type | Doc |
|---|---|---|
delay | u32 | BlockNumberFor<T> |
best_finalized_block_number | u32 | BlockNumberFor<T> |
Call index: 2
Events
Grandpa.NewAuthorities
New authority set has been applied.
| Field | Type | Doc |
|---|---|---|
authority_set | Vec<(SpConsensusGrandpaAppPublic,u64)> |
Grandpa.Paused
Current authority set has been paused.
No payload.
Grandpa.Resumed
Current authority set has been resumed.
No payload.
Errors
Grandpa.PauseFailed
Attempt to signal GRANDPA pause when the authority set isn't live (either paused or already pending pause).
Grandpa.ResumeFailed
Attempt to signal GRANDPA resume when the authority set isn't paused (either live or already pending resume).
Grandpa.ChangePending
Attempt to signal GRANDPA change with one already pending.
Grandpa.TooSoon
Cannot signal forced change so soon after last.
Grandpa.InvalidKeyOwnershipProof
A key ownership proof provided as part of an equivocation report is invalid.
Grandpa.InvalidEquivocationProof
An equivocation proof provided as part of an equivocation report is invalid.
Grandpa.DuplicateOffenceReport
A given equivocation report is valid but already previously reported.
Storage
Grandpa.State
State of the current authority set.
await api.query.grandpa.state()Returns: {"_enum":{"Live":"Null","PendingPause":"{\"scheduledAt\":\"u32\",\"delay\":\"u32\"}","Paused":"Null","PendingResume":"{\"scheduledAt\":\"u32\",\"delay\":\"u32\"}"}}
Modifier: Default
Grandpa.PendingChange
Pending change: (signaled at, scheduled change).
await api.query.grandpa.pendingChange()Returns: {"scheduledAt":"u32","delay":"u32","nextAuthorities":"Vec<(SpConsensusGrandpaAppPublic,u64)>","forced":"Option<u32>"}
Modifier: Optional
Grandpa.NextForced
next block number where we can force a change.
await api.query.grandpa.nextForced()Returns: u32
Modifier: Optional
Grandpa.Stalled
trueif we are currently stalled.
await api.query.grandpa.stalled()Returns: (u32,u32)
Modifier: Optional
Grandpa.CurrentSetId
The number of changes (both in terms of keys and underlying economic responsibilities) in the "set" of Grandpa validators from genesis.
await api.query.grandpa.currentSetId()Returns: u64
Modifier: Default
Grandpa.SetIdSession
A mapping from grandpa set ID to the index of the most recent session for which its members were responsible. This is only used for validating equivocation proofs. An equivocation proof must contains a key-ownership proof for a given session, therefore we need a way to tie together sessions and GRANDPA set ids, i.e. we need to validate that a validator was the owner of a given key on a given session, and what the active set ID was during that session. TWOX-NOTE:
SetIdis not under user control.
await api.query.grandpa.setIdSession(key1)- Key:
u64(hasher: Twox64Concat) - Returns:
u32
Modifier: Optional
Constants
Grandpa.MaxAuthorities
Max Authorities in use
Type: u32
SCALE-encoded value: 0x00100000
Grandpa.MaxSetIdSessionEntries
The maximum number of entries to keep in the set id to session index mapping. Since the
SetIdSessionmap is only used for validating equivocations this value should relate to the bonding duration of whatever staking system is being used (if any). If equivocation handling is not enabled then this value can be zero.
Type: u64
SCALE-encoded value: 0xa800000000000000
wss://root.rootnet.live/archive/ws · captured 2026-05-02