Some smart contracts from the protocol doesn't emit the implemented events on some functions.
Generally events play a crutial role in enabling off-chain applications to track and respond to on-chain activities. They are important part of the smart contracts as they also provide information about the state changes that happen within the protocol. It's a best practice to emit an event when state-changing functions are called. However the protocol doesn't do that in:
MetadataFacet.sol
- event URI(string _uri, uint256 indexed _id);
https://github.com/Cyfrin/2024-05-beanstalk-the-finale/blob/8c8710df547f7d7c5dd82c5381eb6b34532e4484/protocol/contracts/beanstalk/metadata/MetadataFacet.sol#L24
PodTransfer.sol
- event PodApproval(address indexed owner,address indexed spender,uint256 fieldId,uint256 amount);
https://github.com/Cyfrin/2024-05-beanstalk-the-finale/blob/8c8710df547f7d7c5dd82c5381eb6b34532e4484/protocol/contracts/beanstalk/market/MarketplaceFacet/PodTransfer.sol#L24
Low severity: Missing event emission will not keep the protocol up-to-date with the information about state changes that happen in the contracts.
Manual Review
Emit the all necessary events in the smart contracts.
Invalid as per docs https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity
Invalid as per docs https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity
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.