Contract approval

Network tokens need to grant permission to the contract first to be able to exchange on the contract

1. EVM Chain

This example uses the BSC chain USDT to apprive the contract 0xb685760ebd368a891f27ae547391f4e2a289895b

abi File

Determine whether to approve and if gas is sufficient

// isApproved example
// USDT(BSC)  0x55d398326f99059ff775485246999027b3197955
 import { ethers } from "ethers";
 import abi from './abi'  // For details on the abi file, see the BridgersAbi.json file above
 import BigNumber from 'bignumber.js'

 const walletAddress = '0x6F14653a91AC36935bdB15db6ccC66dC57593653' // wallet address
 const contractAddress = '0x733dab9e78b67e1d4ccd1c2066f006d5eddf25be' //contract address
 const tokenContract = '0x55d398326f99059ff775485246999027b3197955' //token contract
 const provider = new ethers.providers.Web3Provider(window.ethereum, "any")
 const contract = new ethers.Contract(tokenContract, abi, provider)
 const fromNumber = 100 // 100 as a comparison quantity
 contract
  .allowance(walletAddress, contractAddress)
  .then((allowAmt) => {
    const num = new BigNumber(
     ethers.utils.formatUnits(allowAmt, 18),
    )
    const fromTokenNum = new BigNumber(fromNumber)
    console.log(num.toString())
    console.log(fromTokenNum.toString())
    if (num.gt(fromTokenNum)) {
        console.log('don`t need Approved')
    } else {
        console.log('need Approved')
    }
  })
  .catch( err => {
    //console.log(err)
  })

approval code example

2、TRON Chain

This example uses the TRON chain USDT to apprive the contract TEorZTZ5MHx8SrvsYs1R3Ds5WvY1pVoMSA

Determine whether to approve and if gas is sufficient

approval code example

send coins code example

Last updated