UNPKG

bitcore-node

Version:

A blockchain indexing node with extended capabilities using bitcore

39 lines (31 loc) 1 kB
import { BaseP2PWorker } from './p2p'; export interface ErrorType { model: string; err: boolean; type: string; payload: any; } export interface IVerificationPeer extends BaseP2PWorker<any> { connect(): Promise<void>; resync(from: number, to: number): Promise<void>; getBlockForNumber(blockNum: number): Promise<any>; enableDeepScan(); disableDeepScan(); validateDataForBlock( blockNum: number, tipHeight: number, log?: boolean ): Promise<{ success: boolean; errors: Array<ErrorType> }>; } export class VerificationManager { workerClasses: { [chain: string]: Class<IVerificationPeer> } = {}; constructor() {} register(chain: string, network: string, worker: Class<IVerificationPeer>) { this.workerClasses[chain] = this.workerClasses[chain] || {}; this.workerClasses[chain][network] = worker; } get(chain: string, network: string) { return this.workerClasses[chain]?.[network]; } } export const Verification = new VerificationManager();