Contracts lack proper initialization checks before allowing critical operations.
Several functions assume proper initialization without verification:
EggstravaganzaNFT's mintEgg() doesn't check if gameContract has been set
EggVault operations don't verify that eggNFT has been set
EggHuntGame doesn't verify that it has been set as the gameContract in EggstravaganzaNFT
This could lead to states where operations fail unexpectedly or contracts become permanently unusable if initialization steps are performed in the wrong order
Manual code review
Add checks in each critical 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.