Normal behaviour: createPerformance() should create a performance that becomes active between startTime and startTime + duration.
Issue: The calculation endTime: startTime + duration can overflow if both values are large, wrapping around to a small timestamp. This makes isPerformanceActive() always return false since block.timestamp will never be ≤ the wrapped endTime.
Likelihood:
Organizer accidentally sets a very large duration value (e.g., meant to input seconds but used a larger unit).
Edge case with far-future startTime values.
Impact:
Performance becomes permanently unattendable, wasting organizer setup and user expectations.
Scheduled rewards become unredeemable.
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.