tanglepay-sdk-monorepo
Version:
DApp SDK to interact with TanglePay wallets
33 lines (27 loc) • 1.01 kB
text/typescript
import { EventEmitter } from 'events';
import { RequestArguments} from 'tanglepaysdk-common';
export interface ProviderRpcError extends Error {
code: number;
data?: unknown;
}
export interface ProviderMessage {
type: string;
data: unknown;
}
export interface ProviderConnectInfo {
readonly chainId: string;
}
export interface IEthereumProvider extends EventEmitter {
// connection event
on(event: 'connect', listener: (info: ProviderConnectInfo) => void): this;
// disconnection event
on(event: 'disconnect', listener: (error: ProviderRpcError) => void): this;
// arbitrary messages
on(event: 'message', listener: (message: ProviderMessage) => void): this;
// chain changed event
on(event: 'chainChanged', listener: (chainId: string) => void): this;
// accounts changed event
on(event: 'accountsChanged', listener: (accounts: string[]) => void): this;
// make an Ethereum RPC method call.
request(args: RequestArguments): Promise<unknown>;
}