Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.

Commit 0969ad7

Browse files
committed
Fix Provider type: implement 'empty' variables to the other providers interfaces to make a OR between them
1 parent 9324c51 commit 0969ad7

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

packages/web3/types.d.ts

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ export declare interface JsonRPCResponse {
1818

1919
type Callback<T> = (error: Error, result: T) => void
2020
type ABIDataTypes = "uint256" | "boolean" | "string" | "bytes" | string // TODO complete list
21-
export declare interface IProvider {
22-
send(payload: JsonRPCRequest, callback: (e: Error, val: JsonRPCResponse) => void)
23-
}
2421
type PromiEventType = "transactionHash" | "receipt" | "confirmation" | "error"
2522
export declare interface PromiEvent<T> extends Promise<T> {
2623
once(type: "transactionHash", handler: (receipt: string) => void): PromiEvent<T>
@@ -232,6 +229,9 @@ export declare interface Tx {
232229
gasPrice?: string | number
233230

234231
}
232+
export declare interface IProvider {
233+
send(payload: JsonRPCRequest, callback: (e: Error, val: JsonRPCResponse) => void)
234+
}
235235
export declare interface WebsocketProvider extends IProvider {
236236
responseCallbacks: object
237237
notificationCallbacks: [() => any]
@@ -246,9 +246,27 @@ export declare interface WebsocketProvider extends IProvider {
246246
removeAllListeners(type: string): void
247247
reset(): void
248248
}
249-
export declare interface HttpProvider extends IProvider { }
250-
export declare interface IpcProvider extends IProvider { }
251-
export type Provider = WebsocketProvider & IpcProvider & HttpProvider
249+
export declare interface HttpProvider extends IProvider {
250+
responseCallbacks: undefined
251+
notificationCallbacks: undefined
252+
connection: undefined
253+
addDefaultEvents: undefined
254+
on(type: string, callback: () => any): undefined
255+
removeListener(type: string, callback: () => any): undefined
256+
removeAllListeners(type: string): undefined
257+
reset(): undefined
258+
}
259+
export declare interface IpcProvider extends IProvider {
260+
responseCallbacks: undefined
261+
notificationCallbacks: undefined
262+
connection: undefined
263+
addDefaultEvents: undefined
264+
on(type: string, callback: () => any): undefined
265+
removeListener(type: string, callback: () => any): undefined
266+
removeAllListeners(type: string): undefined
267+
reset(): undefined
268+
}
269+
export type Provider = WebsocketProvider | IpcProvider | HttpProvider;
252270
type Unit = "kwei" | "femtoether" | "babbage" | "mwei" | "picoether" | "lovelace" | "qwei" | "nanoether" | "shannon" | "microether" | "szabo" | "nano" | "micro" | "milliether" | "finney" | "milli" | "ether" | "kether" | "grand" | "mether" | "gether" | "tether"
253271
export type BlockType = "latest" | "pending" | "genesis" | number
254272
export declare interface Iban { }

0 commit comments

Comments
 (0)