The endGame
function allows the contract owner to end the game at any time before the specified duration is complete, creating unfair conditions for participants.
The current implementation of endGame()
allows the contract owner to terminate the game prematurely with no restrictions or conditions. The function only checks if the game is active, but doesn't verify if the originally promised game duration has elapsed. This creates an opportunity for the owner to arbitrarily end the game whenever they choose.
Players lose their promised opportunity to participate for the full duration
Undermines trust in the contract and game fairness
Allows the owner to manipulate outcomes by ending the game when certain players are ahead
Could financially impact players who invested resources expecting a specific timeframe
manual review
Implement time-based restrictions on the endGame
function to prevent premature termination:
This ensures the game runs for its full promised duration, preventing owner manipulation and creating a fair environment for all participants.
Incorrect values reported when a game is ended early
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.