The withdrawEgg() function in EggVault modifies state after making an external call, violating the check-effects-interactions pattern.
The function updates state variables after calling transferFrom():
While standard ERC721 implementations don't typically enable reentrancy attacks during transfers, this pattern violation remains a risk if the NFT contract has custom behavior or is upgraded in the future.
Code review
Reorder operations to follow the check-effects-interactions pattern:
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.