mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 19:09:54 +00:00
added BeaconConsensusEngineHandle to RpcHandle (#14348)
This commit is contained in:
@ -282,7 +282,7 @@ where
|
||||
),
|
||||
);
|
||||
|
||||
let RpcHandle { rpc_server_handles, rpc_registry, engine_events } =
|
||||
let RpcHandle { rpc_server_handles, rpc_registry, engine_events, beacon_engine_handle } =
|
||||
add_ons.launch_add_ons(add_ons_ctx).await?;
|
||||
|
||||
// TODO: migrate to devmode with https://github.com/paradigmxyz/reth/issues/10104
|
||||
@ -406,7 +406,12 @@ where
|
||||
task_executor: ctx.task_executor().clone(),
|
||||
config: ctx.node_config().clone(),
|
||||
data_dir: ctx.data_dir().clone(),
|
||||
add_ons_handle: RpcHandle { rpc_server_handles, rpc_registry, engine_events },
|
||||
add_ons_handle: RpcHandle {
|
||||
rpc_server_handles,
|
||||
rpc_registry,
|
||||
engine_events,
|
||||
beacon_engine_handle,
|
||||
},
|
||||
};
|
||||
// Notify on node started
|
||||
on_node_started.on_event(FullNode::clone(&full_node))?;
|
||||
|
||||
@ -7,7 +7,7 @@ use std::{
|
||||
ops::{Deref, DerefMut},
|
||||
};
|
||||
|
||||
use crate::{BeaconConsensusEngineEvent, EthApiBuilderCtx};
|
||||
use crate::{BeaconConsensusEngineEvent, BeaconConsensusEngineHandle, EthApiBuilderCtx};
|
||||
use alloy_rpc_types::engine::ClientVersionV1;
|
||||
use futures::TryFutureExt;
|
||||
use reth_node_api::{
|
||||
@ -310,6 +310,9 @@ pub struct RpcHandle<Node: FullNodeComponents, EthApi: EthApiTypes> {
|
||||
/// dispatch events
|
||||
pub engine_events:
|
||||
EventSender<BeaconConsensusEngineEvent<<Node::Types as NodeTypes>::Primitives>>,
|
||||
/// Handle to the beacon consensus engine.
|
||||
pub beacon_engine_handle:
|
||||
BeaconConsensusEngineHandle<<Node::Types as NodeTypesWithEngine>::Engine>,
|
||||
}
|
||||
|
||||
impl<Node: FullNodeComponents, EthApi: EthApiTypes> Clone for RpcHandle<Node, EthApi> {
|
||||
@ -318,6 +321,7 @@ impl<Node: FullNodeComponents, EthApi: EthApiTypes> Clone for RpcHandle<Node, Et
|
||||
rpc_server_handles: self.rpc_server_handles.clone(),
|
||||
rpc_registry: self.rpc_registry.clone(),
|
||||
engine_events: self.engine_events.clone(),
|
||||
beacon_engine_handle: self.beacon_engine_handle.clone(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -449,7 +453,7 @@ where
|
||||
let engine_api = EngineApi::new(
|
||||
node.provider().clone(),
|
||||
config.chain.clone(),
|
||||
beacon_engine_handle,
|
||||
beacon_engine_handle.clone(),
|
||||
PayloadStore::new(node.payload_builder_handle().clone()),
|
||||
node.pool().clone(),
|
||||
Box::new(node.task_executor().clone()),
|
||||
@ -532,7 +536,12 @@ where
|
||||
|
||||
on_rpc_started.on_rpc_started(ctx, handles.clone())?;
|
||||
|
||||
Ok(RpcHandle { rpc_server_handles: handles, rpc_registry: registry, engine_events })
|
||||
Ok(RpcHandle {
|
||||
rpc_server_handles: handles,
|
||||
rpc_registry: registry,
|
||||
engine_events,
|
||||
beacon_engine_handle,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user