The RAACMinter
contract assumes a fixed 12-second block time, which is inaccurate across different EVM-compatible chains. This incorrect assumption affects the calculation of emission rates, benchmarking, and other time-dependent operations, potentially causing unintended behavior on networks with different block times, particularly Layer 2 solutions.
The protocol documentation states that the system is intended to be deployed on all EVM-compatible chains. However, the RAACMinter
contract hardcodes a block time assumption of 12 seconds, leading to incorrect calculations in chains where the block time is different.
Affected Code in RAACMinter
Using a fixed block time of 12 seconds can lead to severe miscalculations on chains with different block speeds. For example, on Unichain (1s block time), the system would incorrectly assume 5x the number of blocks per day, distorting emission calculations.
Incorrect Emission Calculations: The number of blocks per day differs across chains, leading to over- or under-emission of RAAC
tokens.
Manual Review
Use block.timestamp
Instead of block numbers for time calculations
Known issue LightChaser M12
Known issue LightChaser M12
Known issue LightChaser M12
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.