The LendingPool contract contains a critical decimal precision mismatch between getUserDebt
(27 decimals - RAY) and calculateHealthFactor
(18 decimals - WAD), resulting in severely undervalued health factors and incorrect liquidation triggers.
The issue exists in LendingPool.sol:
For example :
Health factors are calculated ~1e9 times smaller than they should be, cause all Positions appear extremely unhealthy when they are safe , therefore , Direct financial loss to users through unnecessary liquidations
Manuel review .
Update calculateHealthFactor to use proper RAY math.
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.