Beatland Festival

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

Missing event emission on State change of `beatToken` in `FestivalPass`

Missing event emission on State change of beatToken in FestivalPass

Description

  • In FestivalPass contract, the consturctor set the beatToken state variable to the beatToken address _beatToken that is passed in the contstructor but it failed to emit an event about this change.

  • Without events, off-chain systems (e.g., indexers, UIs, monitoring tools) cannot track these updates efficiently.

// No event is imetted after setting the beatToken address
constructor(address _beatToken, address _organizer) ERC1155("ipfs://beatdrop/{id}") Ownable(msg.sender){
setOrganizer(_organizer);
@> beatToken = _beatToken;
}

Risk

Likelihood:

  • Hight, it is called in the constructor at deployment of the FestivalPass contract.

Impact:

  • Reduces observability for off-chain systems.

  • Hinders transparency and indexability of initial contract configuration.

Proof of Concept

N/A

Recommended Mitigation

  • Add evenet called BeatTokenSettedand the then emit this event after beatToken address is set.

+ event BeatTokenSetted(address indexed beatToken);
constructor(address _beatToken, address _organizer) ERC1155("ipfs://beatdrop/{id}") Ownable(msg.sender){
setOrganizer(_organizer);
beatToken = _beatToken;
+ emit BeatTokenSetten(beatToken);
Updates

Lead Judging Commences

inallhonesty Lead Judge 3 months 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.