Beatland Festival

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

Missing events

Description

  • Describe the normal behavior in one or more sentences

    • Any state changing function should emit proper event, allowing frontends and indexers to properly track contract state.

  • Explain the specific issue or problem in one or more sentences

    • Multiple places in the contract where important state change is hapenning but there is not event emmision.

Recommended Mitigation

function configurePass(
uint256 passId,
uint256 price,
uint256 maxSupply
) external onlyOrganizer {
require(passId == GENERAL_PASS || passId == VIP_PASS || passId == BACKSTAGE_PASS, "Invalid pass ID");
require(price > 0, "Price must be greater than 0");
require(maxSupply > 0, "Max supply must be greater than 0");
passPrice[passId] = price;
passMaxSupply[passId] = maxSupply;
passSupply[passId] = 0; // Reset current supply
+ emit PassConfigured(passId, price, maxSupply);
}
function setOrganizer(address _organizer) public onlyOwner {
organizer = _organizer;
+ emit OrganizerSet(msg.sender, _organizer);
}
function withdraw(address target) external onlyOwner {
payable(target).transfer(address(this).balance);
+ emit Withdraw(msg.sender, target, address(this).balance);
}
Updates

Lead Judging Commences

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