mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore: remove 'static bound from ConfigureEvmEnv (#14606)
This commit is contained in:
@ -85,7 +85,7 @@ where
|
|||||||
where
|
where
|
||||||
B: PayloadAttributesBuilder<<N::Engine as PayloadTypes>::PayloadAttributes>,
|
B: PayloadAttributesBuilder<<N::Engine as PayloadTypes>::PayloadAttributes>,
|
||||||
V: EngineValidator<N::Engine, Block = BlockTy<N>>,
|
V: EngineValidator<N::Engine, Block = BlockTy<N>>,
|
||||||
C: ConfigureEvm<Header = HeaderTy<N>, Transaction = TxTy<N>>,
|
C: ConfigureEvm<Header = HeaderTy<N>, Transaction = TxTy<N>> + 'static,
|
||||||
{
|
{
|
||||||
let chain_spec = provider.chain_spec();
|
let chain_spec = provider.chain_spec();
|
||||||
let engine_kind =
|
let engine_kind =
|
||||||
|
|||||||
@ -93,7 +93,7 @@ where
|
|||||||
) -> Self
|
) -> Self
|
||||||
where
|
where
|
||||||
V: EngineValidator<N::Engine, Block = BlockTy<N>>,
|
V: EngineValidator<N::Engine, Block = BlockTy<N>>,
|
||||||
C: ConfigureEvm<Header = HeaderTy<N>, Transaction = TxTy<N>>,
|
C: ConfigureEvm<Header = HeaderTy<N>, Transaction = TxTy<N>> + 'static,
|
||||||
{
|
{
|
||||||
let engine_kind =
|
let engine_kind =
|
||||||
if chain_spec.is_optimism() { EngineApiKind::OpStack } else { EngineApiKind::Ethereum };
|
if chain_spec.is_optimism() { EngineApiKind::OpStack } else { EngineApiKind::Ethereum };
|
||||||
|
|||||||
@ -648,7 +648,7 @@ where
|
|||||||
<P as DatabaseProviderFactory>::Provider:
|
<P as DatabaseProviderFactory>::Provider:
|
||||||
BlockReader<Block = N::Block, Header = N::BlockHeader>,
|
BlockReader<Block = N::Block, Header = N::BlockHeader>,
|
||||||
E: BlockExecutorProvider<Primitives = N>,
|
E: BlockExecutorProvider<Primitives = N>,
|
||||||
C: ConfigureEvm<Header = N::BlockHeader, Transaction = N::SignedTx>,
|
C: ConfigureEvm<Header = N::BlockHeader, Transaction = N::SignedTx> + 'static,
|
||||||
T: EngineTypes,
|
T: EngineTypes,
|
||||||
V: EngineValidator<T, Block = N::Block>,
|
V: EngineValidator<T, Block = N::Block>,
|
||||||
{
|
{
|
||||||
|
|||||||
@ -166,7 +166,7 @@ where
|
|||||||
///
|
///
|
||||||
/// Default trait method implementation is done w.r.t. L1.
|
/// Default trait method implementation is done w.r.t. L1.
|
||||||
#[auto_impl::auto_impl(&, Arc)]
|
#[auto_impl::auto_impl(&, Arc)]
|
||||||
pub trait ConfigureEvmEnv: Send + Sync + Unpin + Clone + 'static {
|
pub trait ConfigureEvmEnv: Send + Sync + Unpin + Clone {
|
||||||
/// The header type used by the EVM.
|
/// The header type used by the EVM.
|
||||||
type Header: BlockHeader;
|
type Header: BlockHeader;
|
||||||
|
|
||||||
@ -177,7 +177,7 @@ pub trait ConfigureEvmEnv: Send + Sync + Unpin + Clone + 'static {
|
|||||||
type TxEnv: TransactionEnv;
|
type TxEnv: TransactionEnv;
|
||||||
|
|
||||||
/// The error type that is returned by [`Self::next_evm_env`].
|
/// The error type that is returned by [`Self::next_evm_env`].
|
||||||
type Error: core::error::Error + Send + Sync;
|
type Error: core::error::Error + Send + Sync + 'static;
|
||||||
|
|
||||||
/// Identifier of the EVM specification.
|
/// Identifier of the EVM specification.
|
||||||
type Spec: Debug + Copy + Send + Sync + 'static;
|
type Spec: Debug + Copy + Send + Sync + 'static;
|
||||||
|
|||||||
@ -409,7 +409,7 @@ where
|
|||||||
Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Node::Types>>>
|
Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Node::Types>>>
|
||||||
+ Unpin
|
+ Unpin
|
||||||
+ 'static,
|
+ 'static,
|
||||||
EVM: ConfigureEvmFor<PrimitivesTy<Node::Types>>,
|
EVM: ConfigureEvmFor<PrimitivesTy<Node::Types>> + 'static,
|
||||||
Executor: BlockExecutorProvider<Primitives = PrimitivesTy<Node::Types>>,
|
Executor: BlockExecutorProvider<Primitives = PrimitivesTy<Node::Types>>,
|
||||||
Cons:
|
Cons:
|
||||||
FullConsensus<PrimitivesTy<Node::Types>, Error = ConsensusError> + Clone + Unpin + 'static,
|
FullConsensus<PrimitivesTy<Node::Types>, Error = ConsensusError> + Clone + Unpin + 'static,
|
||||||
|
|||||||
@ -9,7 +9,7 @@ pub trait ExecutorBuilder<Node: FullNodeTypes>: Send {
|
|||||||
/// The EVM config to use.
|
/// The EVM config to use.
|
||||||
///
|
///
|
||||||
/// This provides the node with the necessary configuration to configure an EVM.
|
/// This provides the node with the necessary configuration to configure an EVM.
|
||||||
type EVM: ConfigureEvmFor<PrimitivesTy<Node::Types>>;
|
type EVM: ConfigureEvmFor<PrimitivesTy<Node::Types>> + 'static;
|
||||||
|
|
||||||
/// The type that knows how to execute blocks.
|
/// The type that knows how to execute blocks.
|
||||||
type Executor: BlockExecutorProvider<Primitives = PrimitivesTy<Node::Types>>;
|
type Executor: BlockExecutorProvider<Primitives = PrimitivesTy<Node::Types>>;
|
||||||
@ -24,7 +24,7 @@ pub trait ExecutorBuilder<Node: FullNodeTypes>: Send {
|
|||||||
impl<Node, F, Fut, EVM, Executor> ExecutorBuilder<Node> for F
|
impl<Node, F, Fut, EVM, Executor> ExecutorBuilder<Node> for F
|
||||||
where
|
where
|
||||||
Node: FullNodeTypes,
|
Node: FullNodeTypes,
|
||||||
EVM: ConfigureEvmFor<PrimitivesTy<Node::Types>>,
|
EVM: ConfigureEvmFor<PrimitivesTy<Node::Types>> + 'static,
|
||||||
Executor: BlockExecutorProvider<Primitives = PrimitivesTy<Node::Types>>,
|
Executor: BlockExecutorProvider<Primitives = PrimitivesTy<Node::Types>>,
|
||||||
F: FnOnce(&BuilderContext<Node>) -> Fut + Send,
|
F: FnOnce(&BuilderContext<Node>) -> Fut + Send,
|
||||||
Fut: Future<Output = eyre::Result<(EVM, Executor)>> + Send,
|
Fut: Future<Output = eyre::Result<(EVM, Executor)>> + Send,
|
||||||
|
|||||||
@ -127,7 +127,7 @@ where
|
|||||||
Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Node::Types>>>
|
Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Node::Types>>>
|
||||||
+ Unpin
|
+ Unpin
|
||||||
+ 'static,
|
+ 'static,
|
||||||
EVM: ConfigureEvm<Header = HeaderTy<Node::Types>, Transaction = TxTy<Node::Types>>,
|
EVM: ConfigureEvm<Header = HeaderTy<Node::Types>, Transaction = TxTy<Node::Types>> + 'static,
|
||||||
Executor: BlockExecutorProvider<Primitives = PrimitivesTy<Node::Types>>,
|
Executor: BlockExecutorProvider<Primitives = PrimitivesTy<Node::Types>>,
|
||||||
Cons:
|
Cons:
|
||||||
FullConsensus<PrimitivesTy<Node::Types>, Error = ConsensusError> + Clone + Unpin + 'static,
|
FullConsensus<PrimitivesTy<Node::Types>, Error = ConsensusError> + Clone + Unpin + 'static,
|
||||||
|
|||||||
Reference in New Issue
Block a user