Fixed signers cache after block replace.
This commit is contained in:
@@ -250,6 +250,7 @@ impl Chain {
|
|||||||
|
|
||||||
pub fn replace_block(&mut self, block: Block) -> sqlite::Result<()> {
|
pub fn replace_block(&mut self, block: Block) -> sqlite::Result<()> {
|
||||||
warn!("Replacing block {} with:\n{:?}", block.index, &block);
|
warn!("Replacing block {} with:\n{:?}", block.index, &block);
|
||||||
|
self.signers.borrow_mut().clear();
|
||||||
self.truncate_db_from_block(block.index)?;
|
self.truncate_db_from_block(block.index)?;
|
||||||
self.add_block(block);
|
self.add_block(block);
|
||||||
Ok(())
|
Ok(())
|
||||||
@@ -975,6 +976,11 @@ impl SignersCache {
|
|||||||
pub fn has_signers_for(&self, index: u64) -> bool {
|
pub fn has_signers_for(&self, index: u64) -> bool {
|
||||||
self.index == index && !self.signers.is_empty()
|
self.index == index && !self.signers.is_empty()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn clear(&mut self) {
|
||||||
|
self.index = 0;
|
||||||
|
self.signers.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
Reference in New Issue
Block a user