From bdbe99c7df5843059586f32895d7d1c02df2d883 Mon Sep 17 00:00:00 2001 From: Revertron Date: Sun, 18 Apr 2021 18:59:57 +0200 Subject: [PATCH] Fixed check of the need to mine signing blocks if we already signed this one. --- src/blockchain/chain.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/blockchain/chain.rs b/src/blockchain/chain.rs index 83588e0..0b1cc72 100644 --- a/src/blockchain/chain.rs +++ b/src/blockchain/chain.rs @@ -209,6 +209,14 @@ impl Chain { let keystore = keystore.clone().unwrap().clone(); let signers: HashSet = self.get_block_signers(&block).into_iter().collect(); if signers.contains(&keystore.get_public()) { + for index in block.index..=self.height() { + let b = self.get_block(index).unwrap(); + if b.pub_key == keystore.get_public() { + info!("We already mined signing block for block {}", block.index); + return None; + } + } + info!("We have an honor to mine signing block!"); let keystore = Box::new(keystore); // We start mining sign block after some time, not everyone in the same time