diff --git a/contracts/src/TroveManager.sol b/contracts/src/TroveManager.sol index 8510045a..fd62d3ee 100644 --- a/contracts/src/TroveManager.sol +++ b/contracts/src/TroveManager.sol @@ -729,9 +729,13 @@ contract TroveManager is ERC721, LiquityBase, Ownable, ITroveManager { uint256 _bold, uint256 _ETH ) internal { - _defaultPool.decreaseBoldDebt(_bold); - _activePool.increaseRecordedDebtSum(_bold); - _defaultPool.sendETHToActivePool(_ETH); + if (_bold > 0) { + _defaultPool.decreaseBoldDebt(_bold); + _activePool.increaseRecordedDebtSum(_bold); + } + if (_ETH > 0) { + _defaultPool.sendETHToActivePool(_ETH); + } } // --- Redemption functions --- diff --git a/contracts/src/test/redemptions.t.sol b/contracts/src/test/redemptions.t.sol index 95259668..bc8e5732 100644 --- a/contracts/src/test/redemptions.t.sol +++ b/contracts/src/test/redemptions.t.sol @@ -110,8 +110,7 @@ contract Redemptions is DevTestSetup { // Fast-forward to generate interest vm.warp(block.timestamp + 1 days); - (,, uint256 redistDebtGain_A,, uint256 accruedInterest_A) = - troveManager.getEntireDebtAndColl(troveIDs.A); + (,, uint256 redistDebtGain_A,, uint256 accruedInterest_A) = troveManager.getEntireDebtAndColl(troveIDs.A); assertGt(accruedInterest_A, 0); assertEq(redistDebtGain_A, 0);