Beginner FriendlyFoundry
100 EXP
View results
Submission Details
Severity: high
Valid

collectPresent() check the current balance of user

Summary

collectPresent() checks the current balance of the user, allowing users to mint multiple times.

Vulnerability Details

Nice people can mint multiple times using the following scenario:

  • Mint.

  • Transfer the NFT to another address.

  • Mint again.

  • Repeat.

Impact

This leads to the dilution of the value of the NFT as it permits an unlimited supply.

Tools Used

Manual review.

Recommendations

Keep accounting records in storage.

Updates

Lead Judging Commences

inallhonesty Lead Judge over 1 year ago
Submission Judgement Published
Validated
Assigned finding tags:

Weak Already Collected Check

Relying on balanceOf > 0 in collectPresent() allows the msg.sender to send their present to another address and then collect again.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.