【问题标题】:How does uniswap get the balance of eth or erc20 tokens?uniswap如何获取eth或erc20代币的余额?
【发布时间】:2022-12-23 10:30:33
【问题描述】:

uniswap如何获取eth或erc20代币的余额?我在 multicall 合约的接口代码中找不到。

【问题讨论】:

    标签: ethereum solidity smartcontracts uniswap balance


    【解决方案1】:

    每个 ERC20 代币都有一个映射来跟踪地址余额

    mapping(address => uint) public balanceOf;
    

    当 Uniswap 需要检查任何代币余额时,例如UniswapV2Pair.sol,它首先需要获取已部署代币的地址,然后检查每个合约内部的映射

        // token0 is the contract address of token0
        uint balance0 = IERC20(token0).balanceOf(address(this));
        // token1 is the contract address of token1
        uint balance1 = IERC20(token1).balanceOf(address(this));
    

    【讨论】:

      猜你喜欢
      • 2021-08-31
      • 2022-07-29
      • 1970-01-01
      • 2021-04-26
      • 2021-07-28
      • 2019-06-28
      • 2022-09-26
      • 1970-01-01
      • 2018-09-10
      相关资源
      最近更新 更多