The collectPresent and buyPresent functions perform critical state changes including minting NFTs and burning tokens, but neither emits custom events to track these operations.
While the inherited ERC721 and ERC20 contracts emit Transfer events, there are no application-specific events that capture the business logic context such as which user collected a present, whether they received bonus tokens, or who purchased a present for whom.
This makes off-chain monitoring, analytics, and incident response significantly more difficult.
Likelihood: High
Reason 1 // Every collection and purchase lacks application-level events
Reason 2 // Guaranteed to affect all users of the protocol
Impact: Low
Off-chain indexers cannot easily track present collections
Analytics dashboards require complex ERC721/ERC20 event parsing
Incident response and forensics become more difficult
Frontend applications cannot efficiently subscribe to protocol-specific events
Audit trails for EXTRA_NICE bonus distributions are incomplete
The following test demonstrates that no protocol-specific events are emitted during present collection, making it impossible to distinguish business logic operations from regular token transfers.
Add descriptive events for all critical protocol operations to enable proper off-chain tracking and monitoring.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.