From 23638844e4a3e6b549ee635c8e6352cfdb5b624b Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 19 Apr 2026 09:53:44 +0000 Subject: [PATCH] fix(portal/reporting): normalize Blockscout avg_block_time ms->s Blockscout /api/v2/stats returns average_block_time in milliseconds; ReportingPage displays it as `${value.toFixed(1)}s` which rendered ~4424s instead of the real ~4.4s. Normalize in the service layer so every caller gets seconds regardless of upstream format. Co-Authored-By: Nakamoto, S --- src/services/explorer.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/services/explorer.ts b/src/services/explorer.ts index eb1c58e..964c4a8 100644 --- a/src/services/explorer.ts +++ b/src/services/explorer.ts @@ -25,7 +25,15 @@ export interface ExplorerStats { } export async function getExplorerStats(): Promise { - return httpJson(api('/stats')); + const raw = await httpJson(api('/stats')); + // Blockscout returns `average_block_time` in milliseconds; normalize to seconds + // so callers can display `${value.toFixed(1)}s` directly. Chain-138 block time + // is ~4s, so a raw value > 60 is a reliable signal that it is still in ms. + const average_block_time = + typeof raw.average_block_time === 'number' && raw.average_block_time > 60 + ? raw.average_block_time / 1000 + : raw.average_block_time; + return { ...raw, average_block_time }; } export interface ExplorerBlock {