The calculateUtilizationRate function incorrectly computes the utilization rate by using totalDebt / (totalLiquidity + totalDebt), rather than the correct formula totalDebt / totalLiquidity. This results in underestimating the available liquidity and miscalculating utilization-based interest rate adjustments, potentially leading to Underestimated Interest
The function mistakenly divides totalDebt by (totalLiquidity + totalDebt), which skews the utilization rate lower than it should be. The correct calculation should be:
This incorrect formula distorts the protocol's interest rate model, affecting borrower incentives and liquidity provider returns.
For example:
If totalDebt = 80 and totalLiquidity = 100
Current calculation: 80 / (100 + 80) = 44.4% utilization
Correct calculation: 80 / 100 = 80% utilization
Which means there is no possible way this function would have been trigger:
The utilizationRate will always be less than optimalUtilizationRatein this case until probably the optimalUtilizationRateis drastically reduced which doesnt remove the impact.
Lower utilization rates lead to lower interest rates
Protocol earns less fees than it should
Borrowers pay less interest than they should
Lenders receive lower returns than intended
Manual
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.