@@ -66,11 +66,6 @@ contract EulerSwap is IEulerSwap, EVCUtil {
66
66
// EulerSwap params
67
67
68
68
require (params.fee < 1e18 , BadParam ());
69
- require (
70
- params.equilibriumReserve0 <= type (uint112 ).max && params.equilibriumReserve1 <= type (uint112 ).max,
71
- BadParam ()
72
- );
73
- require (params.currReserve0 <= type (uint112 ).max && params.currReserve1 <= type (uint112 ).max, BadParam ());
74
69
require (curveParams.priceX > 0 && curveParams.priceY > 0 , BadParam ());
75
70
require (curveParams.priceX <= 1e36 && curveParams.priceY <= 1e36 , BadParam ());
76
71
require (curveParams.concentrationX <= 1e18 && curveParams.concentrationY <= 1e18 , BadParam ());
@@ -100,6 +95,7 @@ contract EulerSwap is IEulerSwap, EVCUtil {
100
95
101
96
// Validate reserves
102
97
98
+ require (verify (equilibriumReserve0, equilibriumReserve1), CurveViolation ());
103
99
require (verify (reserve0, reserve1), CurveViolation ());
104
100
require (! verify (reserve0 > 0 ? reserve0 - 1 : 0 , reserve1 > 0 ? reserve1 - 1 : 0 ), CurveViolation ());
105
101
@@ -135,7 +131,6 @@ contract EulerSwap is IEulerSwap, EVCUtil {
135
131
uint256 newReserve0 = reserve0 + amount0In - amount0Out;
136
132
uint256 newReserve1 = reserve1 + amount1In - amount1Out;
137
133
138
- require (newReserve0 <= type (uint112 ).max && newReserve1 <= type (uint112 ).max, Overflow ());
139
134
require (verify (newReserve0, newReserve1), CurveViolation ());
140
135
141
136
reserve0 = uint112 (newReserve0);
@@ -191,6 +186,8 @@ contract EulerSwap is IEulerSwap, EVCUtil {
191
186
192
187
/// @inheritdoc IEulerSwap
193
188
function verify (uint256 newReserve0 , uint256 newReserve1 ) public view returns (bool ) {
189
+ if (newReserve0 > type (uint112 ).max || newReserve1 > type (uint112 ).max) return false ;
190
+
194
191
if (newReserve0 >= equilibriumReserve0) {
195
192
if (newReserve1 >= equilibriumReserve1) return true ;
196
193
return
0 commit comments