UNPKG

lisk-framework

Version:

Lisk blockchain application platform

27 lines (26 loc) 1.03 kB
import { Chain, Block } from '@liskhq/lisk-chain'; import { BaseSynchronizer } from './base_synchronizer'; import { Logger } from '../../../logger'; import { BlockExecutor } from './type'; import { Network } from '../../network'; interface FastChainSwitchingMechanismInput { readonly logger: Logger; readonly chain: Chain; readonly blockExecutor: BlockExecutor; readonly network: Network; } export declare class FastChainSwitchingMechanism extends BaseSynchronizer { private readonly blockExecutor; constructor({ logger, chain, blockExecutor, network }: FastChainSwitchingMechanismInput); run(receivedBlock: Block, peerId: string): Promise<void>; isValidFor(receivedBlock: Block, peerId: string): Promise<boolean>; private _requestBlocksWithinIDs; private _queryBlocks; private _validateBlocks; private _applyBlocks; private _handleBlockProcessingFailure; private _switchChain; private _computeLastTwoRoundsHeights; private _requestLastCommonBlock; } export {};