The EggHuntGame::searchForEgg
function lacks rate limiting mechanisms, allowing users to spam search attempts and gain an unfair advantage in egg collection. This, combined with the predictable randomness, creates a significant economic imbalance in the game's reward distribution system.
The current implementation of EggHuntGame::searchForEgg
only checks if the game is active:
Key issues:
No cooldown period between searches
No daily/hourly limit on search attempts
No cost associated with searching
No increasing difficulty based on user's success
This allows:
Transaction spamming within single blocks
Bot automation of search attempts
Unfair advantage for technically sophisticated users
Economic imbalance in egg distribution
Potential network congestion from search spam
Unfair advantage for automated players
Reduced game enjoyment for legitimate players
Devaluation of NFT eggs due to excessive minting
Implement a cooldown mechanism:
Additional recommendations:
Add daily search limits per user
Implement increasing difficulty based on user's success
Consider adding a small cost per search attempt
Add anti-bot measures like CAPTCHA or proof-of-humanity
Implement progressive cooldown times that increase with frequent usage
Contract lacks any cooldown mechanism, search limits, or costs in the searchForEgg() function
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.