setGraphql().
Indexing unfinalized blocks
To index unfinalized (“hot”) blocks and stay correct across chain reorganizations, a squid must use aDatabase with hot block support (e.g. TypeormDatabase with {supportHotBlocks: true}) in its run() call, and not cap its block range below the chain head.
With a hot-block-aware database, run() consumes the fork-aware stream of the data source. When a reorganization happens, the processor asks the Database to roll back the changes made for the orphaned blocks, then re-runs the batch handler on the new consensus blocks. The state of the Database reflects the current chain consensus at all times, and the batch handler code never has to deal with forks itself.