chore: add PayloadBuilder to RpcNodeCore (#12428)

This commit is contained in:
Matthias Seitz
2024-11-09 18:27:18 +01:00
committed by GitHub
parent 1b1f0f3ef8
commit 7eaa0a8f9f
3 changed files with 23 additions and 0 deletions

View File

@ -19,6 +19,9 @@ pub trait RpcNodeCore: Clone + Send + Sync {
/// Network API.
type Network: Send + Sync + Clone;
/// Builds new blocks.
type PayloadBuilder: Send + Sync + Clone;
/// Returns the transaction pool of the node.
fn pool(&self) -> &Self::Pool;
@ -28,6 +31,9 @@ pub trait RpcNodeCore: Clone + Send + Sync {
/// Returns the handle to the network
fn network(&self) -> &Self::Network;
/// Returns the handle to the payload builder service.
fn payload_builder(&self) -> &Self::PayloadBuilder;
/// Returns the provider of the node.
fn provider(&self) -> &Self::Provider;
}
@ -40,6 +46,7 @@ where
type Pool = T::Pool;
type Evm = <T as FullNodeComponents>::Evm;
type Network = <T as FullNodeComponents>::Network;
type PayloadBuilder = <T as FullNodeComponents>::PayloadBuilder;
#[inline]
fn pool(&self) -> &Self::Pool {
@ -56,6 +63,11 @@ where
FullNodeComponents::network(self)
}
#[inline]
fn payload_builder(&self) -> &Self::PayloadBuilder {
FullNodeComponents::payload_builder(self)
}
#[inline]
fn provider(&self) -> &Self::Provider {
FullNodeComponents::provider(self)

View File

@ -151,6 +151,7 @@ where
type Pool = Pool;
type Evm = EvmConfig;
type Network = Network;
type PayloadBuilder = ();
fn pool(&self) -> &Self::Pool {
self.inner.pool()
@ -164,6 +165,10 @@ where
self.inner.network()
}
fn payload_builder(&self) -> &Self::PayloadBuilder {
&()
}
fn provider(&self) -> &Self::Provider {
self.inner.provider()
}