@linenext/dapp-portal-sdk
Version:
Dapp Portal SDK
42 lines (41 loc) • 1.74 kB
TypeScript
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;