@tronweb3/tronwallet-adapter-okxwallet
v1.1.0
Published
Wallet adapter for Okx Wallet extension and Okx Wallet app.
Readme
@tronweb3/tronwallet-adapter-okxwallet
This package provides an adapter to enable TRON DApps to connect to the Okx Wallet extension and Okx Wallet App.
Demo
import { OkxWalletAdapter } from '@tronweb3/tronwallet-adapter-okxwallet';
const adapter = new OkxWalletAdapter();
// connect to OkxWallet
await adapter.connect();
// then you can get address
console.log(adapter.address);
// create a send TRX transaction
const unSignedTransaction = await window.okxwallet.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.okxwallet.tronLink.tronWeb.trx.sendRawTransaction(signedTransaction);Documentation
API
Constructor(config: OkxWalletAdapterConfig)
interface OkxWalletAdapterConfig {
/**
* 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 isNetworkas follows:export enum NetworkType { Mainnet = 'Mainnet', Shasta = 'Shasta', Nile = 'Nile', /** * When use custom node */ Unknown = 'Unknown', } export type Network = { networkType: NetworkType; chainId: string; fullNode: string; solidityNode: string; eventServer: string; };
Security Check
OkxWalletAdapter supports an optional securityOptions field for detecting wallet risks before connect(). When enabled, the adapter fetches a remote risk configuration and calls onRiskDetected if the wallet is flagged.
const adapter = new OkxWalletAdapter({
securityOptions: {
enabled: true,
configUrls: ['https://your-server.com/security-config.json'],
onRiskDetected: async ({ risks }) => {
// Throw to block the connection, or log a warning
throw new Error(`Wallet risk detected: ${risks[0].title}`);
},
},
});For the full SecurityOptions API reference, see walletadapter.org/docs.
Caveats
- OkxWallet App and Extension doesn't implement
multiSign()andswitchChain()and will throw error when call them. - OkxWallet Extension only support these:
accountsChanged,connect,disconnect. - OkxWallet App does not support any events.
- Deeplink only works for OKX App version 6.1.38 or later on Android.
- OkxWallet Extension supports auto-reconnect after a page refresh, while the OkxWallet App does not.
For more information about tronwallet adapters, please refer to @tronweb3/tronwallet-adapters
