Normal Behavior:
The FestivalPass
contract relies on the beatToken
address for all BEAT-related operations (minting, burning, rewards, memorabilia redemption). In the event of a bug, upgrade, or migration, it should be possible for the contract owner to update the beatToken
address to a new, valid contract.
Issue:
Currently, the beatToken
address is set only once in the constructor and cannot be changed. If the BeatToken
contract is ever upgraded, deprecated, or compromised, all BEAT-related functionality in FestivalPass
will be permanently broken, with no way to recover or migrate.
Likelihood:
Upgrades or migrations are rare, but possible due to bugs, exploits, or protocol evolution.
Impact:
If the BeatToken
contract is deprecated or compromised, all BEAT-related features in FestivalPass
will be permanently broken.
If a bug or vulnerability is discovered in BeatToken
, or if the protocol needs to migrate to a new token contract, there is no way for the owner to update the beatToken
address in FestivalPass
. All calls to mint, burn, or transfer BEAT will fail or interact with the wrong contract.
Add an onlyOwner
function to update the beatToken
address, with a zero-address check and event emission.
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.