The createMemorabiliaCollection
function allows organizers to create collections with activateNow = false
, but there is no mechanism to activate these collections later. Once a collection is created as inactive, it remains permanently unusable, making it impossible for users to redeem memorabilia from these collections even if the organizer intended to activate them at a later time.
The contract lacks a function to update the isActive
status of existing collections:
Key issues:
No activateCollection
or setCollectionActive
function exists
The isActive
field becomes permanently frozen at creation time
Organizers cannot implement delayed launches or scheduled activations
Likelihood: Medium - Organizers may reasonably want to create collections in advance and activate them later for marketing or timing purposes.
Impact: Medium - Collections become permanently unusable, wasting organizer effort and preventing intended memorabilia redemptions.
Medium severity because:
Entire memorabilia collections can become permanently unusable
Organizers lose the ability to implement delayed collection launches
No way to recover from accidentally creating inactive collections
Reduces flexibility in memorabilia collection management
Users cannot redeem from collections that should be activatable
This test demonstrates how collections created as inactive cannot be activated later:
Add a function to allow organizers to update collection activation status:
Also add the corresponding event to the interface:
This solution provides organizers with full control over collection activation timing and allows for recovery from creation mistakes.
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.