@@ -217,17 +217,13 @@ async fn collect_execution_results_and_stream_txs(
217
217
Ok ( false )
218
218
}
219
219
220
- pub struct BlockMetadata {
221
- pub height : BlockNumber ,
222
- pub retrospective_block_hash : Option < BlockHashAndNumber > ,
223
- }
224
-
225
220
/// The BlockBuilderFactoryTrait is responsible for creating a new block builder.
226
221
#[ cfg_attr( test, automock) ]
227
222
pub trait BlockBuilderFactoryTrait {
228
223
fn create_block_builder (
229
224
& self ,
230
- block_metadata : BlockMetadata ,
225
+ height : BlockNumber ,
226
+ retrospective_block_hash : Option < BlockHashAndNumber > ,
231
227
execution_params : BlockBuilderExecutionParams ,
232
228
tx_provider : Box < dyn TransactionProvider > ,
233
229
output_content_sender : Option < tokio:: sync:: mpsc:: UnboundedSender < Transaction > > ,
@@ -302,11 +298,12 @@ pub struct BlockBuilderFactory {
302
298
impl BlockBuilderFactory {
303
299
fn preprocess_and_create_transaction_executor (
304
300
& self ,
305
- block_metadata : & BlockMetadata ,
301
+ height : BlockNumber ,
302
+ retrospective_block_hash : Option < BlockHashAndNumber > ,
306
303
) -> BlockBuilderResult < TransactionExecutor < PapyrusReader > > {
307
304
let block_builder_config = self . block_builder_config . clone ( ) ;
308
305
let next_block_info = BlockInfo {
309
- block_number : block_metadata . height ,
306
+ block_number : height,
310
307
block_timestamp : BlockTimestamp ( chrono:: Utc :: now ( ) . timestamp ( ) . try_into ( ) ?) ,
311
308
sequencer_address : block_builder_config. sequencer_address ,
312
309
// TODO (yael 7/10/2024): add logic to compute gas prices
@@ -332,7 +329,7 @@ impl BlockBuilderFactory {
332
329
// cache.
333
330
let state_reader = PapyrusReader :: new (
334
331
self . storage_reader . clone ( ) ,
335
- block_metadata . height ,
332
+ height,
336
333
// TODO(Yael 18/9/2024): dont forget to flush the cached_state cache into the global
337
334
// cache on decision_reached.
338
335
self . global_class_hash_to_class . clone ( ) ,
@@ -341,7 +338,7 @@ impl BlockBuilderFactory {
341
338
let executor = TransactionExecutor :: pre_process_and_create (
342
339
state_reader,
343
340
block_context,
344
- block_metadata . retrospective_block_hash ,
341
+ retrospective_block_hash,
345
342
block_builder_config. execute_config ,
346
343
) ?;
347
344
@@ -352,13 +349,15 @@ impl BlockBuilderFactory {
352
349
impl BlockBuilderFactoryTrait for BlockBuilderFactory {
353
350
fn create_block_builder (
354
351
& self ,
355
- block_metadata : BlockMetadata ,
352
+ height : BlockNumber ,
353
+ retrospective_block_hash : Option < BlockHashAndNumber > ,
356
354
execution_params : BlockBuilderExecutionParams ,
357
355
tx_provider : Box < dyn TransactionProvider > ,
358
356
output_content_sender : Option < tokio:: sync:: mpsc:: UnboundedSender < Transaction > > ,
359
357
abort_signal_receiver : tokio:: sync:: oneshot:: Receiver < ( ) > ,
360
358
) -> BlockBuilderResult < Box < dyn BlockBuilderTrait > > {
361
- let executor = self . preprocess_and_create_transaction_executor ( & block_metadata) ?;
359
+ let executor =
360
+ self . preprocess_and_create_transaction_executor ( height, retrospective_block_hash) ?;
362
361
Ok ( Box :: new ( BlockBuilder :: new (
363
362
Box :: new ( executor) ,
364
363
tx_provider,
0 commit comments