fixed panic after verification fail during sync
This commit is contained in:
parent
14cde7adf9
commit
74cd2569bd
|
@ -142,7 +142,7 @@ impl<T> Verifier for SyncVerifier<T> where T: VerificationSink {
|
||||||
|
|
||||||
/// Verify transaction
|
/// Verify transaction
|
||||||
fn verify_transaction(&self, height: u32, transaction: Transaction) {
|
fn verify_transaction(&self, height: u32, transaction: Transaction) {
|
||||||
execute_verification_task(&self.sink, &EmptyTransactionOutputProvider::default(), &self.verifier, VerificationTask::VerifyTransaction(height, transaction))
|
execute_verification_task(&self.sink, &EmptyTransactionOutputProvider::default(), &self.verifier, VerificationTask::VerifyTransaction(height, transaction))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,7 +162,8 @@ fn execute_verification_task<T: VerificationSink, U: PreviousTransactionOutputPr
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Ok(Chain::Orphan) => {
|
Ok(Chain::Orphan) => {
|
||||||
unreachable!("sync will never put orphaned blocks to verification queue");
|
// this can happen for B1 if B0 verification has failed && we have already scheduled verification of B0
|
||||||
|
sink.lock().on_block_verification_error(&format!("orphaned block because parent block verification has failed"), &block.hash())
|
||||||
},
|
},
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
sink.lock().on_block_verification_error(&format!("{:?}", e), &block.hash())
|
sink.lock().on_block_verification_error(&format!("{:?}", e), &block.hash())
|
||||||
|
|
Loading…
Reference in New Issue