2020-10-05 15:46:12 -04:00
|
|
|
import { Network, Networkish } from "@ethersproject/networks";
|
2020-03-12 19:14:50 +01:00
|
|
|
import { Event } from "./base-provider";
|
|
|
|
import { JsonRpcProvider } from "./json-rpc-provider";
|
|
|
|
export declare type InflightRequest = {
|
|
|
|
callback: (error: Error, result: any) => void;
|
|
|
|
payload: string;
|
|
|
|
};
|
|
|
|
export declare type Subscription = {
|
|
|
|
tag: string;
|
|
|
|
processFunc: (payload: any) => void;
|
|
|
|
};
|
2022-03-09 02:56:08 -05:00
|
|
|
export interface WebSocketLike {
|
2022-08-18 14:48:39 -04:00
|
|
|
onopen: ((...args: Array<any>) => any) | null;
|
|
|
|
onmessage: ((...args: Array<any>) => any) | null;
|
|
|
|
onerror: ((...args: Array<any>) => any) | null;
|
2022-03-09 02:56:08 -05:00
|
|
|
readyState: number;
|
|
|
|
send(payload: any): void;
|
|
|
|
close(code?: number, reason?: string): void;
|
|
|
|
}
|
2020-03-12 19:14:50 +01:00
|
|
|
export declare class WebSocketProvider extends JsonRpcProvider {
|
|
|
|
readonly _websocket: any;
|
|
|
|
readonly _requests: {
|
|
|
|
[name: string]: InflightRequest;
|
|
|
|
};
|
2020-10-05 15:46:12 -04:00
|
|
|
readonly _detectNetwork: Promise<Network>;
|
2020-03-12 19:14:50 +01:00
|
|
|
readonly _subIds: {
|
|
|
|
[tag: string]: Promise<string>;
|
|
|
|
};
|
|
|
|
readonly _subs: {
|
|
|
|
[name: string]: Subscription;
|
|
|
|
};
|
|
|
|
_wsReady: boolean;
|
2022-03-09 02:56:08 -05:00
|
|
|
constructor(url: string | WebSocketLike, network?: Networkish);
|
|
|
|
get websocket(): WebSocketLike;
|
2020-10-05 15:46:12 -04:00
|
|
|
detectNetwork(): Promise<Network>;
|
2020-03-22 14:57:17 -04:00
|
|
|
get pollingInterval(): number;
|
2020-03-12 19:14:50 +01:00
|
|
|
resetEventsBlock(blockNumber: number): void;
|
2020-03-22 14:57:17 -04:00
|
|
|
set pollingInterval(value: number);
|
2020-03-12 19:14:50 +01:00
|
|
|
poll(): Promise<void>;
|
2020-03-22 14:57:17 -04:00
|
|
|
set polling(value: boolean);
|
2020-03-12 19:14:50 +01:00
|
|
|
send(method: string, params?: Array<any>): Promise<any>;
|
|
|
|
static defaultUrl(): string;
|
|
|
|
_subscribe(tag: string, param: Array<any>, processFunc: (result: any) => void): Promise<void>;
|
|
|
|
_startEvent(event: Event): void;
|
|
|
|
_stopEvent(event: Event): void;
|
2020-07-13 08:03:56 -04:00
|
|
|
destroy(): Promise<void>;
|
2020-03-12 19:14:50 +01:00
|
|
|
}
|
2021-01-19 05:22:54 -05:00
|
|
|
//# sourceMappingURL=websocket-provider.d.ts.map
|