Beatland Festival

First Flight #44
Beginner FriendlyFoundrySolidityNFT
100 EXP
View results
Submission Details
Impact: low
Likelihood: high
Invalid

Missing Event emission on State change in `BeatToken::setFestivalContract`

Missing Event emission on State change in BeatToken::setFestivalContract

Description

  • The function BeatToken::setFestivalContractsets the festivalContractin BeatToken but does not emit any event to refelct the changes in the state. Without emiting an event, the off-chain systems cannot track this update effeciently.

// festivalContract is set wihout emiting an event
function setFestivalContract(address _festival) external onlyOwner {
require(festivalContract == address(0), "Festival contract already set");
@> festivalContract = _festival;
}

Risk

Likelihood:

  • High, it will occur because a festivalContract need to be set for the core logic to work.

Impact:

  • Off-chain systems cannot track state changes.

  • Degrades transparency and traceability for users and developers.

Proof of Concept

N/A

Recommended Mitigation

Add an event and emit the event when state festivalContract is set.

+ event FestivalContractSet(address indexed festivalContract)
function setFestivalContract(address _festival) external onlyOwner {
require(festivalContract == address(0), "Festival contract already set");
festivalContract = _festival;
+ emit FestivalContractSet(festivalContract);
}
Updates

Lead Judging Commences

inallhonesty Lead Judge about 1 month ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Missing events / Events not properly configured

Informational. This protocol doesn't rely on events to function, they are just nice to have, but not mandatory.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.