diff --git a/crates/rpc/rpc-builder/src/auth.rs b/crates/rpc/rpc-builder/src/auth.rs index 48ca32d922..42c5d41309 100644 --- a/crates/rpc/rpc-builder/src/auth.rs +++ b/crates/rpc/rpc-builder/src/auth.rs @@ -1,36 +1,15 @@ -use crate::{constants::DEFAULT_AUTH_PORT, RpcServerConfig}; -use hyper::{http::HeaderValue, Method}; pub use jsonrpsee::server::ServerBuilder; -use jsonrpsee::{ - core::{ - server::{host_filtering::AllowHosts, rpc_module::Methods}, - Error as RpcError, - }, - server::{middleware, Server, ServerHandle}, - RpcModule, -}; -use reth_ipc::server::IpcServer; -pub use reth_ipc::server::{Builder as IpcServerBuilder, Endpoint}; +use jsonrpsee::{core::Error as RpcError, server::ServerHandle, RpcModule}; use reth_network_api::{NetworkInfo, Peers}; use reth_provider::{BlockProvider, EvmEnvProvider, HeaderProvider, StateProviderFactory}; use reth_rpc::{ - eth::cache::EthStateCache, AdminApi, AuthLayer, DebugApi, EngineApi, EthApi, JwtAuthValidator, - JwtSecret, NetApi, TraceApi, Web3Api, + eth::cache::EthStateCache, AuthLayer, EngineApi, EthApi, JwtAuthValidator, JwtSecret, }; use reth_rpc_api::servers::*; use reth_rpc_engine_api::EngineApiHandle; use reth_tasks::TaskSpawner; use reth_transaction_pool::TransactionPool; -use serde::{Deserialize, Serialize, Serializer}; -use std::{ - collections::{hash_map::Entry, HashMap}, - fmt, - net::{Ipv4Addr, SocketAddr, SocketAddrV4}, - str::FromStr, -}; -use strum::{AsRefStr, EnumString, EnumVariantNames, ParseError, VariantNames}; -use tower::layer::util::{Identity, Stack}; -use tower_http::cors::{AllowOrigin, Any, CorsLayer}; +use std::net::SocketAddr; /// Configure and launch an auth server with `engine` and a _new_ `eth` namespace. pub async fn launch( @@ -80,8 +59,8 @@ where { // Configure the module and start the server. let mut module = RpcModule::new(()); - module.merge(EngineApi::new(handle).into_rpc()); - module.merge(eth_api.into_rpc()); + module.merge(EngineApi::new(handle).into_rpc()).expect("No conflicting methods"); + module.merge(eth_api.into_rpc()).expect("No conflicting methods"); // Create auth middleware. let middleware = diff --git a/crates/rpc/rpc-builder/src/lib.rs b/crates/rpc/rpc-builder/src/lib.rs index c5b81b8a14..8b883f4218 100644 --- a/crates/rpc/rpc-builder/src/lib.rs +++ b/crates/rpc/rpc-builder/src/lib.rs @@ -4,7 +4,6 @@ no_crate_inject, attr(deny(warnings, rust_2018_idioms), allow(dead_code, unused_variables)) ))] -#![allow(unused)] //! Configure reth RPC //! @@ -26,13 +25,13 @@ //! //! ``` //! use reth_network_api::{NetworkInfo, Peers}; -//! use reth_provider::{BlockProvider, HeaderProvider, StateProviderFactory, EvmEnvProvider}; +//! use reth_provider::{BlockProvider, StateProviderFactory, EvmEnvProvider}; //! use reth_rpc_builder::{RethRpcModule, RpcModuleBuilder, RpcServerConfig, ServerBuilder, TransportRpcModuleConfig}; //! use reth_tasks::TokioTaskExecutor; //! use reth_transaction_pool::TransactionPool; //! pub async fn launch(client: Client, pool: Pool, network: Network) //! where -//! Client: BlockProvider + HeaderProvider + StateProviderFactory + EvmEnvProvider + Clone + Unpin + 'static, +//! Client: BlockProvider + StateProviderFactory + EvmEnvProvider + Clone + Unpin + 'static, //! Pool: TransactionPool + Clone + 'static, //! Network: NetworkInfo + Peers + Clone + 'static, //! { @@ -52,18 +51,14 @@ //! } //! ``` -use hyper::{http::HeaderValue, Method}; use jsonrpsee::{ - core::{ - server::{host_filtering::AllowHosts, rpc_module::Methods}, - Error as RpcError, - }, + core::{server::rpc_module::Methods, Error as RpcError}, server::{IdProvider, Server, ServerHandle}, RpcModule, }; use reth_ipc::server::IpcServer; use reth_network_api::{NetworkInfo, Peers}; -use reth_provider::{BlockProvider, EvmEnvProvider, HeaderProvider, StateProviderFactory}; +use reth_provider::{BlockProvider, EvmEnvProvider, StateProviderFactory}; use reth_rpc::{ AdminApi, DebugApi, EthApi, EthFilter, EthSubscriptionIdProvider, NetApi, TraceApi, Web3Api, }; @@ -71,7 +66,7 @@ use reth_rpc_api::servers::*; use reth_transaction_pool::TransactionPool; use serde::{Deserialize, Serialize, Serializer}; use std::{ - collections::{hash_map::Entry, HashMap}, + collections::HashMap, fmt, net::{Ipv4Addr, SocketAddr, SocketAddrV4}, str::FromStr, @@ -109,13 +104,7 @@ pub async fn launch( executor: Tasks, ) -> Result where - Client: BlockProvider - + HeaderProvider - + StateProviderFactory - + EvmEnvProvider - + Clone - + Unpin - + 'static, + Client: BlockProvider + StateProviderFactory + EvmEnvProvider + Clone + Unpin + 'static, Pool: TransactionPool + Clone + 'static, Network: NetworkInfo + Peers + Clone + 'static, Tasks: TaskSpawner + Clone + 'static, @@ -190,13 +179,7 @@ impl RpcModuleBuilder RpcModuleBuilder where - Client: BlockProvider - + HeaderProvider - + StateProviderFactory - + EvmEnvProvider - + Clone - + Unpin - + 'static, + Client: BlockProvider + StateProviderFactory + EvmEnvProvider + Clone + Unpin + 'static, Pool: TransactionPool + Clone + 'static, Network: NetworkInfo + Peers + Clone + 'static, Tasks: TaskSpawner + Clone + 'static, @@ -345,13 +328,7 @@ impl RpcModuleSelection { config: RpcModuleConfig, ) -> RpcModule<()> where - Client: BlockProvider - + HeaderProvider - + StateProviderFactory - + EvmEnvProvider - + Clone - + Unpin - + 'static, + Client: BlockProvider + StateProviderFactory + EvmEnvProvider + Clone + Unpin + 'static, Pool: TransactionPool + Clone + 'static, Network: NetworkInfo + Peers + Clone + 'static, Tasks: TaskSpawner + Clone + 'static, @@ -499,13 +476,7 @@ where impl RethModuleRegistry where - Client: BlockProvider - + HeaderProvider - + StateProviderFactory - + EvmEnvProvider - + Clone - + Unpin - + 'static, + Client: BlockProvider + StateProviderFactory + EvmEnvProvider + Clone + Unpin + 'static, Pool: TransactionPool + Clone + 'static, Network: NetworkInfo + Peers + Clone + 'static, Tasks: TaskSpawner + Clone + 'static, @@ -721,7 +692,7 @@ impl RpcServerConfig { /// /// Note: this always configures an [EthSubscriptionIdProvider] [IdProvider] for convenience. /// To set a custom [IdProvider], please use [Self::with_id_provider]. - pub fn with_ipc(mut self, mut config: IpcServerBuilder) -> Self { + pub fn with_ipc(mut self, config: IpcServerBuilder) -> Self { self.ipc_server_config = Some(config.set_id_provider(EthSubscriptionIdProvider::default())); self } @@ -963,12 +934,12 @@ impl RpcServer { } /// Returns the [`SocketAddr`] of the http server if started. - fn http_local_addr(&self) -> Option { + pub fn http_local_addr(&self) -> Option { self.http_local_addr } /// Returns the [`SocketAddr`] of the ws server if started. - fn ws_local_addr(&self) -> Option { + pub fn ws_local_addr(&self) -> Option { self.ws_local_addr } @@ -1046,12 +1017,12 @@ pub struct RpcServerHandle { impl RpcServerHandle { /// Returns the [`SocketAddr`] of the http server if started. - fn http_local_addr(&self) -> Option { + pub fn http_local_addr(&self) -> Option { self.http_local_addr } /// Returns the [`SocketAddr`] of the ws server if started. - fn ws_local_addr(&self) -> Option { + pub fn ws_local_addr(&self) -> Option { self.ws_local_addr }