The FestivalPass contract implements a cooldown mechanism to prevent users from attending multiple performances within 1 hour, tracked via the lastCheckIn[msg.sender]
mapping.
However, the cooldown is tied to the user's address rather than the pass itself, allowing users to transfer their pass to another address and immediately attend another
performance, completely bypassing the cooldown restriction.
Likelihood:
Users will exploit this when multiple performances are active simultaneously to maximize BEAT token rewards
Groups of users will coordinate to share passes and attend all available performances
Impact:
Cooldown mechanism becomes completely ineffective at limiting performance attendance
BEAT token economy gets inflated beyond intended design, devaluing the token
Proof of Concept
Recommended Mitigation
Disallow pass transfer while in cooldown period.
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.