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 use reth_ethereum_cli as cli;
25
26/// Re-exported pool types
27#[cfg(feature = "pool")]
28pub use reth_transaction_pool as pool;
29
30/// Re-exported consensus types
31#[cfg(feature = "consensus")]
32pub mod consensus {
33 #[doc(inline)]
34 pub use reth_consensus::*;
35 pub use reth_consensus_common::*;
36 pub use reth_ethereum_consensus::*;
37}
38
39/// Re-exported from `reth_chainspec`
40pub mod chainspec {
41 #[doc(inline)]
42 pub use reth_chainspec::*;
43}
44
45/// Re-exported evm types
46#[cfg(feature = "evm")]
47pub mod evm {
48 #[doc(inline)]
49 pub use reth_evm_ethereum::*;
50
51 #[doc(inline)]
52 pub use reth_evm as primitives;
53
54 #[doc(inline)]
55 pub use reth_revm as revm;
56}
57
58/// Re-exported exex types
59#[cfg(feature = "exex")]
60pub use reth_exex as exex;
61
62/// Re-exported reth network types
63#[cfg(feature = "network")]
64pub mod network {
65 #[doc(inline)]
66 pub use reth_eth_wire as eth_wire;
67 #[doc(inline)]
68 pub use reth_network::*;
69 #[doc(inline)]
70 pub use reth_network_api as api;
71}
72
73/// Re-exported reth provider types
74#[cfg(feature = "provider")]
75pub mod provider {
76 #[doc(inline)]
77 pub use reth_provider::*;
78
79 #[doc(inline)]
80 pub use reth_db as db;
81}
82
83/// Re-exported reth storage api types
84#[cfg(feature = "storage-api")]
85pub mod storage {
86 #[doc(inline)]
87 pub use reth_storage_api::*;
88}
89
90/// Re-exported ethereum node
91#[cfg(feature = "node-api")]
92pub mod node {
93 #[doc(inline)]
94 pub use reth_node_api as api;
95 #[doc(inline)]
96 pub use reth_node_core as core;
97 #[cfg(feature = "node")]
98 pub use reth_node_ethereum::*;
99}
100
101/// Re-exported reth trie types
102#[cfg(feature = "trie")]
103pub mod trie {
104 #[doc(inline)]
105 pub use reth_trie::*;
106}
107
108/// Re-exported rpc types
109#[cfg(feature = "rpc")]
110pub mod rpc {
111 #[doc(inline)]
112 pub use reth_rpc::*;
113
114 #[doc(inline)]
115 pub use reth_rpc_api as api;
116 #[doc(inline)]
117 pub use reth_rpc_builder as builder;
118
119 /// Re-exported eth types
120 pub mod eth {
121 #[doc(inline)]
122 pub use alloy_rpc_types_eth as primitives;
123 #[doc(inline)]
124 pub use reth_rpc_eth_types::*;
125 }
126}