@tronweb3/tronwallet-adapter-gatewallet
Version:
Wallet adapter for Gate Wallet app and extension.
80 lines • 2.86 kB
TypeScript
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