Description:
The EggHuntGame::depositEggToVault(uint256 tokenId) function calls the eggNFT.transferFrom() (external call), then proceeds to call depositEgg(), which updates critical state variables. In this case, EggstravaganzaNFT is a trusted contract with no reentrant behavior and transferFrom() does not invoke external code. However, the pattern should be treated with caution.
Recommended Mitigation:
Apply the nonReentrant modifier (from OpenZeppelin’s ReentrancyGuard) on depositEgg() and withdrawEgg() for extra protection.
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.