@@ -31,7 +31,7 @@ use reth_evm::{
31
31
Database , Evm , EvmError , InvalidTxError ,
32
32
} ;
33
33
use reth_execution_types:: ExecutionOutcome ;
34
- use reth_node_api:: { NodePrimitives , NodeTypes , TxTy } ;
34
+ use reth_node_api:: { NodePrimitives , NodeTypes , PrimitivesTy , TxTy } ;
35
35
use reth_optimism_chainspec:: OpChainSpec ;
36
36
use reth_optimism_consensus:: { calculate_receipt_root_no_memo_optimism, isthmus} ;
37
37
use reth_optimism_evm:: { OpEvmConfig , OpNextBlockEnvAttributes } ;
@@ -117,7 +117,7 @@ impl CustomOpPayloadBuilder {
117
117
}
118
118
}
119
119
120
- impl < Node , Pool > PayloadBuilderBuilder < Node , Pool > for CustomOpPayloadBuilder
120
+ impl < Node , Pool , Evm > PayloadBuilderBuilder < Node , Pool , Evm > for CustomOpPayloadBuilder
121
121
where
122
122
Node : FullNodeTypes <
123
123
Types : NodeTypes <
@@ -129,13 +129,18 @@ where
129
129
Pool : TransactionPool < Transaction : PoolTransaction < Consensus = TxTy < Node :: Types > > >
130
130
+ Unpin
131
131
+ ' static ,
132
+ Evm : ConfigureEvm <
133
+ Primitives = PrimitivesTy < Node :: Types > ,
134
+ NextBlockEnvCtx = OpNextBlockEnvAttributes ,
135
+ > + ' static ,
132
136
{
133
137
type PayloadBuilder = OpPayloadBuilder < Pool , Node :: Provider > ;
134
138
135
139
async fn build_payload_builder (
136
140
self ,
137
141
ctx : & BuilderContext < Node > ,
138
142
pool : Pool ,
143
+ _evm_config : Evm ,
139
144
) -> eyre:: Result < Self :: PayloadBuilder > {
140
145
Ok ( OpPayloadBuilder :: new (
141
146
OpEvmConfig :: optimism ( ctx. chain_spec ( ) ) ,
@@ -148,7 +153,7 @@ where
148
153
}
149
154
}
150
155
151
- impl < Node , Pool > PayloadServiceBuilder < Node , Pool > for CustomOpPayloadBuilder
156
+ impl < Node , Pool , Evm > PayloadServiceBuilder < Node , Pool , Evm > for CustomOpPayloadBuilder
152
157
where
153
158
Node : FullNodeTypes <
154
159
Types : NodeTypes <
@@ -161,14 +166,19 @@ where
161
166
+ Unpin
162
167
+ ' static ,
163
168
<Pool as TransactionPool >:: Transaction : OpPooledTx ,
169
+ Evm : ConfigureEvm <
170
+ Primitives = PrimitivesTy < Node :: Types > ,
171
+ NextBlockEnvCtx = OpNextBlockEnvAttributes ,
172
+ > + ' static ,
164
173
{
165
174
async fn spawn_payload_builder_service (
166
175
self ,
167
176
ctx : & BuilderContext < Node > ,
168
177
pool : Pool ,
178
+ evm_config : Evm ,
169
179
) -> eyre:: Result < PayloadBuilderHandle < <Node :: Types as NodeTypes >:: Payload > > {
170
180
tracing:: info!( "Spawning a custom payload builder" ) ;
171
- let payload_builder = self . build_payload_builder ( ctx, pool) . await ?;
181
+ let payload_builder = self . build_payload_builder ( ctx, pool, evm_config ) . await ?;
172
182
let payload_job_config = BasicPayloadJobGeneratorConfig :: default ( ) ;
173
183
174
184
let payload_generator = BlockPayloadJobGenerator :: with_builder (
0 commit comments