From 33d3bfae8bdee5f2fc9171bb4eaa7006cab8e04d Mon Sep 17 00:00:00 2001 From: Lazaridis <49013958+lazaridiscom@users.noreply.github.com> Date: Fri, 31 May 2019 15:53:17 +0300 Subject: [PATCH] introduce MissingParent Error, fixes #10699 (#10700) --- ethcore/src/engines/authority_round/mod.rs | 2 +- ethcore/src/engines/mod.rs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ethcore/src/engines/authority_round/mod.rs b/ethcore/src/engines/authority_round/mod.rs index 8ac23851b..dc4c65c81 100644 --- a/ethcore/src/engines/authority_round/mod.rs +++ b/ethcore/src/engines/authority_round/mod.rs @@ -731,7 +731,7 @@ impl AuthorityRound { if !epoch_manager.zoom_to_after(&*client, &self.machine, &*self.validators, *header.parent_hash()) { debug!(target: "engine", "Unable to zoom to epoch."); - return Err(EngineError::RequiresClient.into()) + return Err(EngineError::MissingParent.into()) } (CowLike::Owned(epoch_manager.validators().clone()), epoch_manager.epoch_transition_number) diff --git a/ethcore/src/engines/mod.rs b/ethcore/src/engines/mod.rs index e80a858b3..ec0e5b020 100644 --- a/ethcore/src/engines/mod.rs +++ b/ethcore/src/engines/mod.rs @@ -89,6 +89,8 @@ pub enum EngineError { InvalidEngine, /// Requires signer ref, but none registered. RequiresSigner, + /// Missing Parent Epoch + MissingParent, /// Checkpoint is missing CliqueMissingCheckpoint(H256), /// Missing vanity data @@ -137,6 +139,7 @@ impl fmt::Display for EngineError { RequiresClient => format!("Call requires client but none registered"), RequiresSigner => format!("Call requires signer but none registered"), InvalidEngine => format!("Invalid engine specification or implementation"), + MissingParent => format!("Parent Epoch is missing from database"), }; f.write_fmt(format_args!("Engine error ({})", msg))