fix mixSwap weth to eth

This commit is contained in:
owen05
2021-01-12 20:33:44 +08:00
parent ab4b5b7c03
commit 847d0bf895
6 changed files with 56 additions and 19 deletions

View File

@@ -645,20 +645,27 @@ contract DODOV2Proxy01 is IDODOV2Proxy01, ReentrancyGuard, InitializableOwnable
IUni(curPair).swapExactTokensForTokens(curAmountIn,0,portionPath,address(this),deadLine);
}
}
IERC20(_toToken).universalTransfer(
msg.sender,
IERC20(_toToken).universalBalanceOf(address(this))
);
{
uint256 toBalance;
if (_toToken == _ETH_ADDRESS_) {
toBalance = IWETH(_WETH_).balanceOf(address(this));
IWETH(_WETH_).withdraw(toBalance);
} else {
toBalance = IERC20(_toToken).tokenBalanceOf(address(this));
}
IERC20(_toToken).universalTransfer(msg.sender,toBalance);
}
returnAmount = IERC20(_toToken).universalBalanceOf(msg.sender).sub(toTokenOriginBalance);
require(returnAmount >= minReturnAmount, "DODOV2Proxy01: Return amount is not enough");
_externalGasReturn();
if(isIncentive) {
IDODOIncentive(_DODO_INCENTIVE_).triggerIncentive(_fromToken,_toToken,msg.sender);
}
emit OrderHistory(_fromToken, _toToken, msg.sender, fromTokenAmount, returnAmount);
}