mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat: fix WASM build for crates dependent on reth-payload-primitives (#12610)
This commit is contained in:
@ -13,13 +13,9 @@ workspace = true
|
||||
|
||||
[dependencies]
|
||||
# reth
|
||||
reth-errors.workspace = true
|
||||
reth-payload-primitives.workspace = true
|
||||
reth-transaction-pool.workspace = true
|
||||
revm-primitives.workspace = true
|
||||
|
||||
# alloy
|
||||
alloy-primitives.workspace = true
|
||||
alloy-rpc-types-engine = { workspace = true, features = ["serde"] }
|
||||
|
||||
# async
|
||||
@ -29,5 +25,4 @@ tokio = { workspace = true, features = ["sync"] }
|
||||
tokio-stream.workspace = true
|
||||
|
||||
# misc
|
||||
thiserror.workspace = true
|
||||
tracing.workspace = true
|
||||
|
||||
@ -1,58 +0,0 @@
|
||||
//! Error types emitted by types or implementations of this crate.
|
||||
|
||||
use alloy_primitives::B256;
|
||||
use reth_errors::{ProviderError, RethError};
|
||||
use reth_transaction_pool::BlobStoreError;
|
||||
use revm_primitives::EVMError;
|
||||
use tokio::sync::oneshot;
|
||||
|
||||
/// Possible error variants during payload building.
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
pub enum PayloadBuilderError {
|
||||
/// Thrown when the parent header cannot be found
|
||||
#[error("missing parent header: {0}")]
|
||||
MissingParentHeader(B256),
|
||||
/// Thrown when the parent block is missing.
|
||||
#[error("missing parent block {0}")]
|
||||
MissingParentBlock(B256),
|
||||
/// An oneshot channels has been closed.
|
||||
#[error("sender has been dropped")]
|
||||
ChannelClosed,
|
||||
/// If there's no payload to resolve.
|
||||
#[error("missing payload")]
|
||||
MissingPayload,
|
||||
/// Error occurring in the blob store.
|
||||
#[error(transparent)]
|
||||
BlobStore(#[from] BlobStoreError),
|
||||
/// Other internal error
|
||||
#[error(transparent)]
|
||||
Internal(#[from] RethError),
|
||||
/// Unrecoverable error during evm execution.
|
||||
#[error("evm execution error: {0}")]
|
||||
EvmExecutionError(EVMError<ProviderError>),
|
||||
/// Any other payload building errors.
|
||||
#[error(transparent)]
|
||||
Other(Box<dyn core::error::Error + Send + Sync>),
|
||||
}
|
||||
|
||||
impl PayloadBuilderError {
|
||||
/// Create a new error from a boxed error.
|
||||
pub fn other<E>(error: E) -> Self
|
||||
where
|
||||
E: core::error::Error + Send + Sync + 'static,
|
||||
{
|
||||
Self::Other(Box::new(error))
|
||||
}
|
||||
}
|
||||
|
||||
impl From<ProviderError> for PayloadBuilderError {
|
||||
fn from(error: ProviderError) -> Self {
|
||||
Self::Internal(RethError::Provider(error))
|
||||
}
|
||||
}
|
||||
|
||||
impl From<oneshot::error::RecvError> for PayloadBuilderError {
|
||||
fn from(_: oneshot::error::RecvError) -> Self {
|
||||
Self::ChannelClosed
|
||||
}
|
||||
}
|
||||
@ -8,12 +8,11 @@
|
||||
#![cfg_attr(not(test), warn(unused_crate_dependencies))]
|
||||
#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
|
||||
|
||||
mod error;
|
||||
pub use error::PayloadBuilderError;
|
||||
|
||||
mod events;
|
||||
pub use crate::events::{Events, PayloadEvents};
|
||||
|
||||
/// Contains the payload builder trait to abstract over payload attributes.
|
||||
mod traits;
|
||||
pub use traits::{PayloadBuilder, PayloadStoreExt};
|
||||
|
||||
pub use reth_payload_primitives::PayloadBuilderError;
|
||||
|
||||
Reference in New Issue
Block a user