UNPKG

@dgpub/prime-sdk

Version:

Etherspot Prime (Account Abstraction) SDK

48 lines (47 loc) 2.07 kB
import { BytesLike, TypedDataField, Wallet } from 'ethers'; import type UniversalProvider from '@walletconnect/universal-provider'; import { UniqueSubject } from '../../common'; import { NetworkNames } from '../../network'; export interface WalletProvider { readonly type?: string; readonly wallet?: Wallet; readonly address: string; readonly address$?: UniqueSubject<string>; readonly networkName?: NetworkNames; readonly networkName$?: UniqueSubject<NetworkNames>; signMessage(message: BytesLike): Promise<string>; signTypedData(typedData: TypedDataField[], message: any, accountAddress: string): Promise<string>; } export interface Web3Provider { send(payload: any, callback: (err: any, response?: any) => any): any; } export interface RequestArguments { method: string; params?: unknown[] | object; } export interface Web3eip1193Provider { request(args: RequestArguments): any; } export interface WalletConnectConnector { accounts: string[]; chainId: number; signPersonalMessage(params: any[]): Promise<any>; on(event: string, callback: (error: Error | null, payload: any | null) => void): void; } export interface WalletLike { privateKey: string; } export declare class EthereumProvider { accounts: string[]; signer: InstanceType<typeof UniversalProvider>; chainId: number; request<T = unknown>(args: RequestArguments): Promise<T>; sendAsync(args: RequestArguments, callback: (error: Error | null, response: any) => void): void; disconnect(): Promise<void>; on(event: string, callback: (error: Error | null, payload: any | null) => void): void; once(event: string, callback: (error: Error | null, payload: any | null) => void): void; removeListener(event: string, callback: (error: Error | null, payload: any | null) => void): void; off(event: string, callback: (error: Error | null, payload: any | null) => void): void; readonly isWalletConnect?: boolean; } export type WalletProviderLike = string | WalletLike | WalletProvider | EthereumProvider;