The mintEgg() function in EggstravaganzaNFT depends on OpenZeppelin's internal _update() logic (via _mint()) to prevent duplicate tokenIds. While this is technically secure, it lacks explicit validation and emits an ambiguous revert reason, which reduces clarity and auditability.
The function is implemented as follows:
This relies on _mint() from the ERC721 base contract to handle uniqueness.
While functionally correct, this logic:
Obscures the intent behind the revert
Makes the root cause less obvious to developers or integrators
Can lead to confusion when reading transaction failure reasons
Makes debugging and code auditing harder
Poor developer experience and user feedback in case of mint collisions
Manual Code Review
Add an explicit validation at the top of mintEgg().
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.