From 5e4af21f384ce0f0a3fa72c495a8f1bd9dcda49e Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Sun, 3 Nov 2019 22:59:21 +0100
Subject: [PATCH] [fix] bc: do not request fork blocks where current block is
 genesis

---
 .../blockchain/src/requests/sent.rs           | 23 +++++++++++--------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/lib/modules/blockchain/blockchain/src/requests/sent.rs b/lib/modules/blockchain/blockchain/src/requests/sent.rs
index 9be294d2..ef3584c3 100644
--- a/lib/modules/blockchain/blockchain/src/requests/sent.rs
+++ b/lib/modules/blockchain/blockchain/src/requests/sent.rs
@@ -49,16 +49,19 @@ pub fn request_fork_blocks(bc: &mut BlockchainModule, now: SystemTime) {
         bc.last_request_fork_blocks = now;
         // Request all blocks in fork window size
         if let Some(currency_params) = bc.currency_params {
-            let fork_window_size = currency_params.fork_window_size as u32;
-            let from = if bc.current_blockstamp.id.0 > fork_window_size {
-                BlockNumber(bc.current_blockstamp.id.0 - fork_window_size)
-            } else {
-                BlockNumber(0)
-            };
-            let to = bc.current_blockstamp.id;
-            let new_pending_network_requests = dunp::queries::request_blocks_from_to(bc, from, to);
-            for (new_req_id, new_req) in new_pending_network_requests {
-                bc.pending_network_requests.insert(new_req_id, new_req);
+            if bc.current_blockstamp.id > BlockNumber(0) {
+                let fork_window_size = currency_params.fork_window_size as u32;
+                let from = if bc.current_blockstamp.id.0 > fork_window_size {
+                    BlockNumber(bc.current_blockstamp.id.0 - fork_window_size)
+                } else {
+                    BlockNumber(0)
+                };
+                let to = bc.current_blockstamp.id;
+                let new_pending_network_requests =
+                    dunp::queries::request_blocks_from_to(bc, from, to);
+                for (new_req_id, new_req) in new_pending_network_requests {
+                    bc.pending_network_requests.insert(new_req_id, new_req);
+                }
             }
         }
     }
-- 
GitLab