kona_engine/task_queue/tasks/consolidate/
error.rs

1//! Contains error types for the [`crate::ConsolidateTask`].
2
3use crate::{
4    BuildTaskError, EngineTaskError, SynchronizeTaskError,
5    task_queue::tasks::task::EngineTaskErrorSeverity,
6};
7use thiserror::Error;
8
9/// An error that occurs when running the [`crate::ConsolidateTask`].
10#[derive(Debug, Error)]
11pub enum ConsolidateTaskError {
12    /// The unsafe L2 block is missing.
13    #[error("Unsafe L2 block is missing {0}")]
14    MissingUnsafeL2Block(u64),
15    /// Failed to fetch the unsafe L2 block.
16    #[error("Failed to fetch the unsafe L2 block")]
17    FailedToFetchUnsafeL2Block,
18    /// The build task failed.
19    #[error(transparent)]
20    BuildTaskFailed(#[from] BuildTaskError),
21    /// The consolidation forkchoice update call to the engine api failed.
22    #[error(transparent)]
23    ForkchoiceUpdateFailed(#[from] SynchronizeTaskError),
24}
25
26impl EngineTaskError for ConsolidateTaskError {
27    fn severity(&self) -> EngineTaskErrorSeverity {
28        match self {
29            Self::MissingUnsafeL2Block(_) => EngineTaskErrorSeverity::Reset,
30            Self::FailedToFetchUnsafeL2Block => EngineTaskErrorSeverity::Temporary,
31            Self::BuildTaskFailed(inner) => inner.severity(),
32            Self::ForkchoiceUpdateFailed(inner) => inner.severity(),
33        }
34    }
35}