File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -199,10 +199,17 @@ abstract contract MaglevBase is IMaglevBase, EVCUtil {
199
199
200
200
uint256 quote = computeQuote (amount, exactIn, asset0IsInput);
201
201
202
- require (quote <= (asset0IsInput ? reserve1 : reserve0), InsufficientReserves ());
203
- require (quote <= IEVault (asset0IsInput ? vault1 : vault0).cash (), InsufficientCash ());
202
+ if (exactIn) {
203
+ // if `exactIn`, `quote` is the amount of assets to buy from the AMM
204
+ require (quote <= (asset0IsInput ? reserve1 : reserve0), InsufficientReserves ());
205
+ require (quote <= IEVault (asset0IsInput ? vault1 : vault0).cash (), InsufficientCash ());
206
+ } else {
207
+ // if `!exactIn`, `amount` is the amount of assets to buy from the AMM
208
+ require (amount <= (asset0IsInput ? reserve1 : reserve0), InsufficientReserves ());
209
+ require (amount <= IEVault (asset0IsInput ? vault1 : vault0).cash (), InsufficientCash ());
210
+ }
204
211
205
- // exactOut: increase required amountIn, rounding up
212
+ // exactOut: increase required quote( amountIn) , rounding up
206
213
if (! exactIn) quote = (quote * 1e18 + (feeMultiplier - 1 )) / feeMultiplier;
207
214
208
215
return quote;
You can’t perform that action at this time.
0 commit comments