totalRewards is never checked against sum(rewards): underfunding bricks later claims (first-come-first-served loss); overfunding strands excess. players.length != rewards.length unchecked: extra rewards silently ignored. An empty players array passes creation, then closePot reverts with division-by-zero forever → funded tokens locked. fundContest(index) has no bounds check (owner-only).
Underfunded contests lose claims; overfunded or empty-player contests lock tokens permanently.
require(players.length == rewards.length && players.length > 0) and require(totalRewards == sum(rewards)).
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.