mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-04-30 03:01:58 -04:00
feat: relax NodeTypesWithEngine bounds on EngineTypes to PayloadTypes (#15257)
This commit is contained in:
@@ -8,7 +8,7 @@ use std::{
|
||||
sync::Arc,
|
||||
};
|
||||
|
||||
use reth_node_api::{EngineTypes, FullNodeComponents};
|
||||
use reth_node_api::{EngineTypes, FullNodeComponents, PayloadTypes};
|
||||
use reth_node_core::{
|
||||
dirs::{ChainPath, DataDirPath},
|
||||
node_config::NodeConfig,
|
||||
@@ -81,7 +81,7 @@ where
|
||||
C: Send + Sync + Unpin + 'static,
|
||||
AO: Send + Sync + Unpin + Clone + 'static,
|
||||
{
|
||||
type Engine = <N::Types as NodeTypesWithEngine>::Engine;
|
||||
type Payload = <N::Types as NodeTypesWithEngine>::Payload;
|
||||
}
|
||||
|
||||
impl<N, C, AO> Node<N> for AnyNode<N, C, AO>
|
||||
@@ -118,7 +118,7 @@ pub struct FullNode<Node: FullNodeComponents, AddOns: NodeAddOns<Node>> {
|
||||
/// Provider to interact with the node's database
|
||||
pub provider: Node::Provider,
|
||||
/// Handle to the node's payload builder service.
|
||||
pub payload_builder_handle: PayloadBuilderHandle<<Node::Types as NodeTypesWithEngine>::Engine>,
|
||||
pub payload_builder_handle: PayloadBuilderHandle<<Node::Types as NodeTypesWithEngine>::Payload>,
|
||||
/// Task executor for the node.
|
||||
pub task_executor: TaskExecutor,
|
||||
/// The initial node config.
|
||||
@@ -146,10 +146,10 @@ impl<Node: FullNodeComponents, AddOns: NodeAddOns<Node>> Clone for FullNode<Node
|
||||
}
|
||||
}
|
||||
|
||||
impl<Engine, Node, AddOns> FullNode<Node, AddOns>
|
||||
impl<Payload, Node, AddOns> FullNode<Node, AddOns>
|
||||
where
|
||||
Engine: EngineTypes,
|
||||
Node: FullNodeComponents<Types: NodeTypesWithEngine<Engine = Engine>>,
|
||||
Payload: PayloadTypes,
|
||||
Node: FullNodeComponents<Types: NodeTypesWithEngine<Payload = Payload>>,
|
||||
AddOns: NodeAddOns<Node>,
|
||||
{
|
||||
/// Returns the chain spec of the node.
|
||||
@@ -158,10 +158,10 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
impl<Engine, Node, AddOns> FullNode<Node, AddOns>
|
||||
impl<Payload, Node, AddOns> FullNode<Node, AddOns>
|
||||
where
|
||||
Engine: EngineTypes,
|
||||
Node: FullNodeComponents<Types: NodeTypesWithEngine<Engine = Engine>>,
|
||||
Payload: PayloadTypes,
|
||||
Node: FullNodeComponents<Types: NodeTypesWithEngine<Payload = Payload>>,
|
||||
AddOns: RethRpcAddOns<Node>,
|
||||
{
|
||||
/// Returns the [`RpcServerHandle`] to the started rpc server.
|
||||
@@ -173,7 +173,14 @@ where
|
||||
pub const fn auth_server_handle(&self) -> &AuthServerHandle {
|
||||
&self.add_ons_handle.rpc_server_handles.auth
|
||||
}
|
||||
}
|
||||
|
||||
impl<Engine, Node, AddOns> FullNode<Node, AddOns>
|
||||
where
|
||||
Engine: EngineTypes,
|
||||
Node: FullNodeComponents<Types: NodeTypesWithEngine<Payload = Engine>>,
|
||||
AddOns: RethRpcAddOns<Node>,
|
||||
{
|
||||
/// Returns the [`EngineApiClient`] interface for the authenticated engine API.
|
||||
///
|
||||
/// This will send authenticated http requests to the node's auth server.
|
||||
|
||||
Reference in New Issue
Block a user