@polkadot/types
Version:
Implementation of the Parity codec
75 lines (74 loc) • 2.57 kB
TypeScript
import type { Bytes, Enum, Option, Struct, U8aFixed, Vec, u32, u64 } from '@polkadot/types-codec';
import type { ITuple } from '@polkadot/types-codec/types';
import type { AuthorityId } from '@polkadot/types/interfaces/consensus';
import type { EcdsaSignature, Signature } from '@polkadot/types/interfaces/extrinsics';
import type { BlockNumber, H256 } from '@polkadot/types/interfaces/runtime';
/** @name BeefyAuthoritySet */
export interface BeefyAuthoritySet extends Struct {
readonly id: u64;
readonly len: u32;
readonly root: H256;
}
/** @name BeefyCommitment */
export interface BeefyCommitment extends Struct {
readonly payload: BeefyPayload;
readonly blockNumber: BlockNumber;
readonly validatorSetId: ValidatorSetId;
}
/** @name BeefyCompactSignedCommitment */
export interface BeefyCompactSignedCommitment extends Struct {
readonly commitment: BeefyCommitment;
readonly signaturesFrom: Bytes;
readonly validatorSetLen: u32;
readonly signaturesCompact: Vec<EcdsaSignature>;
}
/** @name BeefyEquivocationProof */
export interface BeefyEquivocationProof extends Struct {
readonly first: BeefyVoteMessage;
readonly second: BeefyVoteMessage;
}
/** @name BeefyId */
export interface BeefyId extends U8aFixed {
}
/** @name BeefyNextAuthoritySet */
export interface BeefyNextAuthoritySet extends Struct {
readonly id: u64;
readonly len: u32;
readonly root: H256;
}
/** @name BeefyPayload */
export interface BeefyPayload extends Vec<ITuple<[BeefyPayloadId, Bytes]>> {
}
/** @name BeefyPayloadId */
export interface BeefyPayloadId extends U8aFixed {
}
/** @name BeefySignedCommitment */
export interface BeefySignedCommitment extends Struct {
readonly commitment: BeefyCommitment;
readonly signatures: Vec<Option<EcdsaSignature>>;
}
/** @name BeefyVersionedFinalityProof */
export interface BeefyVersionedFinalityProof extends Enum {
readonly isV0: boolean;
readonly isV1: boolean;
readonly asV1: BeefyCompactSignedCommitment;
readonly type: 'V0' | 'V1';
}
/** @name BeefyVoteMessage */
export interface BeefyVoteMessage extends Struct {
readonly commitment: BeefyCommitment;
readonly id: AuthorityId;
readonly signature: Signature;
}
/** @name MmrRootHash */
export interface MmrRootHash extends H256 {
}
/** @name ValidatorSet */
export interface ValidatorSet extends Struct {
readonly validators: Vec<AuthorityId>;
readonly id: ValidatorSetId;
}
/** @name ValidatorSetId */
export interface ValidatorSetId extends u64 {
}
export type PHANTOM_BEEFY = 'beefy';