UNPKG

lisk-framework

Version:

Lisk blockchain application platform

33 lines (32 loc) 1.67 kB
/// <reference types="node" /> import { BlockHeader, StateStore } from '@liskhq/lisk-chain'; import { BFTParameters } from './schemas'; import { BFTHeights } from './types'; import { Validator } from '../../abi'; export interface BlockHeaderAsset { maxHeightPrevoted: number; maxHeightPreviouslyForged: number; } export declare class BFTMethod { private _batchSize; private _blockTime; blockTime(): number; init(batchSize: number, blockTime: number): void; areHeadersContradicting(bftHeader1: BlockHeader, bftHeader2: BlockHeader): boolean; isHeaderContradictingChain(stateStore: StateStore, header: BlockHeader): Promise<boolean>; existBFTParameters(stateStore: StateStore, height: number): Promise<boolean>; getBFTParameters(stateStore: StateStore, height: number): Promise<BFTParameters>; getBFTParametersActiveValidators(stateStore: StateStore, height: number): Promise<BFTParameters>; getBFTHeights(stateStore: StateStore): Promise<BFTHeights>; impliesMaximalPrevotes(stateStore: StateStore, header: { height: number; generatorAddress: Buffer; maxHeightGenerated: number; }): Promise<boolean>; getNextHeightBFTParameters(stateStore: StateStore, height: number): Promise<number>; setBFTParameters(stateStore: StateStore, precommitThreshold: bigint, certificateThreshold: bigint, validators: Validator[]): Promise<void>; getGeneratorAtTimestamp(stateStore: StateStore, height: number, timestamp: number): Promise<Validator>; getSlotNumber(timestamp: number): number; getSlotTime(slot: number): number; isWithinTimeslot(slot: number, timestamp: number): boolean; }