SantasList::collectPresent
only checks whether a user's NFT balance is greater than 0 at the time of collection which allows a user to transfer their NFT to another address after claiming and claim once again. This can be repeated indefinitely.
As soon as a user calls SantasList::collectPresent
they only need to transfer their NFT to a separate address in order to claim again.
In the case of a user with a NICE
status, they can claim unlimited NFTs. In the case of a user with a EXTRA_NICE
status they can claim unlimited NFTs and Santa Tokens.
Manual review
Add a mapping that tracks when a user has claimed e.g.:
Inside SantasList::collectPresent
update lines 151-153:
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.