Skip to content

Commit cfc3b95

Browse files
authored
Merge pull request #62 from euler-xyz/zero-amount-quotes
ensure quotes for 0 amount swaps return exactly 0
2 parents 9fc8d0f + 9adb695 commit cfc3b95

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/QuoteLib.sol

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ library QuoteLib {
2929
view
3030
returns (uint256)
3131
{
32+
if (amount == 0) return 0;
33+
3234
require(IEVC(evc).isAccountOperatorAuthorized(p.eulerAccount, address(this)), OperatorNotInstalled());
3335
require(amount <= type(uint112).max, SwapLimitExceeded());
3436

test/Periphery.t.sol

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,12 @@ contract PeripheryTest is EulerSwapTestBase {
120120

121121
assertEq(assetTST2.balanceOf(anyone), amountOut);
122122
}
123+
124+
function test_SwapZeroAmounts() public view {
125+
assertEq(periphery.quoteExactInput(address(eulerSwap), address(assetTST), address(assetTST2), 0), 0);
126+
assertEq(periphery.quoteExactInput(address(eulerSwap), address(assetTST2), address(assetTST), 0), 0);
127+
128+
assertEq(periphery.quoteExactOutput(address(eulerSwap), address(assetTST), address(assetTST2), 0), 0);
129+
assertEq(periphery.quoteExactOutput(address(eulerSwap), address(assetTST2), address(assetTST), 0), 0);
130+
}
123131
}

0 commit comments

Comments
 (0)