Core Contracts

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

Missing Event Emissions in FeeCollector Contract

Summary:

The emission of an event for applyTreasuryUpdate and applyRepairFundUpdate are particularly important as they will be used to track the actual execution of address changes after the timelock period, providing transparency for when critical protocol addresses are updated. Currently, only the initiation of these updates is logged through TreasuryUpdated and RepairFundUpdated events.

Details

  1. Missing Required Events:

function applyTreasuryUpdate() external {
treasury = pendingTreasury.newAddress;
delete pendingTreasury;
// Missing: emit TreasuryUpdateApplied(treasury, block.timestamp);
}
function applyRepairFundUpdate() external {
repairFund = pendingRepairFund.newAddress;
delete pendingRepairFund;
// Missing: emit RepairFundUpdateApplied(repairFund, block.timestamp);
}

Impact

Updates in the applyRepairFundUpdate and applyTreasuryUpdate will not be trackable if the system relies on a off-chain system that tracks event emission.

Tools Used

Manual Review

Recommendations

  1. Add missing event emissions:

    function applyTreasuryUpdate() external {
    address newTreasuryAddress = pendingTreasury.newAddress;
    treasury = newTreasuryAddress;
    delete pendingTreasury;
    + emit TreasuryUpdateApplied(newTreasuryAddress, block.timestamp);
    }
    function applyRepairFundUpdate() external {
    address newRepairFundAddress = pendingRepairFund.newAddress;
    repairFund = newRepairFundAddress;
    delete pendingRepairFund;
    + emit RepairFundUpdateApplied(newRepairFundAddress, block.timestamp);
    }
Updates

Lead Judging Commences

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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