reth_ethereum/
lib.rs

1//! Ethereum meta crate that provides access to commonly used reth dependencies.
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
12/// Re-exported ethereum types
13#[doc(inline)]
14pub use reth_ethereum_primitives::*;
15
16/// Re-exported reth primitives
17pub mod primitives {
18    #[doc(inline)]
19    pub use reth_primitives_traits::*;
20}
21
22/// Re-exported cli types
23#[cfg(feature = "cli")]
24pub mod cli {
25    #[doc(inline)]
26    pub use reth_cli_util::*;
27    #[doc(inline)]
28    pub use reth_ethereum_cli::*;
29}
30
31/// Re-exported pool types
32#[cfg(feature = "pool")]
33pub use reth_transaction_pool as pool;
34
35/// Re-exported consensus types
36#[cfg(feature = "consensus")]
37pub mod consensus {
38    #[doc(inline)]
39    pub use reth_consensus::*;
40    pub use reth_consensus_common::*;
41    pub use reth_ethereum_consensus::*;
42}
43
44/// Re-exported from `reth_chainspec`
45pub mod chainspec {
46    #[doc(inline)]
47    pub use reth_chainspec::*;
48}
49
50/// Re-exported evm types
51#[cfg(feature = "evm")]
52pub mod evm {
53    #[doc(inline)]
54    pub use reth_evm_ethereum::*;
55
56    #[doc(inline)]
57    pub use reth_evm as primitives;
58
59    #[doc(inline)]
60    pub use reth_revm as revm;
61}
62
63/// Re-exported exex types
64#[cfg(feature = "exex")]
65pub use reth_exex as exex;
66
67/// Re-exported from `tasks`.
68#[cfg(feature = "tasks")]
69pub mod tasks {
70    pub use reth_tasks::*;
71}
72
73/// Re-exported reth network types
74#[cfg(feature = "network")]
75pub mod network {
76    #[doc(inline)]
77    pub use reth_eth_wire as eth_wire;
78    #[doc(inline)]
79    pub use reth_network::*;
80    #[doc(inline)]
81    pub use reth_network_api as api;
82}
83
84/// Re-exported reth provider types
85#[cfg(feature = "provider")]
86pub mod provider {
87    #[doc(inline)]
88    pub use reth_provider::*;
89
90    #[doc(inline)]
91    pub use reth_db as db;
92}
93
94/// Re-exported codec crate
95#[cfg(feature = "provider")]
96pub use reth_codecs as codec;
97
98/// Re-exported reth storage api types
99#[cfg(feature = "storage-api")]
100pub mod storage {
101    #[doc(inline)]
102    pub use reth_storage_api::*;
103}
104
105/// Re-exported ethereum node
106#[cfg(feature = "node-api")]
107pub mod node {
108    #[doc(inline)]
109    pub use reth_node_api as api;
110    #[cfg(feature = "node")]
111    pub use reth_node_builder as builder;
112    #[doc(inline)]
113    pub use reth_node_core as core;
114    #[cfg(feature = "node")]
115    pub use reth_node_ethereum::*;
116}
117
118/// Re-exported ethereum engine types
119#[cfg(feature = "node")]
120pub mod engine {
121    #[doc(inline)]
122    pub use reth_engine_local as local;
123    #[doc(inline)]
124    pub use reth_node_ethereum::engine::*;
125}
126
127/// Re-exported reth trie types
128#[cfg(feature = "trie")]
129pub mod trie {
130    #[doc(inline)]
131    pub use reth_trie::*;
132
133    #[cfg(feature = "trie-db")]
134    #[doc(inline)]
135    pub use reth_trie_db::*;
136}
137
138/// Re-exported rpc types
139#[cfg(feature = "rpc")]
140pub mod rpc {
141    #[doc(inline)]
142    pub use reth_rpc::*;
143
144    #[doc(inline)]
145    pub use reth_rpc_api as api;
146    #[doc(inline)]
147    pub use reth_rpc_builder as builder;
148
149    /// Re-exported eth types
150    #[allow(ambiguous_glob_reexports)]
151    pub mod eth {
152        #[doc(inline)]
153        pub use alloy_rpc_types_eth as primitives;
154        #[doc(inline)]
155        pub use reth_rpc_eth_types::*;
156
157        pub use reth_rpc::eth::*;
158    }
159
160    /// Re-exported types
161    pub mod types {
162        #[doc(inline)]
163        pub use alloy_rpc_types_engine as engine;
164    }
165}