use crate::pow::v1::{RuntimeErrorV1, SolutionErrorV1};
#[derive(Clone, Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
#[error("Incorrect solution to a client puzzle")]
BadSolution(#[source] SolutionError),
#[error("Runtime error while solving a client puzzle: {0}")]
SolveRuntime(#[source] RuntimeError),
#[error("Runtime error while verifying a client puzzle: {0}")]
VerifyRuntime(#[source] RuntimeError),
}
#[derive(Clone, Debug, thiserror::Error)]
#[non_exhaustive]
pub enum SolutionError {
#[error("V1, {0}")]
V1(#[from] SolutionErrorV1),
}
#[derive(Clone, Debug, thiserror::Error)]
#[non_exhaustive]
pub enum RuntimeError {
#[error("V1, {0}")]
V1(#[from] RuntimeErrorV1),
}