From 0e470a2f68d5256ff6c1a6be651ca1c2d39fd630 Mon Sep 17 00:00:00 2001 From: Thomas Plisson Date: Thu, 18 Dec 2025 16:13:42 +0100 Subject: [PATCH] L2 Node: IC empty blocks can include delayed txns --- etherlink/bin_node/lib_dev/block_producer.ml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/etherlink/bin_node/lib_dev/block_producer.ml b/etherlink/bin_node/lib_dev/block_producer.ml index 0b879cba82af..3427487f00a2 100644 --- a/etherlink/bin_node/lib_dev/block_producer.ml +++ b/etherlink/bin_node/lib_dev/block_producer.ml @@ -541,10 +541,21 @@ let produce_block (state : Types.state) ~force else let* delayed_hashes, transactions_and_objects = if state.preconfirmation_stream_enabled then - let delayed_hashes = - List.map - (fun {Evm_events.Delayed_transaction.hash; _} -> hash) - state.selected_delayed_txns + let* delayed_hashes = + match (state.selected_delayed_txns, state.validated_txns) with + | [], [] -> + let* delayed_hashes, _rem_size = + head_info_and_delayed_transactions + ~with_delayed_transactions + head_info.evm_state + state.maximum_number_of_chunks + in + return delayed_hashes + | selected_delayed_txns, _validated_txns -> + return + @@ List.map + (fun {Evm_events.Delayed_transaction.hash; _} -> hash) + selected_delayed_txns in return ( delayed_hashes, -- GitLab