The RAACMinter
contract's setFeeCollector
function incorrectly prohibits setting the fee collector to the zero address, preventing fee collection from being disabled as intended.
In the RAACMinter
contract, the setFeeCollector
function includes the following check:
This check prevents an authorized updater from passing address(0)
to disable fee collection. However, the corresponding RAACToken::setFeeCollector
implementation in the RAAC token contract explicitly allows setting the fee collector to the zero address to disable fee collection:
Initial Call:
An authorized user with the UPDATER_ROLE
calls the function:
Execution:
The function evaluates the condition:
Result:
The transaction reverts with FeeCollectorCannotBeZeroAddress()
, blocking the attempt to disable fee collection.
Outcome:
As a result, fee collection cannot be disabled, which contradicts the intended functionality provided by the RAAC token contract.
Administrators cannot disable fee collection when necessary, potentially causing unintended fee charges.
Manual Review
Remove the zero-address check in the setFeeCollector function of the RAACMinter contract to allow disabling fee collection, and update the access control modifier to onlyOwner to ensure consistency with the RAAC token contract.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.