The RAACMinter.updateEmissionRate()
function updates emissionRate
based on the system utilization rate which retrieves from RAACMinter.getUtilizationRate()
function. However, this function returns incorrect system utilization rate and so, emissionRate
is updated incorrectly.
The RAACMinter.getUtilizationRate()
function returns the system utilization rate, however the implementation is incorrect. Let's analyze the following code:
The lendingPool.getNormalizedDebt()
function returns reserve.usageIndex
, but this value is not the total deposit amount and also it uses 1e27 decimal.
The stabilityPool.getTotalDeposits()
function returns total deposit amount of rToken
to stability pool, however this value does't refer total deposit amount to the system.
Both two values totalBorrowed
, totalDeposits
are incorrect and function will return incorrect utiliztion rate.
As result, emissionRate
could be always maxRate
and veRAAC will be minted incorrectly.
emissionRate
will be updated incorrectly and this could result incorrect emission of 'veRAAC` token.
Manual Review
Implement the calculation based on lendingPool.reserve
and lendingPool.rateData
with ReserveLibrary
.
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.