Skip to content

Indexing

An indexer must track chain identity, addresses, start blocks, proxy implementation intervals, routes, schema selection, and finality policy alongside decoded state.

Non-negotiable rules

  • Key decoding by (chainId, emitter, ABI compatibility identifier, topic0).
  • Retain raw logs, calldata, block hashes, implementation identity, and decoder identity before reducing.
  • Order by block, transaction, log, then packed-record index.
  • Treat authoritative snapshots as replacements, not additive deltas.
  • Use documented block-pinned getters for event-omitted fields.
  • Roll back every orphaned derived row before applying a replacement branch.

Continue through state model, ordering and reorgs, replay recipes, bootstrap and compatibility, and fixtures.