Skip to content

Documentation / @etherfold/core / ENGINE_PROVIDER_METHODS

Variable: ENGINE_PROVIDER_METHODS ​

const ENGINE_PROVIDER_METHODS: readonly ["eth_getLogs", "eth_blockNumber", "eth_chainId", "eth_getBlockByNumber"]

Defined in: packages/core/src/providerSurface.ts:40

THE declared set. Stated HERE and nowhere else: a test carrying its own copy of the list is a second source of truth, and the two drift the moment one of them is edited.

Four methods, one of which is the only DATA call:

  • eth_getLogs -- the fold's input, one call per range. The whole engine.
  • eth_blockNumber -- the tip, once per cycle.
  • eth_chainId -- the identity guard, at load and around each fetch.
  • eth_getBlockByNumber -- the GENESIS PROBE, and only that (see isGenesisProbe): IndexerGeneration reads the chain's first block once at load to check the source's genesisHash, where one is declared and skipGenesisCheck is not set.

The fourth is the one that is not in ADR-0073's sentence, and it is declared rather than quietly exempted: it is IDENTITY, like eth_chainId, not data. It is asked once per load, never per block, and never per event -- and the guard holds it to that, because a method that reads A BLOCK is exactly the shape a per-block cost comes back as.