Function: _liquidateNormalMode(ITroveManager troveManager, address _borrower, uint256 _debtInStabPool, bool sunsetting)
This internal function is invoked to perform a "normal" liquidation, where 100% < ICR < 110%.
Inputs
troveManagerControl: None.
Constraints: None.
Impact: The trove manager is used to determine the trove, move the pending balances and close it.
_borrowerControl: None.
Constraints: None.
Impact: The borrower address to be liquidated.
_debtInStabPoolControl: None.
Constraints: None.
Impact: Available debt in stability pool.
sunsettingControl: None.
Constraints: None.
Impact: All debt is distributed if sunsetting is true.
Branches and code coverage (including function calls)
Intended branches
Should liquidate the trove in normal mode.
Trove should be closed after the liquidation.
Function call analysis
troveManager.getEntireDebtAndColl(_borrower)What is controllable?
_borrower.If return value controllable, how is it used and how can it go wrong? Return values are not controllable.
What happens if it reverts, reenters, or does other unusual control flow? No reentrancy scenarios.
troveManager.movePendingTroveRewardsToActiveBalances(pendingDebtReward, pendingCollReward)What is controllable? N/A.
If return value controllable, how is it used and how can it go wrong? Return value is not controllable.
What happens if it reverts, reenters, or does other unusual control flow? No reentrancy scenarios.
troveManager.closeTroveByLiquidation(_borrower)What is controllable?
_borrower.If return value controllable, how is it used and how can it go wrong? Return value is not controllable.
What happens if it reverts, reenters, or does other unusual control flow? No reentrancy scenarios.