The protocol reward the user to atteding a performance by minting him/her a specific number of beatTokens based on the pass level (general, VIP or backstage) and the reward set this performance. reward = typeOfPass * performanceReward.
This reward is used to provide the user an incentive to attend the performacne.
If the system allows a user to attend multiple performances at the same timestamp, they may exploit this to accumulate rewards disproportionately, especially if attendance is rewarded per performance.
So even if multiple performances in the festival are taking place at the same time, the user is able to attend them all and get the reward from each one.
Likelihood:
High; in an festival multiple performances will take place at the same time. The festival is designed to host multiple performances concurrently.
Impact:
Users can accumulate multiple rewards by attending overlapping performances, which leads to reward inflation and unfair distribution.
Users can accumulate multiple rewards by attending overlapping performances, which leads to reward inflation and unfair distribution.
Organizer create 3 performances with different duration and rewards
the three performances overlap in time
user will attend the 3 performances at the same time and claim the reward of the three perfromances in beatToken.
One check + minting beatToken based on time spent
First, the system must verify that the user is not already attending another performance at the time they call attendPerformance.
Second, if rewards are issued to incentivize attendance, the minting of beatToken should be proportional to the actual time spent in a specific performance. Because if only the above check is added, the user can enter and exit to claim rewards.
An alternative is to mint the user the beatToken on entrace of a specific performance, but set a lock to prevent the user to leave or attend another performance equal to performance duration.
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.