Normally, the game parameters like gracePeriod
, initialClaimFee
, feeIncreasePercentage
, and platformFeePercentage
are expected to remain stable during a single round of the game to ensure fairness and predictability for all players.
However, the contract allows the owner
to modify these parameters at any time, even while a game round is active. This creates a risk where the rules of the game may change mid-round, possibly impacting player decisions and game outcomes.
Likelihood:
This can occur whenever the owner decides to update parameters without calling resetGame()
, i.e., during any active game round.
No runtime or compile-time guard (such as gameEndedOnly
) is used to prevent this.
Impact:
Players may be misled or disadvantaged due to changes in game logic or fees after they have already committed ETH or made strategic decisions.
The discrepancy between the updated values and the reset values (which revert to initial settings) may create inconsistent or unexpected behavior.
No exploit required—this is a trust/design issue
This ensures parameters can only be changed after the game ends, maintaining fairness for all participants.
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.