The FestivalPass contract constructor has several implementation issues that affect functionality and security. The constructor passes an IPFS URI template with {id} placeholder to the ERC1155 parent constructor, but this conflicts with the custom uri() function override that builds URIs from scratch. Additionally, the constructor lacks input validation for critical parameters, allowing zero addresses to be set for essential contract dependencies.
Likelihood:
This will occur when the contract is deployed.
Impact:
URI inconsistency may cause metadata resolution issues for NFT marketplaces and wallets
Zero address parameters can break contract functionality, making the contract unusable
The conflicting URI patterns create confusion and potential integration problems
The POC shows the constructor code that attempts to construct the URL of the ERC1155 token. Deployment with zero addresses would succeed but break functionality:\
Use an empty string in the ERC1155 constructor since the uri() function handles all URI logic
Add comprehensive input validation for all constructor parameters
Update the setOrganizer function to also include zero address validation.
Owner/admin is trusted / Zero address check - Informational
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.