This package provides an adapter to enable TRON DApps to connect to the FoxWallet App.
import { FoxWalletAdapter } from '@tronweb3/tronwallet-adapter-foxwallet';
const adapter = new FoxWalletAdapter();
// connect to FoxWallet
await adapter.connect();
// then you can get address
console.log(adapter.address);
// create a send TRX transaction
const unSignedTransaction = await window.foxwallet.tronLink.tronWeb.transactionBuilder.sendTrx(
targetAddress,
100,
adapter.address
);
// using adapter to sign the transaction
const signedTransaction = await adapter.signTransaction(unSignedTransaction);
// broadcast the transaction
await window.foxwallet.tronLink.tronWeb.trx.sendRawTransaction(signedTransaction);
Constructor(config: FoxWalletAdapterConfig)
interface FoxWalletAdapterConfig {
/**
* Set if open Wallet's website when wallet is not installed.
* Default is true.
*/
openUrlWhenWalletNotFound?: boolean;
/**
* Timeout in millisecond for checking if TokenPocket wallet is supported.
* Default is 2 * 1000ms
*/
checkTimeout?: number;
/**
* Set if open TokenPocket app using DeepLink on mobile device.
* Default is true.
*/
openAppWithDeeplink?: boolean;
}
-
network()
method is supported to get current network information. The type of returned value isNetwork
as follows:export enum NetworkType { Mainnet = 'Mainnet', Shasta = 'Shasta', } export type Network = { networkType: NetworkType; chainId: string; fullNode: string; solidityNode: string; eventServer: string; };
- FoxWallet App doesn't implement
switchChain()
. - Only support
NetworkType.Mainnet
,NetworkType.Shasta
currently. - In FoxWallet,
tronWeb
is a dynamic instance that will be reinitialized when necessary, so the way to accesstronWeb
instance from FoxWallet:- Recommend:
const balance = await window.foxwallet.tronLink.tronWeb.trx.getBalance(address);
- Not recommend:
const tronWeb = window.foxwallet.tronLink.tronWeb; const balance = tronWeb.trx.getBalance(address);
For more information about tronwallet adapters, please refer to @tronweb3/tronwallet-adapters