@@ -114,6 +114,10 @@ contract Basic is EulerSwapTestBase {
114
114
115
115
t1.mint (address (this ), amount);
116
116
uint256 q = periphery.quoteExactInput (address (eulerSwap), address (t1), address (t2), amount);
117
+ {
118
+ uint256 qRev = periphery.quoteExactOutput (address (eulerSwap), address (t1), address (t2), q);
119
+ assertApproxEqAbs (amount, qRev, 200 + (MAX_QUOTE_ERROR + 1 ) * 2 ); // max 100:1 price differential, 2 swaps
120
+ }
117
121
118
122
t1.transfer (address (eulerSwap), amount);
119
123
if (dir) eulerSwap.swap (0 , q, address (this ), "" );
@@ -122,6 +126,10 @@ contract Basic is EulerSwapTestBase {
122
126
123
127
t2.mint (address (this ), amount2);
124
128
uint256 q2 = periphery.quoteExactInput (address (eulerSwap), address (t2), address (t1), amount2);
129
+ {
130
+ uint256 qRev = periphery.quoteExactOutput (address (eulerSwap), address (t2), address (t1), q2);
131
+ assertApproxEqAbs (amount2, qRev, 200 + (MAX_QUOTE_ERROR + 1 ) * 2 );
132
+ }
125
133
126
134
t2.transfer (address (eulerSwap), amount2);
127
135
if (dir) eulerSwap.swap (q2, 0 , address (this ), "" );
0 commit comments