/// import { MethodContext } from '../../state_machine'; export interface BFTHeader { id: Buffer; previousBlockID: Buffer; generatorAddress: Buffer; timestamp: number; height: number; maxHeightPrevoted: number; maxHeightGenerated: number; receivedAt?: number; } export interface Validator { address: Buffer; bftWeight: bigint; blsKey: Buffer; } export interface ActiveValidator { bftWeight: bigint; blsKey: Buffer; } export interface PkSigPair { publicKey: Buffer; signature: Buffer; } export interface AggregateCommit { readonly height: number; readonly aggregationBits: Buffer; readonly certificateSignature: Buffer; } export interface CommitPool { verifyAggregateCommit: (methodContext: MethodContext, aggregateCommit: AggregateCommit) => Promise; getAggregateCommit: (methodContext: MethodContext) => Promise; } export interface ValidatorUpdate { preCommitThreshold: bigint; certificateThreshold: bigint; nextValidators: (Validator & { generatorKey: Buffer; })[]; }