wallets-wrapper
Version:
How to install
26 lines (25 loc) • 1.38 kB
TypeScript
import { ethers } from 'ethers';
import { ChainInfo, TransferToken } from '../../../models';
import { ChainIds, ERC20Names } from '../../../networks';
import { AddEthereumChainParameter, GetBalanceProps, NewEthereumWallet, SignProps, WatchAssetParams } from './types';
export interface IMetamaskWrapper {
init(): void;
generateWallet(): NewEthereumWallet;
connectWallet(): Promise<string[]>;
getAddress(): Promise<string[]>;
getBalance(args?: GetBalanceProps): Promise<number[]>;
getChain(): Promise<ChainInfo | null>;
switchNetwork(chainId: ChainIds): Promise<void>;
switchCustomNetwork(network: AddEthereumChainParameter): Promise<void>;
addToken(token: ERC20Names): Promise<boolean>;
addCustomToken(newAsset: WatchAssetParams): Promise<boolean>;
sign(args: SignProps): Promise<void>;
transfer(args: TransferToken): Promise<ethers.providers.TransactionResponse | null>;
sendSignedTransaction(args: {
tx?: ethers.utils.Deferrable<ethers.providers.TransactionRequest>;
}): Promise<ethers.providers.TransactionResponse>;
sendTransaction(tx: string): Promise<ethers.providers.TransactionResponse>;
addEventListener(eventFilter: ethers.providers.EventType, listener: ethers.providers.Listener): Promise<void>;
scanQrCode(regex?: RegExp): Promise<string>;
getMobileLink(): string;
}