Skip to main content

ERC20

You can interact with erc20 token by creating instance of class ERC20. ERC20 class contains all different methods required for standard erc20 contract.

ERC20 instance can be created by passing token address in constructor.

import { ERC20 } from "@ethcontracts/core";

const token = new ERC20(<tokenAddress>);

init​

initiate token with provider.

ethers.js​

import { ERC20 } from "@ethcontracts/core";
import { EthersClient } from "@ethcontracts/ethers";
await token.init(new EthersClient(<wallet provider>));

web3.js​

import { ERC20 } from "@ethcontracts/core";
import { Web3Client } from "@ethcontracts/web3";
await token.init(new Web3Client(<wallet provider>));

👉 you can call init multiple times with different provider. This allows you to use the same token instance in multichain dapp.

getName​

getName returns the name of the token.

const tokenName = await token.getName();

getDecimals​

getDecimals returns the decimals of the token.

const tokenDecimal = await token.getDecimals();

getSymbol​

getSymbol returns the symbol of the token.

const symbol = await token.getSymbol();

getBalance​

getBalance returns the balance of a user.

const tokenBalance =  await token.getBalance(<userAddress>);

getTotalSupply​

getTotalSupply returns the total supply of the token.

const totalSupply = await token.getTotalSupply();

getAllowance​

getAllowance returns the allowance of a spender for a user.

const allowance = await token.getAllowance(<owner>, <spender>);

approve​

approve method approves the allowance of a spender for the current user.

const [getTransactionHash, getTransactionReceipt] = token.approve(<spenderAddress>, <amount>);

const txhash = await getTransactionHash();
const txReceipt = await getTransactionReceipt();

transfer​

transfer method can be used to transfer amount to another user.

const [getTransactionHash, getTransactionReceipt] = token.transfer(<toAddress>, <amount>);

const txhash = await getTransactionHash();
const txReceipt = await getTransactionReceipt();

transferFrom​

transferFrom method can be used to transfer amount to another user by a spender or owner.

const [getTransactionHash, getTransactionReceipt] = token.transferFrom(<fromAddress>,<toAddress>, <amount>);

const txhash = await getTransactionHash();
const txReceipt = await getTransactionReceipt();

increaseAllowance​

increaseAllowance method can be used to increase the allowance of a spender.

const [getTransactionHash, getTransactionReceipt] = token.increaseAllowance(<spenderAddress>, <amount>);

const txhash = await getTransactionHash();
const txReceipt = await getTransactionReceipt();

decreaseAllowance​

decreaseAllowance method can be used to decrease the allowance of a spender.

const [getTransactionHash, getTransactionReceipt] = token.decreaseAllowance(<spenderAddress>, <amount>);

const txhash = await getTransactionHash();
const txReceipt = await getTransactionReceipt();