@@ -47,6 +47,7 @@ abstract contract ERC4626Prop is Test {
4747
4848 bool internal _vaultMayBeEmpty;
4949 bool internal _unlimitedAmount;
50+ bool internal _skipRoundTripShares;
5051
5152 //
5253 // asset
@@ -271,15 +272,15 @@ abstract contract ERC4626Prop is Test {
271272 if (! _vaultMayBeEmpty) vm.assume (IERC20 (_vault_).totalSupply () > 0 );
272273 vm.prank (caller); uint shares1 = vault_deposit (assets, caller);
273274 vm.prank (caller); uint shares2 = vault_withdraw (assets, caller, caller);
274- assertApproxGeAbs (shares2, shares1, _delta_);
275+ if ( ! _skipRoundTripShares) assertApproxGeAbs (shares2, shares1, _delta_);
275276 }
276277
277278 // deposit(redeem(s)) <= s
278279 function prop_RT_redeem_deposit (address caller , uint shares ) public checkNoFreeProfit (caller) {
279280 vm.prank (caller); uint assets = vault_redeem (shares, caller, caller);
280281 if (! _vaultMayBeEmpty) vm.assume (IERC20 (_vault_).totalSupply () > 0 );
281282 vm.prank (caller); uint shares2 = vault_deposit (assets, caller);
282- assertApproxLeAbs (shares2, shares, _delta_);
283+ if ( ! _skipRoundTripShares) assertApproxLeAbs (shares2, shares, _delta_);
283284 }
284285
285286 // a = redeem(s)
@@ -297,7 +298,7 @@ abstract contract ERC4626Prop is Test {
297298 if (! _vaultMayBeEmpty) vm.assume (IERC20 (_vault_).totalSupply () > 0 );
298299 vm.prank (caller); uint assets = vault_mint (shares, caller);
299300 vm.prank (caller); uint shares2 = vault_withdraw (assets, caller, caller);
300- assertApproxGeAbs (shares2, shares, _delta_);
301+ if ( ! _skipRoundTripShares) assertApproxGeAbs (shares2, shares, _delta_);
301302 }
302303
303304 // a = mint(s)
@@ -325,7 +326,7 @@ abstract contract ERC4626Prop is Test {
325326 vm.prank (caller); uint shares1 = vault_withdraw (assets, caller, caller);
326327 if (! _vaultMayBeEmpty) vm.assume (IERC20 (_vault_).totalSupply () > 0 );
327328 vm.prank (caller); uint shares2 = vault_deposit (assets, caller);
328- assertApproxLeAbs (shares2, shares1, _delta_);
329+ if ( ! _skipRoundTripShares) assertApproxLeAbs (shares2, shares1, _delta_);
329330 }
330331
331332 //
0 commit comments