TransferTokens

This function triggers a modal for the user to confirm the transfer

Description

Function to trigger a transfer for a native or ERC20 token. This will trigger a confirmation modal displaying a summary of the transaction and associated fees for the user.

Details

Signature

TransferTokens(args)

Arguments

ParameterTypeDefinition

args.callback?

Function

Function to callback upon txhash, success or failed transfer. Structure of result object passed into callback function:

{
    "status": "TXHASH", // "TXHASH"/"SUCCESS"/"FAILED"
    "errorMsg": "", 
    "txHash": "0xec90b7c220b1d9550c202ed7adb7db97be2b8c8b9f422bb2d3c555498d95ef49",
    "from": "0xb8E46105a6F11E3250837897b3A10450716b28d8",
    "to": "0xfFEaf294116b610d0cdD4afaAfe861563c72BB76",
    "amount": "0.1",
    "currency": Object // type Currency class
}

args.to?

String

Address to send tokens to. If not passed in, will prompt user to enter address.

args.amount?

String

Amount to send in display units of the currency. So if you want the user to pay 0.5 ETH, pass in '0.5' to this field. If value not passed in, will prompt user to pass in the amount

args.currency?

asset (class)

Asset object of the currency you want to send. If value not passed in, will prompt user to pass in the currency

Return Value

None

Example

Calling transfer without args

import { useMetafi } from '@metafi/react-sdk';

function App() {
    const { TransferTokens } = useMetafi();
    
    const transfer = () => {
        TransferTokens(res => console.log("received result from transfer", res));
    };

    return (
        <>
            <button onClick={transfer}>Transfer ETH</button>
        </>
    );
};

Calling transfer with args

import { useMetafi, assets } from '@metafi/react-sdk';

function App() {
    const { TransferTokens } = useMetafi();
    
    const transfer = () => {
        TransferTokens({
            userIdentifier: "12345",
            callback: (res) => {
                console.log("received result from transfer", res)
            },
            "to": "0xfFEaf294106b630d0cdD4afaAfe861563c72BB76",    // to
            "amount": "0.1",    // amount in display unit
            "currency": assets.eth,    // currency
        });
    };

    return (
        <>
           <button onClick={transfer}>Transfer ETH</button>
        </>
    );
};

Last updated