The system configuration parameters inside the FestivalPass constructor directly assign state tracking references without enforcing defensive validation boundaries against zero-address allocations (address(0)):
If internal configurations or human deployment slip-ups pass invalid parameter references, critical addresses will be permanently set to address(0).
Impact High
Impaired System Control: Failing to define the core token standard address correctly will break tokenomics configurations such as calling BeatToken(beatToken).mint() or burnFrom(), leading to systemic runtime failures.
Operational Friction: If organizer resolves as a zero address, access-controlled methods dependent on the onlyOrganizer modifier will remain locked out until manually reconfigured via setOrganizer by the contract owner.
Likelyhood Low
All the action must be done by owner of the contract
Introduce standard sanity constraints via require statements or custom errors targeting contract configuration variables within the initialization flow:
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.