collectFee() sends both WETH and ETH in a single function. If the collector is a contract that reverts on receiving ETH, the entire function reverts, permanently bricking both WETH and ETH fee collection.
Likelihood:
Requires collector to be a contract that rejects ETH. Multi-sig wallets may have different receive behaviors.
Impact:
Both WETH and ETH fees permanently stuck. The collector can be changed via changeCollector(), but only the current collector can call it.
Recoverable via changeCollector() if the collector is an EOA, permanently stuck if it's a contract.
Separate ETH and WETH collection into independent operations.
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.