lastClaimTime, allowing players to indefinitely extend the game and block winner declaration.The declareWinner function uses the condition:
This ties the grace period expiration to the lastClaimTime, which resets every time a new player calls claimThrone. As a result, every new throne claim delays the game’s conclusion, effectively allowing the game to continue forever as long as players or a bot keep claiming the throne before `gracePeriod` elapses.
This behavior:
Prevents any player from ever being declared the winner unless all others stop participating.
Enables denial of service on the declareWinner function indefinitely.
Allows the last claimant to strategically time their entry and win unfairly.
Violates the intended purpose of a fixed duration competitive game.
Likelihood:
This happens everytime a user calls claimThrone function.
Impact:
Unbounded game length: The game can never conclude unless all users abstain from calling claimThrone for the full duration of the grace period.
This test shows that declaration time is pushed forward with every new claim.
Set a fixed game end time at round start
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.