lisk-framework
Version:
Lisk blockchain application platform
27 lines (26 loc) • 1.05 kB
TypeScript
import { Block, Chain } from '@liskhq/lisk-chain';
import { BaseSynchronizer } from './base_synchronizer';
import { BlockExecutor } from './type';
import { Logger } from '../../../logger';
import { Network } from '../../network';
interface BlockSynchronizationMechanismInput {
readonly logger: Logger;
readonly chain: Chain;
readonly blockExecutor: BlockExecutor;
readonly network: Network;
}
export declare class BlockSynchronizationMechanism extends BaseSynchronizer {
private readonly blockExecutor;
constructor({ logger, chain, blockExecutor, network: networkModule, }: BlockSynchronizationMechanismInput);
run(receivedBlock: Block): Promise<void>;
isValidFor(): Promise<boolean>;
private _requestAndApplyBlocksWithinIDs;
private _handleBlockProcessingError;
private _requestAndApplyBlocksToCurrentChain;
private _revertToLastCommonBlock;
private _requestLastCommonBlock;
private _requestAndValidateLastBlock;
private _blockDetachedStatus;
private _computeBestPeer;
}
export {};