From ad1f32cc2c74d56f401c20a15c92a93aa70cb7d6 Mon Sep 17 00:00:00 2001
From: Benjamin Wilson <admin@opensourceminer.com>
Date: Wed, 3 Jul 2024 14:31:33 -0400
Subject: [PATCH] ensure getblocktemplate always returns a value

---
 src/services/bitcoin-rpc.service.ts | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/services/bitcoin-rpc.service.ts b/src/services/bitcoin-rpc.service.ts
index fdad62e..c606634 100644
--- a/src/services/bitcoin-rpc.service.ts
+++ b/src/services/bitcoin-rpc.service.ts
@@ -119,13 +119,15 @@ export class BitcoinRpcService implements OnModuleInit {
                     }
                 }
 
-                result = await this.client.getblocktemplate({
-                    template_request: {
-                        rules: ['segwit'],
-                        mode: 'template',
-                        capabilities: ['serverlist', 'proposal']
-                    }
-                });
+                while (result == null) {
+                    result = await this.client.getblocktemplate({
+                        template_request: {
+                            rules: ['segwit'],
+                            mode: 'template',
+                            capabilities: ['serverlist', 'proposal']
+                        }
+                    });
+                }
                 await this.rpcBlockService.saveBlock(blockHeight, JSON.stringify(result));
 
             } else {