StabilityPool.liquidateBorrower()
multiplies user debt by getNormalizedDebt()
even though the debt is already usage-indexed, resulting in a doubled interest factor.
getUserDebt()
already returns debt scaled by the usage index; multiplying again squares the index, overestimating debt.
Liquidations may fail or require too much CRVUSD, potentially locking user positions or leading to partial reverts.
Manual review of usage index logic (DebtToken
/ LendingPool
/ StabilityPool
)
Remove the second multiplication by getNormalizedDebt()
. Use userDebt
directly if it’s already scaled.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.