Eggstravaganza

First Flight #37
Beginner FriendlySolidity
100 EXP
View results
Submission Details
Severity: high
Invalid

Uninitialized EggVault NFT Reference

Summary

The EggVault constructor does not initialize eggNFT, requiring a separate setEggNFT call. If forgotten, the vault becomes unusable.

Vulnerability Details

  • eggNFT is address(0) until setEggNFT is called, but there’s no check in depositEgg or withdrawEgg.

  • If setEggNFT is never called, all vault functions will revert due to ownerOf calls on address(0).

Impact

  • Permanent loss of functionality if deployment scripts omit setEggNFT.

Tools Used

Manual review of initialization flow.

Recommendations

  • Initialize eggNFT directly in the constructor.

  • Add a require(eggNFT != address(0)) check in critical functions.

Updates

Lead Judging Commences

m3dython Lead Judge 9 months ago
Submission Judgement Published
Invalidated
Reason: Design choice
Assigned finding tags:

Trusted Owner

Owner is trusted and is not expected to interact in ways that would compromise security

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!