Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: high
Invalid

Hardcoded Blocks Per Day Constant Breaks Token Emissions Across Different EVM Chains

Summary

The RAACMinter contract hardcodes BLOCKS_PER_DAY based on a 12-second block time, making emissions inconsistent across chains with different block times.

// In RAACMinter.sol
uint256 public constant BLOCKS_PER_DAY = 7200; // Assuming 12-second block time
uint256 public constant INITIAL_RATE = 1000 * 1e18; // 1000 RAAC per day
uint256 public constant MAX_BENCHMARK_RATE = 2000 * 1e18 / BLOCKS_PER_DAY;

Vulnerability Details

RAAC protocols will be deployed on different EVM chains, with a focus on Curve cross chain ecosystem, meanings:

  • Ethereum

  • Binance Smart Chain

  • Optimism

  • Arbitrum

  • Avalance

  • Polygon

Impact

Those EVMs do not have the same block time

  • ETH (12s): 7200 blocks/day → 1000 RAAC/day

  • Optimism (2s): 43200 blocks/day → 6000 RAAC/day

  • Arbitrum (0.25s): 345600 blocks/day → 48000 RAAC/day

This drastically changes token economics across chains, leading to:

  1. Hyperinflation on faster chains

  2. Broken emission schedules

  3. Devalued token price

Tools Used

Manual

Recommendations

Make BLOCKS_PER_DAY configurable based on deployment chain:

uint256 public blocksPerDay;
constructor(uint256 _blockTime) {
blocksPerDay = 24 * 60 * 60 / _blockTime;
emissionRate = INITIAL_RATE / blocksPerDay;
}

Also notes that this value should be configurable as it can change with blockchain upgrades

Updates

Lead Judging Commences

inallhonesty Lead Judge 10 months ago
Submission Judgement Published
Validated
Assigned finding tags:

RAACMinter hardcoded BLOCKS_PER_DAY breaks cross-chain compatibility with variable token emission rates

Known issue LightChaser M12

inallhonesty Lead Judge 10 months ago
Submission Judgement Published
Validated
Assigned finding tags:

RAACMinter hardcoded BLOCKS_PER_DAY breaks cross-chain compatibility with variable token emission rates

Known issue LightChaser M12

Appeal created

inallhonesty Lead Judge 9 months ago
Submission Judgement Published
Invalidated
Reason: Design choice
Assigned finding tags:

RAACMinter hardcoded BLOCKS_PER_DAY breaks cross-chain compatibility with variable token emission rates

Known issue LightChaser M12

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!