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