import { BaseP2PWorker } from './p2p'; export interface ErrorType { model: string; err: boolean; type: string; payload: any; } export interface IVerificationPeer extends BaseP2PWorker { connect(): Promise; resync(from: number, to: number): Promise; getBlockForNumber(blockNum: number): Promise; enableDeepScan(); disableDeepScan(); validateDataForBlock( blockNum: number, tipHeight: number, log?: boolean ): Promise<{ success: boolean; errors: Array }>; } export class VerificationManager { workerClasses: { [chain: string]: Class } = {}; constructor() {} register(chain: string, network: string, worker: Class) { 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();