zemse_helios_core/execution/
errors.rs1use alloy::eips::BlockId;
2use alloy::primitives::{Address, B256, U256};
3
4use thiserror::Error;
5
6#[derive(Debug, Error)]
7pub enum ExecutionError {
8 #[error("invalid account proof for address: {0}")]
9 InvalidAccountProof(Address),
10 #[error("invalid storage proof for address: {0}, slot: {1}")]
11 InvalidStorageProof(Address, B256),
12 #[error("code hash mismatch for address: {0}, found: {1}, expected: {2}")]
13 CodeHashMismatch(Address, B256, B256),
14 #[error("receipt root mismatch for tx: {0}")]
15 ReceiptRootMismatch(B256),
16 #[error("could not prove receipt for tx: {0}")]
17 NoReceiptForTransaction(B256),
18 #[error("could not prove receipts for block: {0}")]
19 NoReceiptsForBlock(BlockId),
20 #[error("missing log for transaction: {0}, index: {1}")]
21 MissingLog(B256, U256),
22 #[error("too many logs to prove: {0} spanning {1} blocks current limit is: {2} blocks")]
23 TooManyLogsToProve(usize, usize, usize),
24 #[error("execution rpc is for the incorrect network")]
25 IncorrectRpcNetwork(),
26 #[error("block not found: {0}")]
27 BlockNotFound(BlockId),
28 #[error("receipts root mismatch for block: {0}")]
29 BlockReceiptsRootMismatch(BlockId),
30 #[error("filter not found: 0x{0:x}")]
31 FilterNotFound(U256),
32 #[error("log does not match filter")]
33 LogFilterMismatch(),
34}