The `fundContest()` function does not check whether a contest has already been funded. It can be called multiple times for the same contest, transferring additional tokens to the Pot each time. This leads to over-funding, where the Pot receives more tokens than intended, breaking the accounting system and potentially allowing players to claim more than their allocated rewards.
The function transfers `totalRewards` amount every time it's called, without tracking whether funding has already occurred.
Likelihood:
* This occurs when the owner calls `fundContest()` multiple times for the same contest index
* The issue manifests every time the function is called after the initial funding
Impact:
I* Pots can be over-funded with more tokens than intended
* Accounting becomes incorrect as `remainingRewards` in Pot doesn't account for extra funding
* Players may be able to claim more than their allocated rewards if extra funds are available
* Manager may lose additional tokens due to repeated funding
* No way to track or prevent duplicate funding
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.