Critical contract configuration changes in EggVault::setEggNFT and EggstravaganzaNFT::setGameContract are not accompanied by event emissions, reducing transparency and making it difficult for external observers to track important state changes.
Two key administrative functions modify critical contract parameters without emitting events:
EggVault::setEggNFT - Changes the reference to the NFT contract
EggstravaganzaNFT::setGameContract - Updates which contract has minting permission
The absence of events for these operations means:
Off-chain systems cannot easily track important configuration changes
Users must manually monitor contract state to be aware of changes
There is no permanent on-chain record of when these changes occurred and by whom
While this issue doesn't present a direct security vulnerability, it significantly reduces transparency and observability:
Reduces the ability to monitor contract behavior
Makes auditing contract history more difficult
Complicates integration with front-end applications and third-party services
Users may be unaware of changes to critical contract relationships
Add events to track changes to critical contract variables:
These events allow external observers to efficiently track and react to changes in contract configuration, improving transparency and user experience.
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.