The withdraw()
function contains a comment stating "Organizer withdraws ETH" but implements the onlyOwner
modifier, creating a mismatch between documented functionality and actual implementation. This inconsistency suggests either the access control is incorrectly implemented or the documentation is inaccurate. The discrepancy creates confusion about the intended business model where organizers are expected to manage festival operations including fund withdrawal, but the technical implementation restricts this capability to the contract owner only.
Pass sales generate ETH revenue that accumulates in the contract
Organizer attempts to withdraw collected funds using withdraw()
function
Transaction reverts due to onlyOwner
modifier, despite organizer believing they have legitimate access
Organizer cannot access festival revenue needed for operational expenses or profit distribution
Organizers cannot access funds needed for festival operations, vendor payments, or profit distribution
Unclear delineation between owner and organizer roles undermines operational clarity
Choose one of the following approaches to resolve the inconsistency:
Update documentation to match implementation:
Change modifier to match documentation:
Implement dual authorization for enhanced security while maintaining organizer control:
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.