The redeemMemorabilia() function contains an off-by-one error that prevents the final NFT in each memorabilia collection from being minted.
In the constructor of the MemorabiliaCollection, currentItemId is initialized to 1, and minting continues as long as:
Likelihood:
This issue will occur every time a user attempts to redeem the final NFT in any memorabilia collection, since the check fails on the last item (currentItemId == maxSupply).
Impact:
Last NFT in each collection cannot be minted
Direct loss of 1 unit of revenue per collection
Users unable to complete their NFT sets (UX damage)
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.