Malicious users can spoof deposits, corrupting vault state and enabling theft.
Anyone can call depositEgg()
, allowing fake deposits even if the NFT was never transferred.
manual review
this should be best implemented with this snippet
function depositEgg(uint256 tokenId) external {
require(eggNFT.ownerOf(tokenId) == msg.sender, "Not NFT owner");
eggNFT.transferFrom(msg.sender, address(this), tokenId); // Move NFT first
storedEggs[tokenId] = true;
eggDepositors[tokenId] = msg.sender;
emit EggDeposited(msg.sender, tokenId);
}
Front-running depositEgg allows deposit ownership hijacking.
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.