The EggHuntGame
contract requires the owner to manually end active game by calling the endGame()
function, which is protected by the onlyOwner
modifier. Though players can't search for eggs after endTime
, the game remains officially "active" until the owner manually calls endGame()
.
Additionally endGame()
allows the owner to end game even if the endTime
is not reached yet, which should not be the case.
A game is started with a specified duration by the owner
The endTime
passes, marking the functional end of the game
The gameActive
flag remains true even though the end time has passed
The owner becomes unavailable or fails to call endGame()
The protocol becomes stuck in a state where gameActive
is true, but searchForEgg()
is not available.
The owner might accidentally end a game prematurely before the scheduled endTime
, unfairly cutting the game short for participants
Players face uncertainty about the actual status of the game (functionally ended but technically active)
Risk of accidental premature termination of games by the owner, negatively affecting player experience
Modify the endGame()
function to remove the owner privilege and allow anyone to end the game, but only after its scheduled end time
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.