Core Contracts

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

Incorrect assumption of block time in `RAACMinter` for multichain deployment

Summary

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.

Vulnerability Details

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

// @audit-issue multichain deployment
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; // 2000 RAAC per day maximum
uint256 public constant MAX_EMISSION_UPDATE_INTERVAL = 1 days;
uint256 public constant MAX_ADJUSTMENT_FACTOR = 100; // 100% adjustment per update
uint256 public constant MAX_UTILIZATION_TARGET = 100; // 100% target utilization

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.

Impact

Incorrect Emission Calculations: The number of blocks per day differs across chains, leading to over- or under-emission of RAAC tokens.

Tools Used

Manual Review

Recommendations

Use block.timestamp Instead of block numbers for time calculations

Updates

Lead Judging Commences

inallhonesty Lead Judge 3 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 3 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 3 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.