UNPKG

@tronweb3/tronwallet-adapter-gatewallet

Version:

Wallet adapter for Gate Wallet app and extension.

80 lines 2.86 kB
import { Adapter, AdapterState, WalletReadyState } from '@tronweb3/tronwallet-abstract-adapter'; import type { Transaction, SignedTransaction, AdapterName, BaseAdapterConfig, Network, EventEmitter } from '@tronweb3/tronwallet-abstract-adapter'; import type { TronWeb, TronLinkWallet, ReqestAccountsResponse } from '@tronweb3/tronwallet-adapter-tronlink'; interface GateReqestAccountsResponseErr extends ReqestAccountsResponse { rpcUrl?: string; accountAddress?: string; hex?: string; } type GateReqestAccountsResponse = GateReqestAccountsResponseErr | Array<string>; interface TronTronWeb extends TronWeb { ready: boolean; } interface TronWallet extends EventEmitter { request(config: Record<string, unknown>): Promise<GateReqestAccountsResponse | null>; tronWeb: TronTronWeb; } interface GateWallet extends EventEmitter { tronLink: TronLinkWallet; tron: TronWallet; } declare global { interface Window { gatewallet?: GateWallet; } } export interface GateWalletAdapterConfig extends BaseAdapterConfig { /** * Timeout in millisecond for checking if GateWallet wallet exists. * Default is 2 * 1000ms */ checkTimeout?: number; /** * Set if open GateWallet app using DeepLink. * Default is true. */ openAppWithDeeplink?: boolean; } export declare const GateWalletAdapterName: AdapterName<"Gate Wallet">; export declare class GateWalletAdapter extends Adapter { name: AdapterName<"Gate Wallet">; url: string; icon: string; config: Required<GateWalletAdapterConfig>; private _readyState; private _state; private _connecting; private _wallet; private _address; constructor(config?: GateWalletAdapterConfig); get address(): string | null; get state(): AdapterState; get readyState(): WalletReadyState; get connecting(): boolean; /** * Get network information used by GateWallet. * @returns {Network} Current network information. */ network(): Promise<Network>; connect(): Promise<void>; disconnect(): Promise<void>; signTransaction(transaction: Transaction, privateKey?: string): Promise<SignedTransaction>; multiSign(transaction: Transaction, privateKey?: string | false, permissionId?: number): Promise<SignedTransaction>; signMessage(message: string, privateKey?: string): Promise<string>; private checkAndGetWallet; private _listenEvent; private _stopListenEvent; private onGateAccountChange; private checkIfOpenGateWallet; private _checkPromise; /** * check if wallet exists by interval, the promise only resolve when wallet detected or timeout * @returns if GateWallet exists */ private _checkWallet; private _updateWallet; private setAddress; private setState; } export {}; //# sourceMappingURL=adapter.d.ts.map