/// /// import net from 'net'; import { Config } from '../../fileStores/config'; import { Logger } from '../../logger'; import { MiningPool } from '../pool'; import { IStratumAdapter } from './adapters'; import { MiningDisconnectMessage, MiningNotifyMessage, MiningSetTargetMessage, MiningStatusMessage, MiningSubmittedMessage, MiningSubscribedMessageV1, MiningSubscribedMessageV2 } from './messages'; import { StratumPeers } from './stratumPeers'; import { StratumServerClient } from './stratumServerClient'; export declare class StratumServer { readonly pool: MiningPool; readonly config: Config; readonly logger: Logger; readonly peers: StratumPeers; readonly adapters: IStratumAdapter[]; clients: Map; nextMinerId: number; nextMessageId: number; subscribed: number; currentWork: Buffer | null; currentMiningRequestId: number | null; readonly supportedVersions: number[]; private _isRunning; private _startPromise; constructor(options: { pool: MiningPool; config: Config; logger: Logger; banning?: boolean; }); get isRunning(): boolean; /** Starts the Stratum server and tells any attached adapters to start serving requests */ start(): Promise; /** Stops the Stratum server and tells any attached adapters to stop serving requests */ stop(): Promise; /** Adds an adapter to the Stratum server and starts it if the server has already been started */ mount(adapter: IStratumAdapter): void; newWork(miningRequestId: number, block: Buffer): void; waitForWork(): void; hasWork(): boolean; onConnection(socket: net.Socket): void; private onDisconnect; private onData; private handleMiningSubscribeMessage; private handleMiningSubmitMessage; private handleMiningGetStatusMessage; private onError; getNotifyMessage(): MiningNotifyMessage; getSetTargetMessage(): MiningSetTargetMessage; private broadcast; send(socket: net.Socket, method: 'mining.notify', body: MiningNotifyMessage): void; send(socket: net.Socket, method: 'mining.disconnect', body: MiningDisconnectMessage): void; send(socket: net.Socket, method: 'mining.set_target', body: MiningSetTargetMessage): void; send(socket: net.Socket, method: 'mining.subscribed', body: MiningSubscribedMessageV1): void; send(socket: net.Socket, method: 'mining.subscribed', body: MiningSubscribedMessageV2): void; send(socket: net.Socket, method: 'mining.submitted', body: MiningSubmittedMessage): void; send(socket: net.Socket, method: 'mining.wait_for_work'): void; send(socket: net.Socket, method: 'mining.status', body: MiningStatusMessage): void; sendStratumError(client: StratumServerClient, id: number, message: string): void; } //# sourceMappingURL=stratumServer.d.ts.map