1.0.3 • Published 2 months ago

@tronweb3/tronwallet-adapter-tokenpocket v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@tronweb3/tronwallet-adapter-tokenpocket

This package provides an adapter to enable TRON DApps to connect to the TokenPocket Wallet App.

Demo

import { TokenPocketAdapter } from '@tronweb3/tronwallet-adapter-tokenpocket';
import TronWeb from 'tronweb';

const tronWeb = new TronWeb({
    fullHost: 'https://api.trongrid.io',
    headers: { 'TRON-PRO-API-KEY': 'your api key' },
});

const adapter = new TokenPocketAdapter();
// connect
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: TokenPocketConfig)
interface TokenPocketConfig {
    /**
     * 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 is Network as 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;
    };

Caveats

  • TokenPocket App doesn't implement signMessage(), multiSign() and switchChain().
  • TokenPocket App will be connected automatically and when user change accounts, the page will reload. So there is no need to to listen to accountsChanged event.

For more information about tronwallet adapters, please refer to @tronweb3/tronwallet-adapters