In the normal flow, createPerformance() is expected to register a new performance with a startTime, duration, and reward, and then emit an event that fully reflects the created performance parameters for off-chain tracking and indexing.
However, the current implementation emits an event that omits the reward parameter, even though it is part of the function input and likely part of the state used internally.
This creates an inconsistency between on-chain state changes and emitted events, reducing transparency and reliability for off-chain consumers.
Likelihood:
This issue occurs every time a performance is created since the event is consistently emitted without the reward field.
Off-chain systems relying on event logs will always receive incomplete data for each created performance.
Impact:
Indexers (The Graph, custom backends, analytics dashboards) will not have access to reward information, leading to incorrect or incomplete UI/state representation.
Users and integrators may misinterpret performance metadata, especially where reward value is economically relevant.
A user calls createPerformance(startTime, duration, reward) with:
startTime = 1000
duration = 300
reward = 50 ETH
The contract executes successfully and:
Increments performanceCount
Stores or processes the reward internally (assumed normal behavior)
The contract emits the event:
emit PerformanceCreated(performanceCount, startTime, startTime + duration);
Event logs captured by indexers show:
performanceId
startTime
endTime
❌ Missing field:
reward is not included in event data
Ensure that the reward parameter is included in the PerformanceCreated event so that all critical creation parameters are consistently emitted for off-chain indexing, transparency, and auditability.
This aligns the event schema with the function inputs and prevents loss of important metadata.
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.