fix isEth logic

This commit is contained in:
Thrilok Kumar 2022-01-17 00:49:28 +05:30
parent ac72a6d574
commit 75aeed557a

View File

@ -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);