The setEggFindThreshold
function allows the contract owner to modify the egg finding probability during an active game session, severely compromising game fairness, integrity.
The EggHuntGame contract permits the modification of the egg finding probability threshold at any time, including during active game sessions:
The function lacks a crucial check to prevent modifications while gameActive
is true. This allows the contract owner to arbitrarily adjust the game's core mechanics after players have already begun participating, violating the principle of consistent game rules.
The eggFindThreshold
directly impacts the probability of finding eggs in the searchForEgg
function:
Owner starts a game with startGame(duration)
Players begin participating with searchForEgg()
at the advertised 20% probability
Owner calls setEggFindThreshold(1)
to drastically reduce winning chances
Most players fail to find eggs due to the secretly reduced 1% probability
Owner calls setEggFindThreshold(90)
when a specific address is about to participate
Favored address enjoys a 90% chance of finding eggs
Uneven Gameplay: Players participating at different times face inconsistent odds, breaching fair play principles.
Trust Violation: Players cannot rely on the game maintaining consistent mechanics throughout a session.
Manual Review
Restrict parameter modifications during active gameplay by adding a state check:
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.