mirror of
https://github.com/luxfi/page-provider.git
synced 2026-10-30 15:22:37 +00:00
74 lines
2.3 KiB
TypeScript
74 lines
2.3 KiB
TypeScript
/// <reference types="node" />
|
|
import { EventEmitter } from "events";
|
|
export interface Interceptor {
|
|
onRequest?: (data: any) => any;
|
|
onResponse?: (res: any, data: any) => any;
|
|
}
|
|
interface StateProvider {
|
|
accounts: string[] | null;
|
|
isConnected: boolean;
|
|
isUnlocked: boolean;
|
|
initialized: boolean;
|
|
isPermanentlyDisconnected: boolean;
|
|
}
|
|
export declare class EthereumProvider extends EventEmitter {
|
|
chainId: string | null;
|
|
selectedAddress: string | null;
|
|
/**
|
|
* The network ID of the currently connected Ethereum chain.
|
|
* @deprecated
|
|
*/
|
|
networkVersion: string | null;
|
|
isLux: boolean;
|
|
isMetaMask: boolean;
|
|
_isLux: boolean;
|
|
_isReady: boolean;
|
|
_isConnected: boolean;
|
|
_initialized: boolean;
|
|
_isUnlocked: boolean;
|
|
_cacheRequestsBeforeReady: any[];
|
|
_cacheEventListenersBeforeReady: [string | symbol, () => any][];
|
|
_state: StateProvider;
|
|
_metamask: {
|
|
isUnlocked: () => Promise<unknown>;
|
|
};
|
|
private _pushEventHandlers;
|
|
private _requestPromise;
|
|
private _dedupePromise;
|
|
private _bcm;
|
|
constructor({ maxListeners }?: {
|
|
maxListeners?: number | undefined;
|
|
});
|
|
initialize: () => Promise<void>;
|
|
private _requestPromiseCheckVisibility;
|
|
private _handleBackgroundMessage;
|
|
isConnected: () => boolean;
|
|
request: (data: any) => Promise<unknown>;
|
|
_request: (data: any) => Promise<unknown>;
|
|
requestInternalMethods: (data: any) => Promise<unknown>;
|
|
sendAsync: (payload: any, callback: any) => Promise<any> | undefined;
|
|
send: (payload: any, callback?: any) => Promise<any> | {
|
|
id: any;
|
|
jsonrpc: any;
|
|
result: any;
|
|
} | undefined;
|
|
shimLegacy: () => void;
|
|
on: (event: string | symbol, handler: (...args: any[]) => void) => this;
|
|
}
|
|
declare global {
|
|
interface Window {
|
|
ethereum: EthereumProvider;
|
|
web3: any;
|
|
lux: EthereumProvider;
|
|
luxWalletRouter: {
|
|
luxProvider: EthereumProvider;
|
|
lastInjectedProvider?: EthereumProvider;
|
|
currentProvider: EthereumProvider;
|
|
providers: EthereumProvider[];
|
|
setDefaultProvider: (luxAsDefault: boolean) => void;
|
|
addProvider: (provider: EthereumProvider) => void;
|
|
};
|
|
}
|
|
}
|
|
export {};
|