lisk-framework
Version:
Lisk blockchain application platform
18 lines (17 loc) • 860 B
TypeScript
/// <reference types="node" />
import { Block, Chain, BlockHeader } from '@liskhq/lisk-chain';
import { Logger } from '../../../logger';
import { Network } from '../../network';
export declare abstract class BaseSynchronizer {
protected _logger: Logger;
protected _chain: Chain;
protected _network: Network;
protected _stop: boolean;
constructor(logger: Logger, chain: Chain, network: Network);
stop(): void;
protected _getLastBlockFromNetwork(peerId: string): Promise<Block>;
protected _getHighestCommonBlockFromNetwork(peerId: string, ids: Buffer[]): Promise<BlockHeader | undefined>;
protected _getBlocksFromNetwork(peerId: string, fromID: Buffer): Promise<Block[]>;
abstract run(receivedBlock: Block, peerId: string): Promise<void>;
abstract isValidFor(receivedBlock: Block, peerId: string): Promise<boolean>;
}