npm.io
1.2.0 • Published 2 weeks ago

@tronweb3/tronwallet-adapter-backpack

Licence
MIT
Version
1.2.0
Deps
1
Size
180 kB
Vulns
0
Weekly
0
Stars
80

@tronweb3/tronwallet-adapter-backpack

Backpack wallet adapter for Backpack Wallet browser extension.

Installation

npm install @tronweb3/tronwallet-adapter-backpack
# or
yarn add @tronweb3/tronwallet-adapter-backpack
# or
pnpm add @tronweb3/tronwallet-adapter-backpack

Usage

Basic Usage
import { BackpackAdapter } from '@tronweb3/tronwallet-adapter-backpack';

const adapter = new BackpackAdapter();

// Connect
await adapter.connect();

// Sign message
const signature = await adapter.signMessage('Hello TRON');

// Sign transaction
const signedTx = await adapter.signTransaction(transaction);

// Disconnect
await adapter.disconnect();
Event Handling
// Listen to connection events
adapter.on('connect', (address) => {
    console.log('Connected:', address);
});

adapter.on('disconnect', () => {
    console.log('Disconnected');
});

adapter.on('stateChanged', (state) => {
    console.log('State changed:', state);
});

adapter.on('error', (error) => {
    console.error('Error:', error);
});
Error Handling
import {
    WalletNotFoundError,
    WalletConnectionError,
    WalletDisconnectedError,
} from '@tronweb3/tronwallet-abstract-adapter';

try {
    await adapter.connect();
} catch (error) {
    if (error instanceof WalletNotFoundError) {
        console.error('Backpack wallet not found');
    } else if (error instanceof WalletConnectionError) {
        console.error('Connection failed:', error.message);
    }
}
Security Check

BackpackAdapter 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 BackpackAdapter({
    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.

Browser Support

  • Chrome/Chromium-based browsers (extension)
  • Firefox (extension)

Caveats

  • Currently Backpack wallet only support TRON on Browser Extension wallet.
  • Backpack wallet does not support multiSign.
  • Backpack wallet only support Mainnet and Shasta.
  • Backpack extension cannot be connected automatically after page refresh.
  • Backpack extension events cannot work fine currently.

Troubleshooting

Wallet Not Detected

If the adapter cannot detect Backpack wallet:

  1. Ensure Backpack browser extension is installed
  2. Refresh the page after installing the extension
  3. Check browser console for errors

License

MIT

Keywords