lisk-framework
Version:
Lisk blockchain application platform
27 lines (26 loc) • 1.03 kB
TypeScript
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 {};