reth_exex_types/
lib.rs

1//! Commonly used ExEx types.
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
11mod finished_height;
12mod head;
13mod notification;
14
15pub use finished_height::FinishedExExHeight;
16pub use head::ExExHead;
17pub use notification::ExExNotification;
18
19/// Bincode-compatible serde implementations for commonly used ExEx types.
20///
21/// `bincode` crate doesn't work with optionally serializable serde fields, but some of the
22/// ExEx types require optional serialization for RPC compatibility. This module makes so that
23/// all fields are serialized.
24///
25/// Read more: <https://github.com/bincode-org/bincode/issues/326>
26#[cfg(all(feature = "serde", feature = "serde-bincode-compat"))]
27pub mod serde_bincode_compat {
28    pub use super::notification::serde_bincode_compat::*;
29}