The collectFee() function in the Snow contract withdraws accumulated WETH and ETH fees to the designated collector address. As a standard practice for external state-changing functions, it should emit an event to enable off-chain monitoring, indexing, and auditability.
However, the function does not emit the declared FeeCollected() event, breaking consistency with other protocol events and reducing transparency for users, indexers, and monitoring systems.
Likelihood:
Reason 1: The collectFee() function is intended to be called regularly during protocol operation, making the missing event omission consistently present.
Reason 2: Observability tools (e.g., The Graph, block explorers, dashboards) rely on events to track administrative actions—this gap will always affect external visibility.
Impact:
Impact 1: Users and governance cannot reliably verify when or how often fee withdrawals occur without parsing raw transaction calldata or balance diffs.
Impact 2: The inconsistency undermines auditability and deviates from Ethereum best practices, where all significant state changes are event-logged (e.g., as in ERC20, OpenZeppelin patterns).
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.