@polkadot/types
Version:
Implementation of the Parity codec
176 lines (175 loc) • 6.13 kB
TypeScript
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<NextAuthority> {
}
/** @name AuthoritySet */
export interface AuthoritySet extends Struct {
readonly currentAuthorities: AuthorityList;
readonly setId: u64;
readonly pendingStandardChanges: ForkTreePendingChange;
readonly pendingForcedChanges: Vec<PendingChange>;
readonly authoritySetChanges: AuthoritySetChanges;
}
/** @name AuthoritySetChange */
export interface AuthoritySetChange extends ITuple<[U64, BlockNumber]> {
}
/** @name AuthoritySetChanges */
export interface AuthoritySetChanges extends Vec<AuthoritySetChange> {
}
/** @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<ForkTreePendingChangeNode>;
readonly bestFinalizedNumber: Option<BlockNumber>;
}
/** @name ForkTreePendingChangeNode */
export interface ForkTreePendingChangeNode extends Struct {
readonly hash: BlockHash;
readonly number: BlockNumber;
readonly data: PendingChange;
readonly children: Vec<ForkTreePendingChangeNode>;
}
/** @name GrandpaCommit */
export interface GrandpaCommit extends Struct {
readonly targetHash: BlockHash;
readonly targetNumber: BlockNumber;
readonly precommits: Vec<GrandpaSignedPrecommit>;
}
/** @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<Header>;
}
/** @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<AuthorityId>;
}
/** @name Prevotes */
export interface Prevotes extends Struct {
readonly currentWeight: u32;
readonly missing: BTreeSet<AuthorityId>;
}
/** @name ReportedRoundStates */
export interface ReportedRoundStates extends Struct {
readonly setId: u32;
readonly best: RoundState;
readonly background: Vec<RoundState>;
}
/** @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';