Description
Root Cause
Risk
Likelihood:
Every call to likeUser() emits this event without the paid amount — unconditional, not an edge case.
Impact:
Standard indexing frameworks (e.g. TheGraph) build entirely off emitted event data and do not re-fetch per-transaction msg.value — so stake history, per-user spend totals, or any analytics built purely on logs cannot be reconstructed without an expensive, non-standard fallback to raw tx data.
Worth flagging honestly: with the Finding #1 fix (== 1 ether fixed price), the practical severity is mild right now, since the amount is currently always constant and technically inferable. The real issue is design coupling — any indexer that hardcodes "value is always 1 ether" silently breaks the moment this contract is redeployed or upgraded with a different price. Events should carry the actual economic data rather than depend on an assumption about contract logic elsewhere. This is why it's Informational, not Low.
Proof of Concept
Recommended Mitigation
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.