BLOCKS_PER_DAY
is hardcoded and assumes a 12-second block time, which will not hold on all EVM-compatible chain and might also not hold on Ethereum in the future.
Constructor sets emissionRate
with :
This means initially, the protocol assumes the EVM it is deploying on has a 12-sec block time.
The issue is important as it means that once deployed, the protocol will have a faster emission on Polygon (2-sec block time) than on Ethereum for example.
The tick
function is defined as follows:
We can see that amountToMint
is directly dependent on the block time, as more blocks will be added if block time is shorter.
The impact of this issue is high, given that it makes emission dependent on the rhythm of block production. Deploying the protocol on Polygon or Optimism with around 2 seconds per block will lead to 6 times more RAAC tokens minted in the same compared to Ethereum with 12 seconds per block.
Also, Ethereum might reduce the block time in the future, which will directly impact the emission rate of RAAC token.
This means emission rate can be guaranteed.
Manual review.
Emission logic should be modified, potentially using block.timestamp
instead of block.number
to ensure a predictable and chain-independent emission rate.
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.