Normal: createContest() accepts rewards[] (individual allocations) and totalRewards (total pool). These must match for correct accounting.
Bug: No validation ensures sum(rewards) == totalRewards. fundContest() transfers totalRewards unconditionally, regardless of what rewards[] actually sums to.
Likelihood:
Human error when entering totalRewards manually — off-by-one or typo produces mismatch
No compiler or runtime check catches the discrepancy
Impact:
totalRewards > sum(rewards): Pot holds more tokens than players can claim — excess permanently unaccounted
totalRewards < sum(rewards): Not enough tokens — last claimants get nothing, silent failure
Both cases break the protocol's accounting with no revert or error
Run with:
Result: [PASS] — Pot funded with 2x the allocated 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.