The redeemMemorabilia()
function in the FestivalPass
contract uses the following condition to check if a memorabilia collection has reached its minting limit:
However, this check causes the final item (itemId == maxSupply) to be inaccessible. Once currentItemId reaches maxSupply, the condition fails and no further redemptions are allowed — even though one item remains.
This results in:
Under-supply: Fewer NFTs than advertised.
Incorrect logic in limited-edition distribution.
Likelihood:
This will happen automatically when the collection reaches maxSupply - 1
and one more user attempts to redeem the final item.
Impact:
Users are unable to mint the final NFT in the collection.
Causes the collection to be incomplete, despite expectations and maxSupply
.
Reduces user trust in NFT supply guarantees.
This fix allows the final item (when currentItemId == maxSupply) to be redeemed as expected.
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.