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.