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}