From 2b0ac52e322d6d44b21fa9b1c3a7d53ccb95653d Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Tue, 24 Mar 2026 01:19:03 +0100 Subject: [PATCH] Store safe block snapshots instead of raw blobs --- apps/indexer/src/index.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/apps/indexer/src/index.ts b/apps/indexer/src/index.ts index fc5f310..5878a58 100644 --- a/apps/indexer/src/index.ts +++ b/apps/indexer/src/index.ts @@ -144,6 +144,23 @@ async function indexBlock(pool: Pool, rpc: PeyaRpcClient, height: number) { throw new Error(`Block ${height} did not return JSON`); } + const storedBlockJson = JSON.stringify({ + major_version: blockJson.major_version, + minor_version: blockJson.minor_version, + timestamp: blockJson.timestamp, + prev_id: blockJson.prev_id, + nonce: blockJson.nonce, + tx_hashes: Array.isArray(blockJson.tx_hashes) ? blockJson.tx_hashes : [], + has_aux_header: Boolean(blockJson.has_aux_header), + miner_tx: blockJson.miner_tx, + protocol_tx: blockJson.protocol_tx, + aux_header: blockJson.aux_header + ? { + parent_chain: blockJson.aux_header.parent_chain ?? null + } + : null + }); + const mergeMiningTagPresent = hasMergeMiningTag(blockJson.miner_tx.extra); const hasAuxHeader = Boolean(blockJson.has_aux_header); const isMergeMined = hasAuxHeader || mergeMiningTagPresent; @@ -249,8 +266,8 @@ async function indexBlock(pool: Pool, rpc: PeyaRpcClient, height: number) { mergeMiningTagPresent ? 1 : 0, isMergeMined ? 1 : 0, parentChainHint, - block.json, - block.blob + storedBlockJson, + "" ] );