Eggstravaganza

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

Lack of Emergency Withdraw Mechanism

Summary:

The EggVault contract lacks any emergency recovery option for stuck NFTs.

Vulnerability Details

If:

  1. The NFT contract becomes locked or upgraded

  2. The vault contract has a bug

  3. Ownership needs to be migrated
    There's no way to recover NFTs without deploying new contracts.

Impact

Medium - Could lead to permanent loss of assets in edge cases.

Tools Used

Manual Review

Recommendations

Add timelocked emergency withdraw function:

function emergencyWithdraw(uint256 tokenId, address to) external onlyOwner {
require(block.timestamp > unlockTime, "Timelocked");
eggNFT.transferFrom(address(this), to, tokenId);
}
Updates

Lead Judging Commences

m3dython Lead Judge 5 months ago
Submission Judgement Published
Invalidated
Reason: Design choice

Support

FAQs

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