diff --git a/contracts/mainnet/connectors/uniswap/v3_auto_router/helpers.sol b/contracts/mainnet/connectors/uniswap/v3_auto_router/helpers.sol index f4e6f0aa..812403cb 100644 --- a/contracts/mainnet/connectors/uniswap/v3_auto_router/helpers.sol +++ b/contracts/mainnet/connectors/uniswap/v3_auto_router/helpers.sol @@ -45,17 +45,18 @@ abstract contract Helpers is DSMath, Basic { uint setId ) internal returns (SwapData memory) { + bool isEthBuyToken = address(swapData.buyToken) == ethAddr; + bool isEthSellToken = address(swapData.sellToken) == ethAddr; + swapData.sellToken = address(swapData.sellToken) == ethAddr ? TokenInterface(wethAddr) : swapData.sellToken; swapData.buyToken = address(swapData.buyToken) == ethAddr ? TokenInterface(wethAddr) : swapData.buyToken; - bool isEthSellToken = address(swapData.sellToken) == wethAddr; convertEthToWeth(isEthSellToken, swapData.sellToken, swapData._sellAmt); approve(TokenInterface(swapData.sellToken), V3_SWAP_ROUTER_ADDRESS, swapData._sellAmt); swapData._buyAmt = _swapHelper(swapData); - bool isEthBuyToken = address(swapData.buyToken) == wethAddr; convertWethToEth(isEthBuyToken, swapData.buyToken, swapData._buyAmt); setUint(setId, swapData._buyAmt);