Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

sp-consensus: remove unused error variants #13495

Merged
merged 1 commit into from
Mar 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion client/consensus/pow/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,8 @@ where
.select_chain
.best_chain()
.await
.map_err(|e| format!("Fetch best chain failed via select chain: {}", e))?;
.map_err(|e| format!("Fetch best chain failed via select chain: {}", e))
.map_err(ConsensusError::ChainLookup)?;
let best_hash = best_header.hash();

let parent_hash = *block.header.parent_hash();
Expand Down
5 changes: 0 additions & 5 deletions primitives/consensus/common/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,13 @@ targets = ["x86_64-unknown-linux-gnu"]

[dependencies]
async-trait = "0.1.57"
codec = { package = "parity-scale-codec", version = "3.2.2", features = [
"derive",
] }
futures = { version = "0.3.21", features = ["thread-pool"] }
log = "0.4.17"
thiserror = "1.0.30"
sp-core = { version = "7.0.0", path = "../../core" }
sp-inherents = { version = "4.0.0-dev", path = "../../inherents" }
sp-runtime = { version = "7.0.0", path = "../../runtime" }
sp-state-machine = { version = "0.13.0", path = "../../state-machine" }
sp-std = { version = "5.0.0", path = "../../std" }
sp-version = { version = "5.0.0", path = "../../version" }

[dev-dependencies]
futures = "0.3.21"
Expand Down
69 changes: 13 additions & 56 deletions primitives/consensus/common/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,85 +15,42 @@
// See the License for the specific language governing permissions and
// limitations under the License.

//! Error types in Consensus
use sp_core::ed25519::Public;
use sp_version::RuntimeVersion;
use std::error;
//! Error types for consensus modules.

/// Result type alias.
pub type Result<T> = std::result::Result<T, Error>;

/// Error type.
/// The error type for consensus-related operations.
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
/// Missing state at block with given descriptor.
#[error("State unavailable at block {0}")]
StateUnavailable(String),
/// I/O terminated unexpectedly
#[error("I/O terminated unexpectedly.")]
IoTerminated,
/// Intermediate missing.
#[error("Missing intermediate.")]
#[error("Missing intermediate")]
NoIntermediate,
/// Intermediate is of wrong type.
#[error("Invalid intermediate.")]
#[error("Invalid intermediate")]
InvalidIntermediate,
/// Unable to schedule wake-up.
#[error("Timer error: {0}")]
FaultyTimer(#[from] std::io::Error),
/// Error while working with inherent data.
#[error("InherentData error: {0}")]
InherentData(#[from] sp_inherents::Error),
/// Unable to propose a block.
#[error("Unable to create block proposal.")]
CannotPropose,
/// Error checking signature
#[error("Message signature {0:?} by {1:?} is invalid.")]
/// Error checking signature.
#[error("Message signature {0:?} by {1:?} is invalid")]
InvalidSignature(Vec<u8>, Vec<u8>),
/// Invalid authorities set received from the runtime.
#[error("Current state of blockchain has invalid authorities set")]
InvalidAuthoritiesSet,
/// Account is not an authority.
#[error("Message sender {0:?} is not a valid authority")]
InvalidAuthority(Public),
/// Authoring interface does not match the runtime.
#[error(
"Authoring for current \
runtime is not supported. Native ({native}) cannot author for on-chain ({on_chain})."
)]
IncompatibleAuthoringRuntime { native: RuntimeVersion, on_chain: RuntimeVersion },
/// Authoring interface does not match the runtime.
#[error("Authoring for current runtime is not supported since it has no version.")]
RuntimeVersionMissing,
/// Authoring interface does not match the runtime.
#[error("Authoring in current build is not supported since it has no runtime.")]
NativeRuntimeMissing,
/// Justification requirements not met.
#[error("Invalid justification.")]
#[error("Invalid justification")]
InvalidJustification,
/// Some other error.
#[error(transparent)]
Other(#[from] Box<dyn error::Error + Sync + Send + 'static>),
/// Error from the client while importing
/// Error from the client while importing.
#[error("Import failed: {0}")]
ClientImport(String),
/// Error from the client while importing
/// Error from the client while fetching some data from the chain.
#[error("Chain lookup failed: {0}")]
ChainLookup(String),
/// Signing failed
/// Signing failed.
#[error("Failed to sign using key: {0:?}. Reason: {1}")]
CannotSign(Vec<u8>, String),
}

impl From<Public> for Error {
fn from(p: Public) -> Self {
Self::InvalidAuthority(p)
}
}

impl From<String> for Error {
fn from(s: String) -> Self {
Self::StateUnavailable(s)
}
/// Some other error.
#[error(transparent)]
Other(#[from] Box<dyn std::error::Error + Sync + Send + 'static>),
}