The contract defines an event FeeCollectorSet to log updates to the fee collector address. However, when the feeCollector is set in the constructor, no event is emitted, even though similar actions (such as setting tax rates) correctly emit events. This inconsistency can reduce transparency and make it harder for off-chain services to track contract state changes.
In the constructor of the RAACToken contract, the feeCollector is set without emitting the corresponding FeeCollectorSet event:
The expected event is already defined in the IRAACToken interface:
Since similar contract parameters are updated with events, the absence of an event for feeCollector may lead to inconsistencies in monitoring tools and hinder transparency in blockchain analytics.
Reduced Transparency: Off-chain monitoring tools and indexers that rely on emitted events will not detect the initial setting of the feeCollector.
Inconsistency: Other state-changing operations in the constructor correctly emit events, making the omission stand out as an inconsistency.
Potential Debugging Difficulties: If the fee collector is later updated, tracking the original assignment will require manual chain exploration instead of simply reading emitted events.
Manual Review
To ensure consistency and transparency, modify the constructor to emit the FeeCollectorSet event when feeCollector is set:
This ensures that the initial setting of feeCollector is properly logged on-chain.
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.