From daf6c239677ac613e28c7c28755daed5ed43f2ec Mon Sep 17 00:00:00 2001 From: Revertron Date: Tue, 27 Apr 2021 12:17:52 +0200 Subject: [PATCH] Fixed signers cache after block replace. --- src/blockchain/chain.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/blockchain/chain.rs b/src/blockchain/chain.rs index a156cf7..b5500e3 100644 --- a/src/blockchain/chain.rs +++ b/src/blockchain/chain.rs @@ -250,6 +250,7 @@ impl Chain { pub fn replace_block(&mut self, block: Block) -> sqlite::Result<()> { warn!("Replacing block {} with:\n{:?}", block.index, &block); + self.signers.borrow_mut().clear(); self.truncate_db_from_block(block.index)?; self.add_block(block); Ok(()) @@ -975,6 +976,11 @@ impl SignersCache { pub fn has_signers_for(&self, index: u64) -> bool { self.index == index && !self.signers.is_empty() } + + pub fn clear(&mut self) { + self.index = 0; + self.signers.clear(); + } } #[cfg(test)]