ERC20授权问题

image.png image.png image.png

如图所示,msg.sender即本人账户中有大量token0,分别授权自己、图一中合约,router地址三个地址1000个token,结果三个value全部为0,为何会授权不成功呢?

请先 登录 后评论

最佳答案 2022-04-10 09:31

代码中的3处 approve 含义是:

  1. 合约授权给你(你有权使用合约中的代码)
  2. 合约授权给合约自身(没有啥意义的代码)
  3. 合约授权给 Router

授权的主体不是你,而是合约。

如果你要作为授权的主体,是你来调用 ERC20 合约的 approve ,例如通过 web3.js 或 ethers.js 来直接调用调用合约,而不是通过合约来调用,因为通过合约调用,对于ERC20 来说,msg.sender 是合约

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,3134 浏览
  • wings 提出于 2022-04-09 18:43