/// /// import LeastRecentlyUsed from 'blru'; import tls from 'tls'; import { Config } from '../fileStores/config'; import { Logger } from '../logger'; import { RpcSocketClient } from '../rpc/clients'; import { SerializedBlockTemplate } from '../serde/BlockTemplateSerde'; import { MiningPoolShares } from './poolShares'; import { MiningStatusMessage } from './stratum/messages'; import { StratumServer } from './stratum/stratumServer'; import { StratumServerClient } from './stratum/stratumServerClient'; import { Explorer, WebhookNotifier } from './webhooks'; export declare class MiningPool { readonly stratum: StratumServer; readonly rpc: RpcSocketClient; readonly logger: Logger; readonly shares: MiningPoolShares; readonly config: Config; readonly webhooks: WebhookNotifier[]; private consensus; private blockHasher; private started; private stopPromise; private stopResolve; private connectWarned; private connectTimeout; private eventLoopTimeout; name: string; nextMiningRequestId: number; miningRequestBlocks: LeastRecentlyUsed; recentSubmissions: Map; difficulty: bigint; target: Buffer; currentHeadTimestamp: number | null; currentHeadDifficulty: bigint | null; private recalculateTargetInterval; private notifyStatusInterval; private getExplorer; private constructor(); static init(options: { rpc: RpcSocketClient; config: Config; logger: Logger; webhooks?: WebhookNotifier[]; enablePayouts?: boolean; host: string; port: number; banning?: boolean; tls?: boolean; tlsOptions?: tls.TlsOptions; getExplorer?: (networkId: number) => Explorer | null; }): Promise; start(): Promise; stop(): Promise; private eventLoop; waitForStop(): Promise; getTarget(): string; submitWork(client: StratumServerClient, miningRequestId: number, randomness: string, graffiti: string): Promise<{ error: string | null; }>; private startConnectingRpc; private onDisconnectRpc; private processNewBlocks; private recalculateTarget; graffiti(): Buffer; private distributeNewBlock; private restartCalculateTargetInterval; private isDuplicateSubmission; private addWorkSubmission; estimateHashRate(publicAddress?: string): Promise; notifyStatus(): Promise; getStatus(publicAddress?: string): Promise; updateUnconfirmedBlocks(): Promise; updateUnconfirmedPayoutTransactions(): Promise; } //# sourceMappingURL=pool.d.ts.map