perf: remove blocking calls from POI queries by MoonBoi9001 · Pull Request #6300 · graphprotocol/graph-node

@MoonBoi9001 @claude

Remove synchronous `block_on` call in `resolve_proof_of_indexing` which
was blocking tokio worker threads while waiting for database queries.

Before this change, each POI query blocked an entire tokio worker thread.

After this change, POI queries properly yield to the async runtime while
waiting for database I/O, allowing the connection pool to be fully utilized.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

@MoonBoi9001 @claude

Adds a new index-node GraphQL query that searches a block range to find
which block produced a given POI. This supports dispute investigation
where an indexer may have submitted a POI for block N that actually
corresponds to block X < N.

The resolver fetches all poi2$ digest entries in a single DB call, batch
fetches block hashes in 50k chunks, and runs ProofOfIndexingFinisher for
each block until a match is found.

Also adds network_for_deployment to the StatusStore trait and its
implementation chain (SubgraphStore, Store) as a supporting method
for resolving the chain store from a deployment hash.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

@MoonBoi9001

lutter