@fortmatic/icon-gateway

0.1.1 • Public • Published

icon-gateway

Installation

npm i @fortmatic/icon-gateway fortmatic icon-sdk-js

Setup

import IconExtension from '@fortmatic/icon-gateway'
import Fortmatic from 'fortmatic';

export const fmPhantom = new Fortmatic.Phantom('YOUR_API_KEY',{
    rpcUrl: 'https://bicon.net.solidwallet.io/api/v3',
    chainId: 2,
    chainType: 'ICON'
});
const phantomProvider = fmPhantom.getProvider();

const fmIconService = new IconExtension(phantomProvider);

Whitelabel SDK method

Please go to fortmatic doc (https://docs.fortmatic.com/whitelabel-sdk/client-js-sdk) to check Whitelabel SDK method like User Authentication and Get User Metadata

Usage

Build the transaction object using builder class.

    /* Build `IcxTransaction` instance for sending ICX. */
    const txObj = new IconBuilder.IcxTransactionBuilder()
                .from("hxe4837d3b902dcaf9abe529f5584489c28d8b4621")
                .to("hxe4837d3b902dcaf9abe529f5584489c28d8b4621")
                .value(IconAmount.of(0.5, IconAmount.Unit.ICX).toLoop())
                .stepLimit(IconConverter.toBigNumber(100000))
                .nid(IconConverter.toBigNumber(3))
                .nonce(IconConverter.toBigNumber(1))
                .version(IconConverter.toBigNumber(3))
                .timestamp((new Date()).getTime() * 1000)
                .build();
    
    /* Build `MessageTransaction` instance for sending data. */
    const txObj = new IconBuilder.MessageTransactionBuilder()
                  .from('hxe4837d3b902dcaf9abe529f5584489c28d8b4621')
                  .to('hxe4837d3b902dcaf9abe529f5584489c28d8b4621')
                  .stepLimit(IconConverter.toBigNumber(1000000))
                  .nid(IconConverter.toBigNumber(3))
                  .nonce(IconConverter.toBigNumber(1))
                  .version(IconConverter.toBigNumber(3))
                  .timestamp((new Date()).getTime() * 1000)
                  .data(IconConverter.fromUtf8('Hello'))
                  .build();
           
    /* Build `DeployTransaction` instance for deploying SCORE. */
    const txObj = new DeployTransactionBuilder()
                .from('hxe4837d3b902dcaf9abe529f5584489c28d8b4621')
                .to('cx0000000000000000000000000000000000000000')
                .stepLimit(IconConverter.toBigNumber(2100000000))
                .nid(IconConverter.toBigNumber(3))
                .nonce(IconConverter.toBigNumber(1))
                .version(IconConverter.toBigNumber(3))
                .timestamp((new Date()).getTime() * 1000)
                .contentType('application/zip')
                .content(`0x${content}`)
                .params({
                    initialSupply: IconConverter.toHex('100000000000'),
                    decimals: IconConverter.toHex(18),
                    name: 'StandardToken',
                    symbol: 'ST',
                })
                .build();
    
    /* Build `CallTransaction` instance for executing SCORE function. */
    const txObj = new IconBuilder.CallTransactionBuilder()
                .from('hxe4837d3b902dcaf9abe529f5584489c28d8b4621')
                .to('cxd1602bde1d4b2b4facc8673c661c5e59e6ac20b4')
                .stepLimit(IconConverter.toBigNumber('2000000'))
                .nid(IconConverter.toBigNumber('3'))
                .nonce(IconConverter.toBigNumber('1'))
                .version(IconConverter.toBigNumber('3'))
                .timestamp((new Date()).getTime() * 1000)
                .method('hello')
                .params({})

By passing txObj instance to fmIconService.sendTransaction() method, it will automatically sign the transaction with current user and generate transaction object including signature, and send to ICON node.

    const txhash = await fmIconService.sendTransaction(txObj);

    console.log('transaction result', txhash);
    window.open(`https://bicon.tracker.solidwallet.io/transaction/${txhash}`)

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i @fortmatic/icon-gateway

      Weekly Downloads

      2

      Version

      0.1.1

      License

      MIT

      Unpacked Size

      8.69 kB

      Total Files

      7

      Last publish

      Collaborators

      • romin-halltari
      • darrentmagic
      • magictristan
      • musicbender
      • jay.hwang
      • benmagic
      • josh_scanlan
      • sgdheeban
      • magic_mikeb
      • magiclabs_fe
      • amagic
      • ayv8er
      • mikeysight
      • damianjachyra
      • jasonatmagic
      • bcleary06
      • lishang106
      • seanli
      • jmjin
      • ethella
      • dizigen
      • dc-magic
      • hcote