Game parameters like gracePeriod
, initialClaimFee
, feeIncreasePercentage
, and platformFeePercentage
should remain stable during active game rounds to ensure fair gameplay for all participants.
The contract allows the owner to update these critical parameters at any time, including during active game rounds, creating opportunities for manipulation and unfair advantage.
Likelihood:
Owner has technical ability to change rules at any time during gameplay
No restrictions prevent mid-game parameter modifications
Centralization risk is inherent in the current design
Impact:
Centralization risk allowing owner to manipulate game rules arbitrarily
Unfair gameplay where rules change mid-round without player consent
Economic manipulation affecting claim costs and winning conditions
Loss of player trust and potential abandonment of the game
Scenario 1 - Grace Period Manipulation:
Current king has waited 23/24 hours for grace period to expire
Owner calls updateGracePeriod(172800)
(48 hours) during active game
Current king must now wait additional 25 hours unexpectedly
This violates player expectations and game fairness
Scenario 2 - Fee Structure Manipulation:
Players enter game with 10% platform fee and 5% fee increase
Owner calls updatePlatformFeePercentage(50)
and updateClaimFeeParameters(newFee, 20)
mid-game
Next players face dramatically higher costs than earlier participants
Creates unfair economic conditions for later players
Scenario 3 - Immediate Winner Declaration:
Owner calls updateGracePeriod(1)
during active round
Current king becomes winner almost immediately
Other players lose opportunity to compete fairly
Add the gameEndedOnly
modifier to all parameter update functions to ensure changes only occur between game rounds:
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.