The createMemorabiliaCollection()
function allows organizers to set the initial isActive
status through the activateNow
parameter, which determines whether the collection can be redeemed immediately. However, the contract lacks any function to modify the isActive
status after collection creation. This means collections created with activateNow = false
become permanently unredeemable, as the redeemMemorabilia()
function requires collection.isActive
to be true. The missing status management functionality creates dead collections that can never be activated, regardless of organizer intentions or changing circumstances.
Organizer creates a memorabilia collection with activateNow = false
for planned future release
Collection is successfully created and stored with isActive = false
Users earn BEAT tokens through festival attendance expecting to redeem from this collection
When organizer decides to release the collection, they discover no function exists to change isActive
status
Users attempt to redeem memorabilia using redeemMemorabilia(collectionId)
Transaction reverts with "Collection not active" despite collection existing and having available supply
Collection becomes permanently unredeemable with no recovery mechanism available
Collection becomes permanently unredeemable with no recovery mechanism available
BEAT tokens earned for unredeemable collections become worthless for their intended purpose
Add a function to allow organizers to toggle collection status after creation
Low because an organizer can use it with active = true and organizer is trusted.
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.