From c63de7669445ccd9a20a5e32a10605b6de869704 Mon Sep 17 00:00:00 2001 From: 0xEmiya Date: Mon, 3 Feb 2025 11:57:59 +0800 Subject: [PATCH] Fix bugs in DSCEngineTest.t.sol: errors in calculating liquidation bonus amount (#108) --- test/unit/DSCEngineTest.t.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/unit/DSCEngineTest.t.sol b/test/unit/DSCEngineTest.t.sol index d5c8e27..6d2ac3d 100644 --- a/test/unit/DSCEngineTest.t.sol +++ b/test/unit/DSCEngineTest.t.sol @@ -453,7 +453,7 @@ contract DSCEngineTest is StdCheats, Test { function testLiquidationPayoutIsCorrect() public liquidated { uint256 liquidatorWethBalance = ERC20Mock(weth).balanceOf(liquidator); uint256 expectedWeth = dsce.getTokenAmountFromUsd(weth, amountToMint) - + (dsce.getTokenAmountFromUsd(weth, amountToMint) / dsce.getLiquidationBonus()); + + (dsce.getTokenAmountFromUsd(weth, amountToMint) * dsce.getLiquidationBonus() / dsce.getLiquidationPrecision()); uint256 hardCodedExpected = 6_111_111_111_111_111_110; assertEq(liquidatorWethBalance, hardCodedExpected); assertEq(liquidatorWethBalance, expectedWeth); @@ -462,7 +462,7 @@ contract DSCEngineTest is StdCheats, Test { function testUserStillHasSomeEthAfterLiquidation() public liquidated { // Get how much WETH the user lost uint256 amountLiquidated = dsce.getTokenAmountFromUsd(weth, amountToMint) - + (dsce.getTokenAmountFromUsd(weth, amountToMint) / dsce.getLiquidationBonus()); + + (dsce.getTokenAmountFromUsd(weth, amountToMint) * dsce.getLiquidationBonus() / dsce.getLiquidationPrecision()); uint256 usdAmountLiquidated = dsce.getUsdValue(weth, amountLiquidated); uint256 expectedUserCollateralValueInUsd = dsce.getUsdValue(weth, amountCollateral) - (usdAmountLiquidated);