Skip to content

Commit

Permalink
test: test forced market removal
Browse files Browse the repository at this point in the history
  • Loading branch information
MathisGD committed Aug 8, 2024
1 parent 1b9089d commit 41ac724
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions test/forge/LostAssetsTest.sol
Original file line number Diff line number Diff line change
Expand Up @@ -222,4 +222,48 @@ contract LostAssetsTest is IntegrationTest {

assertEq(totalAssetsAfter, totalAssetsBefore + donation);
}

function test_forcedMarketRemoval(uint256 assets0, uint256 assets1) public {
assets0 = bound(assets0, MIN_TEST_ASSETS, MAX_TEST_ASSETS);
assets1 = bound(assets1, MIN_TEST_ASSETS, MAX_TEST_ASSETS);

_setCap(allMarkets[0], type(uint128).max);
Id[] memory supplyQueue = new Id[](1);
supplyQueue[0] = allMarkets[0].id();
vm.prank(CURATOR);
vault.setSupplyQueue(supplyQueue);

loanToken.setBalance(SUPPLIER, assets0);
vm.prank(SUPPLIER);
vault.deposit(assets0, address(vault));

_setCap(allMarkets[1], type(uint128).max);
supplyQueue[0] = allMarkets[1].id();
vm.prank(CURATOR);
vault.setSupplyQueue(supplyQueue);

loanToken.setBalance(SUPPLIER, assets1);
vm.prank(SUPPLIER);
vault.deposit(assets1, address(vault));

_setCap(allMarkets[0], 0);
vm.prank(CURATOR);
vault.submitMarketRemoval(allMarkets[0]);
vm.warp(block.timestamp + vault.timelock());

uint256 totalAssetsBefore = vault.totalAssets();

uint256[] memory withdrawQueue = new uint256[](2);
withdrawQueue[0] = 0;
withdrawQueue[1] = 2;
vm.prank(CURATOR);
vault.updateWithdrawQueue(withdrawQueue);

uint256 totalAssetsAfter = vault.totalAssets();

vault.deposit(0, ONBEHALF); // update lostAssets.

assertEq(totalAssetsBefore, totalAssetsAfter);
assertEq(vault.lostAssets(), assets0);
}
}

0 comments on commit 41ac724

Please sign in to comment.