Utilization rate is not correctly calculated in RAACMinter.
The getUtilizationRate() in RAACMinter is implemented as below:
RAACMinter::getUtilizationRate()
This function calculates the current system utilization rate by dividing totalBorrowed by totalDeposits, unfortunately, there are flaws:
totalBorrowed is LendingPool's reserve.usageIndex, which is in RAY (27 decimal) precision, wherease totalDeposits is the RToken balance in StabilityPool, and it is in RToken units (18 decimal), hence the utilization rate would be a much larger value than 100 percentage.
Users mint RToken from LendingPool, but not all of them would deposit RToken into StabilityPool, therefore it does not reflect the real system utilization rate.
In RAACMinter, incorrect utilization rate leads to incorrect emission rate, wrong amount of RAACToken would be minted.
Manual Review
It is recommeded to refer to ReserveLibrary's calculateUtilizationRate():
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.