reth_execution_types/
lib.rs

1//! Commonly used types for (EVM) block execution.
2
3#![doc(
4    html_logo_url = "https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-docs.png",
5    html_favicon_url = "https://avatars0.githubusercontent.com/u/97369466?s=256",
6    issue_tracker_base_url = "https://github.com/paradigmxyz/reth/issues/"
7)]
8#![cfg_attr(not(test), warn(unused_crate_dependencies))]
9#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
10#![cfg_attr(not(feature = "std"), no_std)]
11
12extern crate alloc;
13
14mod chain;
15pub use chain::*;
16
17mod execute;
18pub use execute::*;
19
20mod execution_outcome;
21pub use execution_outcome::*;
22
23/// Bincode-compatible serde implementations for commonly used types for (EVM) block execution.
24///
25/// `bincode` crate doesn't work with optionally serializable serde fields, but some of the
26/// execution types require optional serialization for RPC compatibility. This module makes so that
27/// all fields are serialized.
28///
29/// Read more: <https://github.com/bincode-org/bincode/issues/326>
30#[cfg(feature = "serde-bincode-compat")]
31pub mod serde_bincode_compat {
32    pub use super::{chain::serde_bincode_compat::*, execution_outcome::serde_bincode_compat::*};
33}