Ironically , due to an insufficient check, Any user on the Nice or Extra nice list can mint and steal as many nft's as they like.
as long as they are nice or extra nice, a user can bypass the 1 per address by just transferring to an alternate wallet and then recollecting on their original.
POC:
High impact. Users can mint infinite number of presents.
Foundry testing.
Keep a mapping (address=>bool) to see if a user has collected their present of not.
Relying on balanceOf > 0 in collectPresent() allows the msg.sender to send their present to another address and then collect again.
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.