@tronweb3/tronwallet-adapter-imtoken
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

@tronweb3/tronwallet-adapter-imtoken

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

Demo

import { ImTokenAdapter } from '@tronweb3/tronwallet-adapter-imtoken';
import TronWeb from 'tronweb';
const tronWeb = new TronWeb({
    fullHost: 'https://api.trongrid.io',
    headers: { 'TRON-PRO-API-KEY': 'your api key' },
});

const adapter = new ImTokenAdapter();
// 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

  • Constructor(config: ImTokenAdapterConfig)

    interface ImTokenAdapterConfig {
        /**
         * Set if open Wallet's website when wallet is not installed.
         * Default is true.
         */
        openUrlWhenWalletNotFound?: boolean;
        /**
         * Timeout in millisecond for checking if ImToken wallet is supported.
         * Default is 2 * 1000ms
         */
        checkTimeout?: number;
        /**
         * Set if open ImToken app using DeepLink.
         * 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

  • signMessage() is not supported in imToken Android App (v2.16).
  • multiSign() and switchChain() are not supported in imToken App.
  • imToken App will reload current page so there is no need to listen accountsChanged event.

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

Readme

Keywords

Package Sidebar

Install

npm i @tronweb3/tronwallet-adapter-imtoken

Weekly Downloads

1,887

Version

1.0.2

License

MIT

Unpacked Size

191 kB

Total Files

27

Last publish

Collaborators

  • troncore
  • tronwallet-adapter