Several critical state changes in the contracts (e.g., setEggFindThreshold, setGameContract, setEggNFT) do not emit events, reducing transparency and making it harder to track configuration changes off-chain.
Examples:
EggHuntGame.setEggFindThreshold changes the egg-finding probability but emits no event.
EggstravaganzaNFT.setGameContract sets the authorized minter but lacks an event.
EggVault.setEggNFT configures the NFT contract without an event.
Without events, external systems (e.g., frontends, auditors) cannot easily monitor these changes.
Reduced transparency could hide malicious or erroneous configuration changes by the owner, affecting trust in the system.
Off-chain applications may fail to reflect the current state accurately.
Manual code review.
Best practices for event logging in Solidity.
Add events for all significant state changes:
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.