UNPKG

lisk-framework

Version:

Lisk blockchain application platform

18 lines (17 loc) 860 B
/// <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>; }