import type { BTreeSet, Bytes, Enum, Option, Struct, U64, Vec, u32, u64 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; import type { BlockHash } from '@polkadot/types/interfaces/chain'; import type { AuthorityId } from '@polkadot/types/interfaces/consensus'; import type { AuthoritySignature } from '@polkadot/types/interfaces/imOnline'; import type { BlockNumber, Hash, Header } from '@polkadot/types/interfaces/runtime'; import type { MembershipProof } from '@polkadot/types/interfaces/session'; /** @name AuthorityIndex */ export interface AuthorityIndex extends u64 { } /** @name AuthorityList */ export interface AuthorityList extends Vec { } /** @name AuthoritySet */ export interface AuthoritySet extends Struct { readonly currentAuthorities: AuthorityList; readonly setId: u64; readonly pendingStandardChanges: ForkTreePendingChange; readonly pendingForcedChanges: Vec; readonly authoritySetChanges: AuthoritySetChanges; } /** @name AuthoritySetChange */ export interface AuthoritySetChange extends ITuple<[U64, BlockNumber]> { } /** @name AuthoritySetChanges */ export interface AuthoritySetChanges extends Vec { } /** @name AuthorityWeight */ export interface AuthorityWeight extends u64 { } /** @name DelayKind */ export interface DelayKind extends Enum { readonly isFinalized: boolean; readonly isBest: boolean; readonly asBest: DelayKindBest; readonly type: 'Finalized' | 'Best'; } /** @name DelayKindBest */ export interface DelayKindBest extends Struct { readonly medianLastFinalized: BlockNumber; } /** @name EncodedFinalityProofs */ export interface EncodedFinalityProofs extends Bytes { } /** @name ForkTreePendingChange */ export interface ForkTreePendingChange extends Struct { readonly roots: Vec; readonly bestFinalizedNumber: Option; } /** @name ForkTreePendingChangeNode */ export interface ForkTreePendingChangeNode extends Struct { readonly hash: BlockHash; readonly number: BlockNumber; readonly data: PendingChange; readonly children: Vec; } /** @name GrandpaCommit */ export interface GrandpaCommit extends Struct { readonly targetHash: BlockHash; readonly targetNumber: BlockNumber; readonly precommits: Vec; } /** @name GrandpaEquivocation */ export interface GrandpaEquivocation extends Enum { readonly isPrevote: boolean; readonly asPrevote: GrandpaEquivocationValue; readonly isPrecommit: boolean; readonly asPrecommit: GrandpaEquivocationValue; readonly type: 'Prevote' | 'Precommit'; } /** @name GrandpaEquivocationProof */ export interface GrandpaEquivocationProof extends Struct { readonly setId: SetId; readonly equivocation: GrandpaEquivocation; } /** @name GrandpaEquivocationValue */ export interface GrandpaEquivocationValue extends Struct { readonly roundNumber: u64; readonly identity: AuthorityId; readonly first: ITuple<[GrandpaPrevote, AuthoritySignature]>; readonly second: ITuple<[GrandpaPrevote, AuthoritySignature]>; } /** @name GrandpaJustification */ export interface GrandpaJustification extends Struct { readonly round: u64; readonly commit: GrandpaCommit; readonly votesAncestries: Vec
; } /** @name GrandpaPrecommit */ export interface GrandpaPrecommit extends Struct { readonly targetHash: BlockHash; readonly targetNumber: BlockNumber; } /** @name GrandpaPrevote */ export interface GrandpaPrevote extends Struct { readonly targetHash: Hash; readonly targetNumber: BlockNumber; } /** @name GrandpaSignedPrecommit */ export interface GrandpaSignedPrecommit extends Struct { readonly precommit: GrandpaPrecommit; readonly signature: AuthoritySignature; readonly id: AuthorityId; } /** @name JustificationNotification */ export interface JustificationNotification extends Bytes { } /** @name KeyOwnerProof */ export interface KeyOwnerProof extends MembershipProof { } /** @name NextAuthority */ export interface NextAuthority extends ITuple<[AuthorityId, AuthorityWeight]> { } /** @name PendingChange */ export interface PendingChange extends Struct { readonly nextAuthorities: AuthorityList; readonly delay: BlockNumber; readonly canonHeight: BlockNumber; readonly canonHash: BlockHash; readonly delayKind: DelayKind; } /** @name PendingPause */ export interface PendingPause extends Struct { readonly scheduledAt: BlockNumber; readonly delay: BlockNumber; } /** @name PendingResume */ export interface PendingResume extends Struct { readonly scheduledAt: BlockNumber; readonly delay: BlockNumber; } /** @name Precommits */ export interface Precommits extends Struct { readonly currentWeight: u32; readonly missing: BTreeSet; } /** @name Prevotes */ export interface Prevotes extends Struct { readonly currentWeight: u32; readonly missing: BTreeSet; } /** @name ReportedRoundStates */ export interface ReportedRoundStates extends Struct { readonly setId: u32; readonly best: RoundState; readonly background: Vec; } /** @name RoundState */ export interface RoundState extends Struct { readonly round: u32; readonly totalWeight: u32; readonly thresholdWeight: u32; readonly prevotes: Prevotes; readonly precommits: Precommits; } /** @name SetId */ export interface SetId extends u64 { } /** @name StoredPendingChange */ export interface StoredPendingChange extends Struct { readonly scheduledAt: BlockNumber; readonly delay: BlockNumber; readonly nextAuthorities: AuthorityList; } /** @name StoredState */ export interface StoredState extends Enum { readonly isLive: boolean; readonly isPendingPause: boolean; readonly asPendingPause: PendingPause; readonly isPaused: boolean; readonly isPendingResume: boolean; readonly asPendingResume: PendingResume; readonly type: 'Live' | 'PendingPause' | 'Paused' | 'PendingResume'; } export type PHANTOM_GRANDPA = 'grandpa';