UNPKG

1.82 kBTypeScriptView Raw
1interface JsonRPCRequest {
2 jsonrpc: string;
3 method: string;
4 params: any[];
5 id: number;
6}
7
8interface JsonRPCResponse {
9 jsonrpc: string;
10 id: number;
11 result?: any;
12 error?: string;
13}
14
15export class Provider {
16 send(
17 payload: JsonRPCRequest,
18 callback: (e: Error, val: JsonRPCResponse) => void
19 ): any;
20}
21
22export class WebsocketProvider extends Provider {
23 responseCallbacks: object;
24 notificationCallbacks: [() => any];
25 connection: {
26 onclose(e: any): void;
27 onmessage(e: any): void;
28 onerror(e?: any): void;
29 };
30 addDefaultEvents: () => void;
31 on(type: string, callback: () => any): void;
32 removeListener(type: string, callback: () => any): void;
33 removeAllListeners(type: string): void;
34 reset(): void;
35}
36export class HttpProvider extends Provider {
37 responseCallbacks: undefined;
38 notificationCallbacks: undefined;
39 connection: undefined;
40 addDefaultEvents: undefined;
41 on(type: string, callback: () => any): undefined;
42 removeListener(type: string, callback: () => any): undefined;
43 removeAllListeners(type: string): undefined;
44 reset(): undefined;
45}
46export class IpcProvider extends Provider {
47 responseCallbacks: undefined;
48 notificationCallbacks: undefined;
49 connection: undefined;
50 addDefaultEvents: undefined;
51 on(type: string, callback: () => any): undefined;
52 removeListener(type: string, callback: () => any): undefined;
53 removeAllListeners(type: string): undefined;
54 reset(): undefined;
55}
56
57export default interface Providers {
58 WebsocketProvider: new (
59 host: string,
60 timeout?: number
61 ) => WebsocketProvider;
62 HttpProvider: new (host: string, timeout?: number) => HttpProvider;
63 IpcProvider: new (path: string, net: any) => IpcProvider;
64}