The contract emits events like OrderCreated
to record key state changes. However, these events do not index critical parameters such as orderId
and seller
, making it difficult for off-chain systems to efficiently filter and process data.
Normal Behavior:
Events provide a historical log that off-chain indexers (like TheGraph, Dune Analytics, custom bots) use to track protocol state and user-specific actions.
Issue:
Without indexed
keywords on key parameters, these systems must scan and decode every single log to find relevant events. This drastically increases indexing time and computational costs.
Example scenario:
A wallet trying to display all orders for seller
must fetch all OrderCreated logs from block 0, decode them, then check seller
manually. This results in slower UIs, higher RPC costs, and potential missed orders due to timeouts.
Likelihood
Always occurs — every off-chain tool reading order data faces this inefficiency.
Impact
Low — does not affect funds, but negatively impacts user experience, dApp performance, and long-term ecosystem costs.
A typical TheGraph subgraph handler for unindexed events has to process every event:
This increases sync time and may cause delayed user balances or dashboards.
By indexing orderId
and seller
, off-chain systems can use native eth_getLogs
filtering to instantly find relevant events, reducing RPC load and improving dashboard responsiveness. This makes the protocol more scalable and cheaper for integrators.
Events not properly indexed. Filtering and querying from analytic tools will be very in-efficient
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.