From 2a2caaf4f53197e740b4c492f9572c6023a3f2c9 Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Tue, 24 Mar 2026 01:21:29 +0100 Subject: [PATCH] Strip unused parent blob fields before parse --- apps/indexer/src/normalize.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/apps/indexer/src/normalize.ts b/apps/indexer/src/normalize.ts index 22d24e1..1ffb683 100644 --- a/apps/indexer/src/normalize.ts +++ b/apps/indexer/src/normalize.ts @@ -94,14 +94,27 @@ function sanitizeJsonString(payload: string): string { return result; } +function stripUnusedBlobFields(payload: string): string { + return payload + .replace( + /"parent_block_header_blob":\s*"[\s\S]*?",\s*\n\s*"parent_coinbase_blob":\s*"/g, + "\"parent_block_header_blob\":\"[omitted]\",\n \"parent_coinbase_blob\": \"" + ) + .replace( + /"parent_coinbase_blob":\s*"[\s\S]*?",\s*\n\s*"seed_hash":/g, + "\"parent_coinbase_blob\":\"[omitted]\",\n \"seed_hash\":" + ); +} + export function parseRpcJson(value: string | undefined): T | null { if (!value) { return null; } + const stripped = stripUnusedBlobFields(value); try { - return JSON.parse(value) as T; + return JSON.parse(stripped) as T; } catch { - return JSON.parse(sanitizeJsonString(value)) as T; + return JSON.parse(sanitizeJsonString(stripped)) as T; } }