State Change Without Event Emission
Several functions modify state variables but do not emit events, making it difficult for off-chain applications (e.g., indexers, front-ends) to track these changes. This lack of transparency can hinder monitoring and user experience.
Instances:
EggHuntGame::setEggFindThreshold
Line: 58 (src/EggHuntGame.sol#L58):
EggVault::setEggNFT
Line: 22 (src/EggVault.sol#L22):
EggstravaganzaNFT::setGameContract
Line: 20 (src/EggstravaganzaNFT.sol#L20):
EggstravaganzaNFT::mintEgg
Line: 27 (src/EggstravaganzaNFT.sol#L27):
Without events, off-chain systems cannot easily detect changes to critical variables like eggFindThreshold, eggNFT, gameContract, or totalSupply. This could lead to outdated UIs, missed updates in analytics, or difficulty auditing the game’s state.
Manual review
Aderyn static analyzer
Add events to each function to log state changes. For example:
In EggHuntGame:
These events improve transparency and enable off-chain tracking.
Standard practice for clarifying important contract behaviors
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.