@tronweb3/tronwallet-adapter-metamask-tron
v1.1.0
Published
Wallet adapter for MetaMask Extension and App Wallet on TRON.
Downloads
43,597
Readme
@tronweb3/tronwallet-adapter-metamask-tron
This package provides an adapter to enable TRON DApps to connect to the MetaMask Wallet.
Demo
import { MetaMaskAdapter } from '@tronweb3/tronwallet-adapter-metamask-tron';
const config = {
openAppWithDeeplink: true, // open MetaMask app when wallet not found on mobile devices
openUrlWhenWalletNotFound: true, // open MetaMask website when wallet not found
};
const adapter = new MetaMaskAdapter(config);
// connect to wallet
await adapter.connect();
// then you can get address
console.log(adapter.address);
// create a send TRX transaction
const unSignedTransaction = await tronWeb.transactionBuilder.sendTrx(targetAddress, 100, adapter.address);
// using adapter to sign the transaction
const signedTransaction = await adapter.signTransaction(unSignedTransaction);
// broadcast the transaction
await tronWeb.trx.sendRawTransaction(signedTransaction);Documentation
API
Constructor(config?: MetaMaskAdapterConfig)interface MetaMaskAdapterConfig { /** * Set if open MetaMask app using DeepLink. * Default is true. */ openAppWithDeeplink?: boolean; /** * Set if open MetaMask website when wallet is not found. * Default is true. */ openUrlWhenWalletNotFound?: boolean; }Example:
import { MetaMaskAdapter } from '@tronweb3/tronwallet-adapter-metamask-tron'; const adapter = new MetaMaskAdapter({ openAppWithDeeplink: true, // open MetaMask app when wallet not found on mobile devices openUrlWhenWalletNotFound: true, // open MetaMask website when wallet not found });
Security Check
MetaMaskAdapter 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 MetaMaskAdapter({
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
multiSignis not supported yet.- Only wallet imported by mnemonic can be used on TRON network.
For more information about tronwallet adapters, please refer to @tronweb3/tronwallet-adapters
