Strip unused parent blob fields before parse

This commit is contained in:
Codex Bot
2026-03-24 01:21:29 +01:00
parent 2b0ac52e32
commit 2a2caaf4f5

View File

@@ -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<T>(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;
}
}