reth_op/
lib.rs

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