From 5a2667474c1666185fd1f35a573d4f722a2d4a04 Mon Sep 17 00:00:00 2001 From: SW van Heerden Date: Fri, 22 Nov 2024 16:13:35 +0200 Subject: [PATCH] fix: add sort to incoming blocks (#180) Description --- sort the incoming blocks --- src/server/p2p/network.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/p2p/network.rs b/src/server/p2p/network.rs index ea89f879..41203558 100644 --- a/src/server/p2p/network.rs +++ b/src/server/p2p/network.rs @@ -1442,7 +1442,7 @@ where S: ShareChain let their_tip_hash = *response.tip_hash(); let their_height = response.tip_height(); let their_pow = response.achieved_pow(); - let blocks: Vec<_> = response.into_blocks().into_iter().map(Arc::new).collect(); + let mut blocks: Vec<_> = response.into_blocks().into_iter().map(Arc::new).collect(); info!(target: SYNC_REQUEST_LOG_TARGET, "Received catch up sync response for chain {} from {} with blocks {}. Their tip: {}:{}", algo, peer, blocks.iter().map(|a| a.height.to_string()).join(", "), their_height, &their_tip_hash.to_hex()[0..8]); if blocks.is_empty() { return; @@ -1453,6 +1453,7 @@ where S: ShareChain let synced_bool = self.are_we_synced_with_p2pool.clone(); tokio::spawn(async move { + blocks.sort_by(|a, b| a.height.cmp(&b.height)); let last_block_from_them = blocks.last().map(|b| (b.height, b.hash)); let mut missing_blocks = HashSet::new(); for b in &blocks {