|
18 | 18 | //!
|
19 | 19 | //! ```
|
20 | 20 | //! use reth_network_api::{NetworkInfo, Peers};
|
21 |
| -//! use reth_provider::{AccountReader, BlockReaderIdExt, ChainSpecProvider, CanonStateSubscriptions, StateProviderFactory, EvmEnvProvider, ChangeSetReader}; |
22 |
| -//! use reth_rpc_builder::{RethRpcModule, RpcModuleBuilder, RpcServerConfig, ServerBuilder, TransportRpcModuleConfig}; |
| 21 | +//! use reth_provider::{ |
| 22 | +//! AccountReader, BlockReaderIdExt, CanonStateSubscriptions, ChainSpecProvider, |
| 23 | +//! ChangeSetReader, EvmEnvProvider, StateProviderFactory, |
| 24 | +//! }; |
| 25 | +//! use reth_rpc_builder::{ |
| 26 | +//! RethRpcModule, RpcModuleBuilder, RpcServerConfig, ServerBuilder, TransportRpcModuleConfig, |
| 27 | +//! }; |
23 | 28 | //! use reth_tasks::TokioTaskExecutor;
|
24 | 29 | //! use reth_transaction_pool::TransactionPool;
|
25 |
| -//! pub async fn launch<Provider, Pool, Network, Events>(provider: Provider, pool: Pool, network: Network, events: Events) |
26 |
| -//! where |
27 |
| -//! Provider: AccountReader + BlockReaderIdExt + ChainSpecProvider + ChangeSetReader + StateProviderFactory + EvmEnvProvider + Clone + Unpin + 'static, |
| 30 | +//! pub async fn launch<Provider, Pool, Network, Events>( |
| 31 | +//! provider: Provider, |
| 32 | +//! pool: Pool, |
| 33 | +//! network: Network, |
| 34 | +//! events: Events, |
| 35 | +//! ) where |
| 36 | +//! Provider: AccountReader |
| 37 | +//! + BlockReaderIdExt |
| 38 | +//! + ChainSpecProvider |
| 39 | +//! + ChangeSetReader |
| 40 | +//! + StateProviderFactory |
| 41 | +//! + EvmEnvProvider |
| 42 | +//! + Clone |
| 43 | +//! + Unpin |
| 44 | +//! + 'static, |
28 | 45 | //! Pool: TransactionPool + Clone + 'static,
|
29 | 46 | //! Network: NetworkInfo + Peers + Clone + 'static,
|
30 |
| -//! Events: CanonStateSubscriptions + Clone + 'static, |
| 47 | +//! Events: CanonStateSubscriptions + Clone + 'static, |
31 | 48 | //! {
|
32 | 49 | //! // configure the rpc module per transport
|
33 | 50 | //! let transports = TransportRpcModuleConfig::default().with_http(vec![
|
|
36 | 53 | //! RethRpcModule::Eth,
|
37 | 54 | //! RethRpcModule::Web3,
|
38 | 55 | //! ]);
|
39 |
| -//! let transport_modules = RpcModuleBuilder::new(provider, pool, network, TokioTaskExecutor::default(), events).build(transports); |
| 56 | +//! let transport_modules = |
| 57 | +//! RpcModuleBuilder::new(provider, pool, network, TokioTaskExecutor::default(), events) |
| 58 | +//! .build(transports); |
40 | 59 | //! let handle = RpcServerConfig::default()
|
41 | 60 | //! .with_http(ServerBuilder::default())
|
42 | 61 | //! .start(transport_modules)
|
|
49 | 68 | //!
|
50 | 69 | //!
|
51 | 70 | //! ```
|
52 |
| -//! use tokio::try_join; |
53 | 71 | //! use reth_network_api::{NetworkInfo, Peers};
|
54 |
| -//! use reth_provider::{AccountReader, BlockReaderIdExt, ChainSpecProvider, CanonStateSubscriptions, StateProviderFactory, EvmEnvProvider, ChangeSetReader}; |
| 72 | +//! use reth_provider::{ |
| 73 | +//! AccountReader, BlockReaderIdExt, CanonStateSubscriptions, ChainSpecProvider, |
| 74 | +//! ChangeSetReader, EvmEnvProvider, StateProviderFactory, |
| 75 | +//! }; |
55 | 76 | //! use reth_rpc::JwtSecret;
|
56 |
| -//! use reth_rpc_builder::{RethRpcModule, RpcModuleBuilder, RpcServerConfig, TransportRpcModuleConfig}; |
| 77 | +//! use reth_rpc_api::EngineApiServer; |
| 78 | +//! use reth_rpc_builder::{ |
| 79 | +//! auth::AuthServerConfig, RethRpcModule, RpcModuleBuilder, RpcServerConfig, |
| 80 | +//! TransportRpcModuleConfig, |
| 81 | +//! }; |
57 | 82 | //! use reth_tasks::TokioTaskExecutor;
|
58 | 83 | //! use reth_transaction_pool::TransactionPool;
|
59 |
| -//! use reth_rpc_api::EngineApiServer; |
60 |
| -//! use reth_rpc_builder::auth::AuthServerConfig; |
61 |
| -//! pub async fn launch<Provider, Pool, Network, Events, EngineApi>(provider: Provider, pool: Pool, network: Network, events: Events, engine_api: EngineApi) |
62 |
| -//! where |
63 |
| -//! Provider: AccountReader + BlockReaderIdExt + ChainSpecProvider + ChangeSetReader + StateProviderFactory + EvmEnvProvider + Clone + Unpin + 'static, |
| 84 | +//! use tokio::try_join; |
| 85 | +//! pub async fn launch<Provider, Pool, Network, Events, EngineApi>( |
| 86 | +//! provider: Provider, |
| 87 | +//! pool: Pool, |
| 88 | +//! network: Network, |
| 89 | +//! events: Events, |
| 90 | +//! engine_api: EngineApi, |
| 91 | +//! ) where |
| 92 | +//! Provider: AccountReader |
| 93 | +//! + BlockReaderIdExt |
| 94 | +//! + ChainSpecProvider |
| 95 | +//! + ChangeSetReader |
| 96 | +//! + StateProviderFactory |
| 97 | +//! + EvmEnvProvider |
| 98 | +//! + Clone |
| 99 | +//! + Unpin |
| 100 | +//! + 'static, |
64 | 101 | //! Pool: TransactionPool + Clone + 'static,
|
65 | 102 | //! Network: NetworkInfo + Peers + Clone + 'static,
|
66 |
| -//! Events: CanonStateSubscriptions + Clone + 'static, |
67 |
| -//! EngineApi: EngineApiServer |
| 103 | +//! Events: CanonStateSubscriptions + Clone + 'static, |
| 104 | +//! EngineApi: EngineApiServer, |
68 | 105 | //! {
|
69 | 106 | //! // configure the rpc module per transport
|
70 | 107 | //! let transports = TransportRpcModuleConfig::default().with_http(vec![
|
|
73 | 110 | //! RethRpcModule::Eth,
|
74 | 111 | //! RethRpcModule::Web3,
|
75 | 112 | //! ]);
|
76 |
| -//! let builder = RpcModuleBuilder::new(provider, pool, network, TokioTaskExecutor::default(), events); |
77 |
| -//! |
78 |
| -//! // configure the server modules |
79 |
| -//! let (modules, auth_module, _registry) = builder.build_with_auth_server(transports, engine_api); |
| 113 | +//! let builder = |
| 114 | +//! RpcModuleBuilder::new(provider, pool, network, TokioTaskExecutor::default(), events); |
80 | 115 | //!
|
81 |
| -//! // start the servers |
82 |
| -//! let auth_config = AuthServerConfig::builder(JwtSecret::random()).build(); |
83 |
| -//! let config = RpcServerConfig::default(); |
| 116 | +//! // configure the server modules |
| 117 | +//! let (modules, auth_module, _registry) = |
| 118 | +//! builder.build_with_auth_server(transports, engine_api); |
84 | 119 | //!
|
85 |
| -//! let (_rpc_handle, _auth_handle) = try_join!( |
86 |
| -//! modules.start_server(config), |
87 |
| -//! auth_module.start_server(auth_config), |
88 |
| -//! ).unwrap(); |
| 120 | +//! // start the servers |
| 121 | +//! let auth_config = AuthServerConfig::builder(JwtSecret::random()).build(); |
| 122 | +//! let config = RpcServerConfig::default(); |
89 | 123 | //!
|
| 124 | +//! let (_rpc_handle, _auth_handle) = |
| 125 | +//! try_join!(modules.start_server(config), auth_module.start_server(auth_config),) |
| 126 | +//! .unwrap(); |
90 | 127 | //! }
|
91 | 128 | //! ```
|
92 | 129 |
|
@@ -515,19 +552,25 @@ impl RpcModuleSelection {
|
515 | 552 | /// Create a selection from the [RethRpcModule] string identifiers
|
516 | 553 | ///
|
517 | 554 | /// ```
|
518 |
| - /// use reth_rpc_builder::{RethRpcModule, RpcModuleSelection}; |
| 555 | + /// use reth_rpc_builder::{RethRpcModule, RpcModuleSelection}; |
519 | 556 | /// let selection = vec!["eth", "admin"];
|
520 | 557 | /// let config = RpcModuleSelection::try_from_selection(selection).unwrap();
|
521 |
| - /// assert_eq!(config, RpcModuleSelection::Selection(vec![RethRpcModule::Eth, RethRpcModule::Admin])); |
| 558 | + /// assert_eq!( |
| 559 | + /// config, |
| 560 | + /// RpcModuleSelection::Selection(vec![RethRpcModule::Eth, RethRpcModule::Admin]) |
| 561 | + /// ); |
522 | 562 | /// ```
|
523 | 563 | ///
|
524 | 564 | /// Create a unique selection from the [RethRpcModule] string identifiers
|
525 | 565 | ///
|
526 | 566 | /// ```
|
527 |
| - /// use reth_rpc_builder::{RethRpcModule, RpcModuleSelection}; |
| 567 | + /// use reth_rpc_builder::{RethRpcModule, RpcModuleSelection}; |
528 | 568 | /// let selection = vec!["eth", "admin", "eth", "admin"];
|
529 | 569 | /// let config = RpcModuleSelection::try_from_selection(selection).unwrap();
|
530 |
| - /// assert_eq!(config, RpcModuleSelection::Selection(vec![RethRpcModule::Eth, RethRpcModule::Admin])); |
| 570 | + /// assert_eq!( |
| 571 | + /// config, |
| 572 | + /// RpcModuleSelection::Selection(vec![RethRpcModule::Eth, RethRpcModule::Admin]) |
| 573 | + /// ); |
531 | 574 | /// ```
|
532 | 575 | pub fn try_from_selection<I, T>(selection: I) -> Result<Self, T::Error>
|
533 | 576 | where
|
@@ -1433,8 +1476,8 @@ impl RpcServerConfig {
|
1433 | 1476 | ///
|
1434 | 1477 | /// ```
|
1435 | 1478 | /// use reth_rpc_builder::{RethRpcModule, TransportRpcModuleConfig};
|
1436 |
| -/// let config = TransportRpcModuleConfig::default() |
1437 |
| -/// .with_http([RethRpcModule::Eth, RethRpcModule::Admin]); |
| 1479 | +/// let config = |
| 1480 | +/// TransportRpcModuleConfig::default().with_http([RethRpcModule::Eth, RethRpcModule::Admin]); |
1438 | 1481 | /// ```
|
1439 | 1482 | #[derive(Debug, Clone, Default, Eq, PartialEq)]
|
1440 | 1483 | pub struct TransportRpcModuleConfig {
|
|
0 commit comments