The withdraw function should only allow claims after the winner is set, which already enforces post-event-end timing via the winnerSet modifier.
It redundantly checks block.timestamp < eventEndDate despite setWinner requiring > eventEndDate, creating misleading logic without additional protection.
Likelihood:
During the window after eventEndDate but before owner calls setWinner.
In code reviews or audits where the redundancy confuses sequencing assumptions.
Impact:
Delays withdrawals unnecessarily if owner is slow to set winner, locking winner liquidity.
Misleads developers integrating the contract, potentially causing incorrect off-chain timing logic.
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.