合约授权

一、EVM链相关

本示例使用 BSC链USDT 对合约0xe5934c17cf172b83a4f5f4f8a94385ec0ef48537进行授权

判断是否授权及授权额度是否充足

// isApproved example
// USDT(BSC)  0x55d398326f99059ff775485246999027b3197955
 import { ethers } from "ethers";
 import abi from './abi'  // abi文件详见上方CrossChainXAbi.json文件
 import BigNumber from 'bignumber.js'

 const walletAddress = '0x6F14653a91AC36935bdB15db6ccC66dC57593653' // wallet address
 const contractAddress = '0x1ed5685f345b2fa564ea4a670de1fde39e484751' //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)
  })

授权操作

二、TRON链相关

本示例使用 TRON链USDT 对合约TEorZTZ5MHx8SrvsYs1R3Ds5WvY1pVoMSA进行授权

判断是否授权及授权额度是否充足

授权操作

发币操作

Last updated