【发布时间】:2022-12-23 10:30:33
【问题描述】:
uniswap如何获取eth或erc20代币的余额?我在 multicall 合约的接口代码中找不到。
【问题讨论】:
标签: ethereum solidity smartcontracts uniswap balance
uniswap如何获取eth或erc20代币的余额?我在 multicall 合约的接口代码中找不到。
【问题讨论】:
标签: ethereum solidity smartcontracts uniswap balance
每个 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));
【讨论】: