diff --git a/crates/node-types/src/utils.rs b/crates/node-types/src/utils.rs index fa5484c..0d49922 100644 --- a/crates/node-types/src/utils.rs +++ b/crates/node-types/src/utils.rs @@ -1,24 +1,12 @@ use reth::{primitives::EthPrimitives, providers::providers::ProviderNodeTypes}; use reth_chainspec::ChainSpec; -use reth_db::mdbx; -use std::sync::Arc; /// Convenience trait for specifying the [`ProviderNodeTypes`] implementation /// required for Signet functionality. This is used to condense many trait /// bounds. -pub trait Pnt: - ProviderNodeTypes> -{ -} +pub trait Pnt: ProviderNodeTypes {} -impl Pnt for T where - T: ProviderNodeTypes< - ChainSpec = ChainSpec, - Primitives = EthPrimitives, - DB = Arc, - > -{ -} +impl Pnt for T where T: ProviderNodeTypes {} /// Convenience trait to aggregate the DB requirements pub trait NodeTypesDbTrait: diff --git a/crates/rpc/src/inspect/db.rs b/crates/rpc/src/inspect/db.rs index 429d421..857e79f 100644 --- a/crates/rpc/src/inspect/db.rs +++ b/crates/rpc/src/inspect/db.rs @@ -1,10 +1,10 @@ use ajj::serde_json; use eyre::WrapErr; -use reth::providers::ProviderFactory; -use reth_db::{Database, TableViewer, table::Table}; +use reth::providers::{ProviderFactory, providers::ProviderNodeTypes}; +use reth_db::{Database, TableViewer, mdbx, table::Table}; use reth_db_common::{DbTool, ListFilter}; use signet_node_types::Pnt; -use std::sync::OnceLock; +use std::sync::{Arc, OnceLock}; use tracing::instrument; /// Modeled on the `Command` struct from `reth/crates/cli/commands/src/db/list.rs` @@ -95,7 +95,9 @@ impl<'a, 'b, N: Pnt> ListTableViewer<'a, 'b, N> { } } -impl TableViewer<()> for ListTableViewer<'_, '_, N> { +impl>> TableViewer<()> + for ListTableViewer<'_, '_, N> +{ type Error = eyre::Report; #[instrument(skip(self), err)] diff --git a/crates/rpc/src/inspect/endpoints.rs b/crates/rpc/src/inspect/endpoints.rs index 8de1e41..a65824a 100644 --- a/crates/rpc/src/inspect/endpoints.rs +++ b/crates/rpc/src/inspect/endpoints.rs @@ -1,9 +1,13 @@ +use std::sync::Arc; + use crate::{ RpcCtx, inspect::db::{DbArgs, ListTableViewer}, utils::{await_jh_option_response, response_tri}, }; use ajj::{HandlerCtx, ResponsePayload}; +use reth::providers::providers::ProviderNodeTypes; +use reth_db::mdbx; use reth_node_api::FullNodeComponents; use signet_node_types::Pnt; @@ -15,7 +19,7 @@ pub(super) async fn db( ) -> ResponsePayload, String> where Host: FullNodeComponents, - Signet: Pnt, + Signet: Pnt + ProviderNodeTypes>, { let task = async move { let table: reth_db::Tables = response_tri!(args.table(), "invalid table name"); diff --git a/crates/rpc/src/inspect/mod.rs b/crates/rpc/src/inspect/mod.rs index ad4982e..8c435bb 100644 --- a/crates/rpc/src/inspect/mod.rs +++ b/crates/rpc/src/inspect/mod.rs @@ -2,7 +2,11 @@ pub(crate) mod db; mod endpoints; +use std::sync::Arc; + use crate::RpcCtx; +use reth::providers::providers::ProviderNodeTypes; +use reth_db::mdbx; use reth_node_api::FullNodeComponents; use signet_node_types::Pnt; @@ -10,7 +14,7 @@ use signet_node_types::Pnt; pub fn inspect() -> ajj::Router> where Host: FullNodeComponents, - Signet: Pnt, + Signet: Pnt + ProviderNodeTypes>, { ajj::Router::new().route("db", endpoints::db::) } diff --git a/crates/rpc/src/lib.rs b/crates/rpc/src/lib.rs index 035957d..174bdf1 100644 --- a/crates/rpc/src/lib.rs +++ b/crates/rpc/src/lib.rs @@ -50,6 +50,7 @@ #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] mod config; + pub use config::{RpcServerGuard, ServeConfig}; mod ctx; @@ -75,8 +76,11 @@ pub mod utils; pub use ::ajj; use ajj::Router; +use reth::providers::providers::ProviderNodeTypes; +use reth_db::mdbx::DatabaseEnv; use reth_node_api::FullNodeComponents; use signet_node_types::Pnt; +use std::sync::Arc; /// Create a new router with the given host and signet types. pub fn router() -> Router> @@ -91,7 +95,7 @@ where pub fn hazmat_router() -> Router> where Host: FullNodeComponents, - Signet: Pnt, + Signet: Pnt + ProviderNodeTypes>, { ajj::Router::new().nest("inspect", inspect::inspect::()) }