import { Server } from "../../../../server"; import { BlockDTO } from "../../../lib/dto/BlockDTO"; import { ConfDTO, Keypair } from "../../../lib/dto/ConfDTO"; export declare class WorkerFarm { private server; private logger; private theEngine; private onAlmostPoW; private powPromise; private stopPromise; private checkPoWandNotify; constructor(server: Server, logger: any); get nbWorkers(): number; changeCPU(cpu: any): Promise; changePoWPrefix(prefix: any): Promise; isComputing(): boolean; isStopping(): boolean; /** * Eventually stops the engine PoW if one was computing */ stopPoW(): any; shutDownEngine(): Promise; /** * Starts a new computation of PoW * @param stuff The necessary data for computing the PoW */ askNewProof(stuff: ProofAsk): Promise; setOnAlmostPoW(onPoW: any): void; } export declare class BlockProver { private server; logger: any; waitResolve: any; workerFarmPromise: any; constructor(server: Server); get conf(): ConfDTO; get pair(): Keypair | null; getWorker(): Promise; cancel(): Promise; prove(block: any, difficulty: any, forcedTime?: any): Promise; changeCPU(cpu: number): Promise; changePoWPrefix(prefix: any): Promise; private powEvent; } export interface ProofAsk { initialTestsPerRound?: number; maxDuration?: number; specialNonce?: number; newPoW: { conf: { powNoSecurity?: boolean; cpu?: number; prefix?: string; nbCores?: number; avgGenTime: number; medianTimeBlocks: number; }; block: any; zeros: number; highMark: string; forcedTime?: number; pair: Keypair | null; turnDuration?: number; }; }