| 23 | /// - Handling execution errors and recovery scenarios |
| 24 | #[async_trait] |
| 25 | pub trait Executor { |
| 26 | /// The error type for the Executor. |
| 27 | type Error: Error; |
| 28 | |
| 29 | /// Returns whether the provided error should trigger Holocene deposit-only recovery. |
| 30 | fn is_deposit_only_retryable(_error: &Self::Error) -> bool { |
| 31 | false |
| 32 | } |
| 33 | |
| 34 | /// Waits for the executor to be ready for block execution. |
| 35 | async fn wait_until_ready(&mut self); |
| 36 | |
| 37 | /// Updates the safe head to the specified header. |
| 38 | fn update_safe_head(&mut self, header: Sealed<Header>); |
| 39 | |
| 40 | /// Execute the given payload attributes to build and execute a block. |
| 41 | async fn execute_payload( |
| 42 | &mut self, |
| 43 | attributes: BasePayloadAttributes, |
| 44 | ) -> Result<BlockBuildingOutcome, Self::Error>; |
| 45 | |
| 46 | /// Computes the output root for the most recently executed block. |
| 47 | fn compute_output_root(&mut self) -> Result<B256, Self::Error>; |
| 48 | } |
no outgoing calls
no test coverage detected