From 0e78b39aa6551cb894c67a48373b8745a1a0406f Mon Sep 17 00:00:00 2001 From: Scott Twiname Date: Thu, 30 Jan 2025 15:38:58 +1300 Subject: [PATCH 1/2] Fix error trying to get timestamp with light blocks --- packages/node/src/utils/substrate.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/node/src/utils/substrate.ts b/packages/node/src/utils/substrate.ts index 0eaa80f5e9..493fd5fee8 100644 --- a/packages/node/src/utils/substrate.ts +++ b/packages/node/src/utils/substrate.ts @@ -69,16 +69,19 @@ export function wrapBlock( export function getTimestamp({ block: { extrinsics }, }: SignedBlock): Date | undefined { - for (const e of extrinsics) { - const { - method: { method, section }, - } = e; - if (section === 'timestamp' && method === 'set') { - const date = new Date(e.args[0].toJSON() as number); - if (isNaN(date.getTime())) { - throw new Error('timestamp args type wrong'); + // extrinsics can be undefined when fetching light blocks + if (extrinsics) { + for (const e of extrinsics) { + const { + method: { method, section }, + } = e; + if (section === 'timestamp' && method === 'set') { + const date = new Date(e.args[0].toJSON() as number); + if (isNaN(date.getTime())) { + throw new Error('timestamp args type wrong'); + } + return date; } - return date; } } // For network that doesn't use timestamp-set, return undefined From 8a1084bc2e23012687ed257d80266cc3e482c039 Mon Sep 17 00:00:00 2001 From: Scott Twiname Date: Thu, 30 Jan 2025 15:43:14 +1300 Subject: [PATCH 2/2] Update changelog --- packages/node/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index f95bc42a78..9ee2d72e50 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Fixed +- Crash with iterating extrinsics when skipTransactions is enabled (#2656) ## [5.7.0] - 2025-01-28 ### Changed