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