|
2 | 2 | pragma solidity ^0.8.24; |
3 | 3 |
|
4 | 4 | import { |
5 | | - IEVault, IEulerSwap, EulerSwapTestBase, EulerSwap, EulerSwapRegistry, TestERC20 |
| 5 | + IEVC, IEVault, IEulerSwap, EulerSwapTestBase, EulerSwap, EulerSwapRegistry, TestERC20 |
6 | 6 | } from "./EulerSwapTestBase.t.sol"; |
7 | 7 |
|
8 | 8 | contract CuratorTest is EulerSwapTestBase { |
@@ -79,4 +79,24 @@ contract CuratorTest is EulerSwapTestBase { |
79 | 79 |
|
80 | 80 | assertEq(eulerSwapRegistry.validityBond(address(eulerSwap)), 0.2e18); |
81 | 81 | } |
| 82 | + |
| 83 | + function test_bondsSubAccount() public { |
| 84 | + (IEulerSwap.StaticParams memory sParams, IEulerSwap.DynamicParams memory dParams) = |
| 85 | + getEulerSwapParams(1000e18, 1000e18, 1e18, 1e18, 0.85e18, 0.85e18, 0, address(0), 0, address(0)); |
| 86 | + IEulerSwap.InitialState memory initialState = IEulerSwap.InitialState({reserve0: 1000e18, reserve1: 1000e18}); |
| 87 | + |
| 88 | + sParams.eulerAccount = address(uint160(holder) ^ 1); |
| 89 | + |
| 90 | + vm.deal(holder, 0.123e18); |
| 91 | + eulerSwap = createEulerSwapFull(sParams, dParams, initialState); |
| 92 | + |
| 93 | + assertEq(holder.balance, 0); |
| 94 | + |
| 95 | + vm.prank(holder); |
| 96 | + evc.setAccountOperator(sParams.eulerAccount, address(eulerSwap), false); |
| 97 | + vm.prank(holder); |
| 98 | + IEVC(evc).call(address(eulerSwapRegistry), sParams.eulerAccount, 0, abi.encodeCall(EulerSwapRegistry.unregisterPool, ())); |
| 99 | + |
| 100 | + assertEq(holder.balance, 0.123e18); |
| 101 | + } |
82 | 102 | } |
0 commit comments