UNPKG

@linenext/dapp-portal-sdk

Version:

Dapp Portal SDK

42 lines (41 loc) 1.74 kB
import { EventEmitter } from 'eventemitter3'; import { DappPortalSDKConfig } from '../config/config'; import { WalletType } from '../enum/WalletType'; import { RpcSuccessResponse } from '../message/RpcMessage'; import { EventProvider } from './EventProvider'; import { EIP1193Provider, RequestArguments } from './interface'; export declare class WalletProvider extends EventEmitter implements EIP1193Provider { private readonly config; private handler; private readonly chainNodeRpcClient; private readonly metricApiClient; private readonly sdkLocalStorage; private isProcessingRequestToWallet; private readonly trackingId; private readonly eventProvider; host: string; connected: boolean; timeout: number; initializePromise: Promise<void>; constructor(config: DappPortalSDKConfig, trackingId: string, eventProvider: EventProvider); private initialize; private initializeHandler; getWalletType(): WalletType | null; disconnectWallet(): Promise<void>; request(requestArgs: RequestArguments): Promise<unknown>; getErc20TokenBalance(contractAddress: string, walletAddress: string): Promise<string>; private requestToWallet; private connectWallet; private connectAndSign; private initializeWalletType; private selectProviderType; private getLatestWalletTypeFromStorage; private getLatestProviderTypeFromStorage; private validateTxType; private validateSignTransaction; send(payload: object, callback?: (error: Error | null, result: RpcSuccessResponse | undefined) => void): Promise<void>; supportsSubscriptions(): boolean; disconnect(): boolean; private sendWalletConnectMetric; } export default WalletProvider;