The getUtilizationRate
function in the Minter
contract incorrectly assumes that getNormalizedDebt()
from the LendingPool
returns the total borrowed amount. However, getNormalizedDebt()
actually returns the usage index, not the actual borrowed amount. This leads to an incorrect calculation of the utilization rate, which in turn affects the emission rate calculation in calculateNewEmissionRate()
, causing inaccurate emissions.
The getUtilizationRate
function uses lendingPool.getNormalizedDebt()
to fetch the total borrowed amount, but this is incorrect because getNormalizedDebt()
returns the usage index rather than the actual total borrowed funds.
The incorrect calculation of totalBorrowed
results in a miscalculated utilization rate, which is used in calculateNewEmissionRate()
:
The system assumes the total borrowed amount is derived from getNormalizedDebt()
, but this value does not reflect the actual outstanding borrowed funds.
The calculated utilization rate is incorrect, leading to an inaccurate emission rate adjustment.
Inaccurate Emission Rate: The incorrect utilization rate results in emissions being adjusted improperly, which can lead to excessive or insufficient rewards.
Economic Instability: If emissions are too high, token inflation could occur, reducing token value. If too low, incentives may not be sufficient for protocol participation.
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.