怎么在合约里调用DEX进行交易呢

function swap(address token,uint amountIn,uint amountOutMin,address[] calldata path,address to,uint deadline)external {
//require(block.timestamp>Users[msg.sender].time_overdue,"time < block.timestamp");
        IMdexRouter(token).swapExactTokensForTokensSupportingFeeOnTransferTokens(amountIn,amountOutMin,path,to,deadline);
    }

这是百度找着写的代码,但是交易一直失败,原因见下图! 这里有几个问题搞不明白 1.在合约里调用这个方法是合约与DEX之间进行交易呢,还是由调用者进行交易的 2.不知道为什么交易不成功,我往合约里面转了1个USDT也是同样的错误

求路过的大佬解惑

QQ20210908163706.png

请先 登录 后评论

最佳答案 2021-09-08 20:21

  1. 你交易的对象是合约,这个合约会调用 DEX。
  2. 应该是你没有进行approve 授权。
请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,2665 浏览
  • 1312930610 提出于 2021-09-08 16:43