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