Organizer is responsible to create a performance with a specified startTime, duration, and reward, enabling users with pass to attend and earn BEAT tokens
Inside createPerformance(), it carefully checks both the validity of startTime and duration, but it doesn't check whether reward > 0, i.e., whether created performance has no reward
Likelihood:
Occurs when organizer accidentally set baseReward to 0
Impact:
Wasted User Actions and Gas: Users spend gas to call attendPerformance() expecting a reward, but ultimately receive nothing
User Trust Degradation: This breaks user expectations and may erode trust in the platform’s reliability
It’s straightforward to understand the impact by inspecting the code logic inside createPerformance()
Add a validation check to ensure that reward is greater than zero in createPerformance()
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.