RAACMinter::tickare used to calculate the should be emission rate for RAACToken rewards, but this function has flaw when calculating the utilization rate of whole system, as the result always result in high percentage.
culprit lies inside the getUtilizationRatefunction where some crucial function use this like the tickfunction:
first it wrongly retrieved totalBorrowedby calling lendingPool.getNormalizedDebt()where the result is only the current debt index. usually in RAY (eg: 1.1e27).
second, the totalDeposits only count the rToken deposit inside the stability pool, not the whole system, where it should be actually retrieve the total asset deposited in the LendingPoolas this utilization rate is derived from the value of borrowed asset vs deposited asset.
this stated in the documentation that RAACMinter interaction with LendingPool is for getting system utilization data.
by dividing the index and only the deposited rToken in stability pool would lead to high amount of false utilization rate, this would lead to incorrect emission rate for RAAC Token rewards when tickfunction is called, resulting in diluted amount of reward and non functional dynamic emission as stated in the documentation. diluted amount of reward would makes the potential benefit reduced for user who depositing their rToken in stability pool.
manual review
retrieve the reserve.totalUsageand reserve.totalLiquidityfrom lending pool then use it to correctly calculate the utilization rate in RAACMinter:
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.