The setFestivalContract function can only be called once — it locks the festivalContract address permanently after the first call. While this is useful for immutability, it introduces operational risk: the contract cannot be reused across multiple festivals or fixed if the target contract is buggy or replaced.
Likelihood
Owner may mistakenly or prematurely lock the address.
No mechanism exists to update the address post-deployment.
Realistic over long-term festivals or evolving backends.
Impact
Makes the system inflexible and fragile.
Requires contract redeployment for upgrades or bug fixes.
Could lock out BEAT token utility if misconfigured once.
This is intended. It's done like that because the festival contract requires beat token's address and vice versa.
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.