pub struct Components<Node, Network, Pool, EVM, Consensus>where
Node: FullNodeTypes,{
pub transaction_pool: Pool,
pub evm_config: EVM,
pub consensus: Consensus,
pub network: Network,
pub payload_builder_handle: PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>,
}Expand description
All the components of the node.
This provides access to all the components of the node.
Fields§
§transaction_pool: PoolThe transaction pool of the node.
evm_config: EVMThe node’s EVM configuration, defining settings for the Ethereum Virtual Machine.
consensus: ConsensusThe consensus implementation of the node.
network: NetworkThe network implementation of the node.
payload_builder_handle: PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>The handle to the payload builder service.
Trait Implementations§
Source§impl<Node, N, Pool, EVM, Cons> Clone for Components<Node, N, Pool, EVM, Cons>
impl<Node, N, Pool, EVM, Cons> Clone for Components<Node, N, Pool, EVM, Cons>
Source§fn clone(&self) -> Components<Node, N, Pool, EVM, Cons>
fn clone(&self) -> Components<Node, N, Pool, EVM, Cons>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<Node, Network, Pool, EVM, Consensus> Debug for Components<Node, Network, Pool, EVM, Consensus>where
Node: Debug + FullNodeTypes,
Network: Debug,
Pool: Debug,
EVM: Debug,
Consensus: Debug,
<Node as FullNodeTypes>::Types: Debug,
impl<Node, Network, Pool, EVM, Consensus> Debug for Components<Node, Network, Pool, EVM, Consensus>where
Node: Debug + FullNodeTypes,
Network: Debug,
Pool: Debug,
EVM: Debug,
Consensus: Debug,
<Node as FullNodeTypes>::Types: Debug,
Source§impl<Node, Pool, EVM, Cons, Network> NodeComponents<Node> for Components<Node, Network, Pool, EVM, Cons>where
Node: FullNodeTypes,
Network: FullNetwork,
<Network as NetworkEventListenerProvider>::Primitives: NetPrimitivesFor<<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives, PooledTransaction = <<Pool as TransactionPool>::Transaction as PoolTransaction>::Pooled>,
Pool: TransactionPool + Unpin + 'static,
<Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>,
EVM: ConfigureEvm<Primitives = <<Node as FullNodeTypes>::Types as NodeTypes>::Primitives> + 'static,
Cons: FullConsensus<<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives> + Clone + Unpin + 'static,
impl<Node, Pool, EVM, Cons, Network> NodeComponents<Node> for Components<Node, Network, Pool, EVM, Cons>where
Node: FullNodeTypes,
Network: FullNetwork,
<Network as NetworkEventListenerProvider>::Primitives: NetPrimitivesFor<<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives, PooledTransaction = <<Pool as TransactionPool>::Transaction as PoolTransaction>::Pooled>,
Pool: TransactionPool + Unpin + 'static,
<Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>,
EVM: ConfigureEvm<Primitives = <<Node as FullNodeTypes>::Types as NodeTypes>::Primitives> + 'static,
Cons: FullConsensus<<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives> + Clone + Unpin + 'static,
Source§type Evm = EVM
type Evm = EVM
The node’s EVM configuration, defining settings for the Ethereum Virtual Machine.
Source§fn pool(
&self,
) -> &<Components<Node, Network, Pool, EVM, Cons> as NodeComponents<Node>>::Pool
fn pool( &self, ) -> &<Components<Node, Network, Pool, EVM, Cons> as NodeComponents<Node>>::Pool
Returns the transaction pool of the node.
Source§fn evm_config(
&self,
) -> &<Components<Node, Network, Pool, EVM, Cons> as NodeComponents<Node>>::Evm
fn evm_config( &self, ) -> &<Components<Node, Network, Pool, EVM, Cons> as NodeComponents<Node>>::Evm
Returns the node’s evm config.
Source§fn consensus(
&self,
) -> &<Components<Node, Network, Pool, EVM, Cons> as NodeComponents<Node>>::Consensus
fn consensus( &self, ) -> &<Components<Node, Network, Pool, EVM, Cons> as NodeComponents<Node>>::Consensus
Returns the node’s consensus type.
Source§fn network(
&self,
) -> &<Components<Node, Network, Pool, EVM, Cons> as NodeComponents<Node>>::Network
fn network( &self, ) -> &<Components<Node, Network, Pool, EVM, Cons> as NodeComponents<Node>>::Network
Returns the handle to the network
Source§fn payload_builder_handle(
&self,
) -> &PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>
fn payload_builder_handle( &self, ) -> &PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>
Returns the handle to the payload builder service handling payload building requests from
the engine.
Auto Trait Implementations§
impl<Node, Network, Pool, EVM, Consensus> Freeze for Components<Node, Network, Pool, EVM, Consensus>where
Pool: Freeze,
EVM: Freeze,
Consensus: Freeze,
Network: Freeze,
PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>: Freeze,
impl<Node, Network, Pool, EVM, Consensus> RefUnwindSafe for Components<Node, Network, Pool, EVM, Consensus>where
Pool: RefUnwindSafe,
EVM: RefUnwindSafe,
Consensus: RefUnwindSafe,
Network: RefUnwindSafe,
PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>: RefUnwindSafe,
impl<Node, Network, Pool, EVM, Consensus> Send for Components<Node, Network, Pool, EVM, Consensus>where
Pool: Send,
EVM: Send,
Consensus: Send,
Network: Send,
PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>: Send,
impl<Node, Network, Pool, EVM, Consensus> Sync for Components<Node, Network, Pool, EVM, Consensus>where
Pool: Sync,
EVM: Sync,
Consensus: Sync,
Network: Sync,
PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>: Sync,
impl<Node, Network, Pool, EVM, Consensus> Unpin for Components<Node, Network, Pool, EVM, Consensus>where
Pool: Unpin,
EVM: Unpin,
Consensus: Unpin,
Network: Unpin,
PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>: Unpin,
impl<Node, Network, Pool, EVM, Consensus> UnsafeUnpin for Components<Node, Network, Pool, EVM, Consensus>where
Pool: UnsafeUnpin,
EVM: UnsafeUnpin,
Consensus: UnsafeUnpin,
Network: UnsafeUnpin,
PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>: UnsafeUnpin,
impl<Node, Network, Pool, EVM, Consensus> UnwindSafe for Components<Node, Network, Pool, EVM, Consensus>where
Pool: UnwindSafe,
EVM: UnwindSafe,
Consensus: UnwindSafe,
Network: UnwindSafe,
PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].impl<T> MaybeDebug for Twhere
T: Debug,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.