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.