withdrawFees()Normal behavior: protocol fees should remain withdrawable whenever business logic allows withdrawals.
Issue: withdrawFees() requires strict equality between raw contract balance and totalFees. Forced ETH (e.g., via selfdestruct) breaks this invariant permanently and can lock fee withdrawals.
Likelihood:
Any external actor can deploy a helper contract and force-send ETH using selfdestruct.
The strict equality condition remains brittle under unavoidable balance perturbations.
Impact:
Fee withdrawal can be indefinitely DoSed.
Operational revenue flow is interrupted and may require contract migration or privileged recovery.
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.