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 7 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 7 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 6 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!