The fundContest
function in the ContestManager contract is vulnerable to multi-call issues. It lacks safeguards against multiple funding attempts for the same contest, which could lead to overfunding, inconsistent state, and potential fund loss.
The fundContest
function allows the contract owner to fund a contest:
Key vulnerabilities:
No check to prevent multiple funding calls for the same contest.
Lack of state tracking to indicate if a contest has been funded.
Financial Risk: Potential overfunding of contests, locking excess tokens in the Pot contract.
Inconsistent State: The contract state may not accurately reflect the actual funding status of contests.
Reduced Transparency: Lack of events makes it difficult to track funding actions off-chain.
Operational Issues: Difficulty in managing and tracking the funding status of multiple contests.
Manual code review.
AI for report.
Implement a funding flag or track funded amounts:
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.