This PR adds the saving of tick state for all block heights, allowing queries for block height range extents anywhere between 0-lastBlockHeight to have a deterministic result set. This in turn allows better (less awkward/hacky) cache usage: as all cache keys now generate unchanging result sets that can be cached indefinitely.
This also solves the related issue of pagination requests being able to be shared by multiple indexer instances: now that the state can be queried for any range an offset pagination request for a previously uncached result is not an issue.
This PR adds the saving of tick state for all block heights, allowing queries for block height range extents anywhere between 0-lastBlockHeight to have a deterministic result set. This in turn allows better (less awkward/hacky) cache usage: as all cache keys now generate unchanging result sets that can be cached indefinitely.
This also solves the related issue of pagination requests being able to be shared by multiple indexer instances: now that the state can be queried for any range an offset pagination request for a previously uncached result is not an issue.