diff --git a/contracts/SmartRoute/proxies/DODORouteProxy.sol b/contracts/SmartRoute/proxies/DODORouteProxy.sol index 1432391..e5a96a3 100644 --- a/contracts/SmartRoute/proxies/DODORouteProxy.sol +++ b/contracts/SmartRoute/proxies/DODORouteProxy.sol @@ -88,6 +88,10 @@ contract DODORouteProxy { require(mixPairs.length == assetTo.length - 1, "DODORouteProxy: PAIR_ASSETTO_NOT_MATCH"); require(minReturnAmount > 0, "DODORouteProxy: RETURN_AMOUNT_ZERO"); + if(fromToken == _ETH_ADDRESS_) { + require(msg.value == fromTokenAmount, "DODORouteProxy: MSG_VALUE_NOT_MATCH"); + } + address _fromToken = fromToken; address _toToken = toToken; uint256 _fromTokenAmount = fromTokenAmount; @@ -141,6 +145,10 @@ contract DODORouteProxy { address fromToken = midToken[0]; address toToken = midToken[midToken.length - 1]; + if(fromToken == _ETH_ADDRESS_) { + require(msg.value == _fromTokenAmount, "DODORouteProxy: MSG_VALUE_NOT_MATCH"); + } + uint256 toTokenOriginBalance = IERC20(toToken).universalBalanceOf(msg.sender); _deposit(msg.sender, assetFrom[0], fromToken, _fromTokenAmount, fromToken == _ETH_ADDRESS_);