solidity 合约delegatecall 吊起uniswap v3 报错

zark zark 提出于 2023-08-23 10:48 4739 浏览

我在自己的合约中使用delegatecall的方式调用uniswap v3 router的方法失败,但是我直接在uniswap v3 router 合约中吊起对应方法可以,uniswap v3 router 是否不支持delegatecall

我的合约代码:

        bytes memory params = abi.encodeWithSignature(
                          "exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))",
            IUniswapV3Router.ExactInputSingleParams(
                tokenIn,
                address(iWETH),
                fee,
                address(this),
                deadline,
                amountIn,
                amountOutMin,
                0
            )
        );

        // 使用委托代理调用 Uniswap V3 路由器的方法
        (bool success, ) = address(uniswapV3Router).delegatecall(params);

我这里不直接调用是因为如果直接调用就需要钱包先把币转到合约中,但是有的币因为有税,这样转移就会导致丢失部分代币,或者是否有其他方法可以在不转移钱包代币的情况下吊起该方法

最佳答案

2023-08-23 12:04

v3 不支持带税币

Jeack

采纳率 17% · 回答于 2023-08-23 11:16

其它 1 个回答

zark 2023-08-23 12:04

写回答

你需要登录后才可以回答问题,登录