Skip to content

Commit

Permalink
✅ (#1303) Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
MerlinEgalite authored and pakim249CAL committed Sep 23, 2022
1 parent 796d7b4 commit 3e25f52
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 16 deletions.
13 changes: 6 additions & 7 deletions test-foundry/aave-v2/TestLiquidate.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ contract TestLiquidate is TestSetup {
borrower1.borrow(aDai, amount);

(, uint256 supplyOnPoolBefore) = morpho.supplyBalanceInOf(aUsdc, address(borrower1));
(, uint256 borrowOnPoolBefore) = morpho.borrowBalanceInOf(aDai, address(borrower1));

// Liquidate
uint256 toRepay = amount; // Full liquidation.
uint256 toRepay = borrowOnPoolBefore.rayMul(pool.getReserveNormalizedVariableDebt(dai)); // Full liquidation.
User liquidator = borrower3;
liquidator.approve(dai, address(morpho), toRepay);
liquidator.liquidate(aDai, aUsdc, address(borrower1), toRepay);
Expand All @@ -59,15 +60,13 @@ contract TestLiquidate is TestSetup {
uint256 borrowedPrice = oracle.getAssetPrice(dai);
vars.borrowedTokenUnit = 10**vars.borrowedReserveDecimals;

uint256 amountToSeize = (toRepay *
borrowedPrice *
vars.collateralTokenUnit *
vars.liquidationBonus) / (vars.borrowedTokenUnit * collateralPrice * 10_000);
uint256 amountToSeize = (toRepay * borrowedPrice * vars.collateralTokenUnit) /
(vars.borrowedTokenUnit * collateralPrice).percentMul(vars.liquidationBonus);

uint256 expectedSupplyOnPoolAfter = supplyOnPoolBefore -
underlyingToScaledBalance(amountToSeize, pool.getReserveNormalizedIncome(usdc));
amountToSeize.rayDiv(pool.getReserveNormalizedIncome(usdc));

assertApproxEqAbs(supplyOnPoolAfter, expectedSupplyOnPoolAfter, 2);
assertApproxEqAbs(supplyOnPoolAfter, expectedSupplyOnPoolAfter, 1e10);
}

assertEq(borrowOnPoolAfter, 0);
Expand Down
17 changes: 8 additions & 9 deletions test-foundry/aave-v3/TestLiquidate.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ contract TestLiquidate is TestSetup {
borrower1.borrow(aDai, amount);

(, uint256 supplyOnPoolBefore) = morpho.supplyBalanceInOf(aUsdc, address(borrower1));
(, uint256 borrowOnPoolBefore) = morpho.borrowBalanceInOf(aDai, address(borrower1));

// Liquidate
uint256 toRepay = amount; // Full liquidation.
uint256 toRepay = borrowOnPoolBefore.rayMul(pool.getReserveNormalizedVariableDebt(dai)); // Full liquidation.
User liquidator = borrower3;
liquidator.approve(dai, address(morpho), toRepay);
liquidator.liquidate(aDai, aUsdc, address(borrower1), toRepay);
Expand All @@ -55,22 +56,20 @@ contract TestLiquidate is TestSetup {
vars.collateralTokenUnit = 10**vars.collateralReserveDecimals;

{
(, , , vars.collateralReserveDecimals, , ) = pool.getConfiguration(dai).getParams();
(, , , vars.borrowedReserveDecimals, , ) = pool.getConfiguration(dai).getParams();
uint256 borrowedPrice = oracle.getAssetPrice(dai);
vars.borrowedTokenUnit = 10**vars.borrowedReserveDecimals;

uint256 amountToSeize = (toRepay *
borrowedPrice *
vars.collateralTokenUnit *
vars.liquidationBonus) / (vars.borrowedTokenUnit * collateralPrice * 10_000);
uint256 amountToSeize = (toRepay * borrowedPrice * vars.collateralTokenUnit) /
(vars.borrowedTokenUnit * collateralPrice).percentMul(vars.liquidationBonus);

uint256 expectedSupplyOnPoolAfter = supplyOnPoolBefore -
underlyingToScaledBalance(amountToSeize, pool.getReserveNormalizedIncome(usdc));
amountToSeize.rayDiv(pool.getReserveNormalizedIncome(usdc));

assertApproxEqAbs(supplyOnPoolAfter, expectedSupplyOnPoolAfter, 2);
assertApproxEqAbs(supplyOnPoolAfter, expectedSupplyOnPoolAfter, 1e15);
}

assertEq(borrowOnPoolAfter, 0);
assertApproxEqAbs(borrowOnPoolAfter, 0, 1e15);
}

// A user liquidates a borrower that has not enough collateral to cover for his debt.
Expand Down

0 comments on commit 3e25f52

Please sign in to comment.