Core Contracts

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

`RAACMinter::setFeeCollector` Address Zero Check Prevents `FeeCollectionDisabled` Event Emission

Summary

The RAACMinter::setFeeCollector function contains an address zero check that conflicts with the design logic of RAACToken::setFeeCollector. Specifically:

  • RAACToken::setFeeCollector emits FeeCollectionDisabled when receiving address(0)

  • RAACMinter::setFeeCollector forcefully reverts on address(0) input
    This contradiction makes it impossible to disable fee collection through the official governance path, permanently preventing the emission of the critical status event.

Vulnerability Details

function setFeeCollector(address _feeCollector) external onlyRole(UPDATER_ROLE) {
if (_feeCollector == address(0)) revert FeeCollectorCannotBeZeroAddress(); <==@found
raacToken.setFeeCollector(_feeCollector);
emit ParameterUpdated("feeCollector", uint256(uint160(_feeCollector)));
}

Impact

  • The FeeCollectionDisabled event will not be emitted

  • The RAACToken::feeCollector will never be set to the zero address

Tools Used

  • Manual Review

Recommendations

Remove Zero-Address Check in RAACMinter::setFeeCollector:

function setFeeCollector(address _feeCollector) external onlyRole(UPDATER_ROLE) {
- if (_feeCollector == address(0)) revert FeeCollectorCannotBeZeroAddress();
raacToken.setFeeCollector(_feeCollector);
emit ParameterUpdated("feeCollector", uint256(uint160(_feeCollector)));
}
Updates

Lead Judging Commences

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

RAACMinter::setFeeCollector prevents disabling fees by blocking zero address assignment

Support

FAQs

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

Give us feedback!