The RAACMinter::updateEmissionRate function updates the emission rate without minting RAAC tokens for the stability pool corresponding to the previous emission phase. For example:
Phase 1: Blocks 100-200 with 50% emission rate
Phase 2: Blocks 200-300 with 60% emission rate
Current implementation calculates amountToMint as (300-100)*60% instead of the correct (200-100)*50% + (300-200)*60%.Causing discrepancies between the quantities calculated externally via RAACMinter::getEmissionRate and the actual amounts.
Accounting Discrepancy: Stability pool receives incorrect RAAC token balances
Emission Distortion: Historical emission periods become mathematically unreconcilable
Manual Review
step1.Call the RAACMinter::tick function before updating emissionRate in RAACMinter::updateEmissionRate.
step2.Refactor RAACMinter::tick to Prevent Infinite Loops Between RAACMinter::tick and RAACMinter::updateEmissionRate:
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.