diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index 562f49de1..6f036e533 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -590,7 +590,7 @@ class Blocks { if (skipMemoryCache === false) { // Check the memory cache const cachedSummary = this.getBlockSummaries().find((b) => b.id === hash); - if (cachedSummary) { + if (cachedSummary?.transactions?.length) { return cachedSummary.transactions; } } @@ -598,7 +598,7 @@ class Blocks { // Check if it's indexed in db if (skipDBLookup === false && Common.blocksSummariesIndexingEnabled() === true) { const indexedSummary = await BlocksSummariesRepository.$getByBlockId(hash); - if (indexedSummary !== undefined) { + if (indexedSummary !== undefined && indexedSummary?.transactions?.length) { return indexedSummary.transactions; } } diff --git a/backend/src/repositories/BlocksAuditsRepository.ts b/backend/src/repositories/BlocksAuditsRepository.ts index 831a33e3d..81e68b67f 100644 --- a/backend/src/repositories/BlocksAuditsRepository.ts +++ b/backend/src/repositories/BlocksAuditsRepository.ts @@ -65,15 +65,16 @@ class BlocksAuditRepositories { rows[0].freshTxs = JSON.parse(rows[0].freshTxs); rows[0].transactions = JSON.parse(rows[0].transactions); rows[0].template = JSON.parse(rows[0].template); - } else { - // fallback to non-audited transaction summary - const strippedTransactions = await blocks.$getStrippedBlockTransactions(hash); - return { - transactions: strippedTransactions + + if (rows[0].transactions.length) { + return rows[0]; } } - - return rows[0]; + // fallback to non-audited transaction summary + const strippedTransactions = await blocks.$getStrippedBlockTransactions(hash); + return { + transactions: strippedTransactions + }; } catch (e: any) { logger.err(`Cannot fetch block audit from db. Reason: ` + (e instanceof Error ? e.message : e)); throw e;