Skip to main content

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))]
10#![cfg_attr(not(feature = "std"), no_std)]
11
12extern crate alloc;
13
14mod bal;
15pub use bal::*;
16
17mod chain;
18pub use chain::*;
19
20mod execute;
21pub use execute::*;
22
23mod execution_outcome;
24pub use execution_outcome::*;
25
26/// Bincode-compatible serde implementations for commonly used types for (EVM) block execution.
27///
28/// `bincode` crate doesn't work with optionally serializable serde fields, but some of the
29/// execution types require optional serialization for RPC compatibility. This module makes so that
30/// all fields are serialized.
31///
32/// Read more: <https://github.com/bincode-org/bincode/issues/326>
33#[cfg(feature = "serde-bincode-compat")]
34pub mod serde_bincode_compat {
35    pub use super::{chain::serde_bincode_compat::*, execution_outcome::serde_bincode_compat::*};
36}