From 1a4fcd43222ab5ad6ab58bced96c38722e8c3734 Mon Sep 17 00:00:00 2001
From: Bartek Wrona <wrona@syncad.com>
Date: Wed, 12 Mar 2025 18:50:48 +0100
Subject: [PATCH] WorkerBee.broadcast should trigger a subscriber only when
 transaction has been found in a block

---
 src/bot.ts | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/bot.ts b/src/bot.ts
index 9fd58c1..bbf3ddd 100644
--- a/src/bot.ts
+++ b/src/bot.ts
@@ -103,10 +103,14 @@ export class WorkerBee implements IWorkerBee {
 
         const listener = txObserver.provideBlockHeaderData().subscribe({
           next(val) {
-            observer.next?.({
-              transaction: val.transactions[apiTx.id]!,
-              block: val.block
-            });
+            const transaction = val.transactions[txId] ?? val.transactions[legacyId]!;
+            if( transaction!== undefined) {
+              listener.unsubscribe();
+              observer.next?.({
+                transaction,
+                block: val.block
+              });
+            }
           },
           error(val) {
             observer.error?.(val);
-- 
GitLab