diff --git a/crates/chain-orchestrator/src/event.rs b/crates/chain-orchestrator/src/event.rs index c2d7ea9f..17232213 100644 --- a/crates/chain-orchestrator/src/event.rs +++ b/crates/chain-orchestrator/src/event.rs @@ -90,6 +90,9 @@ pub enum ChainOrchestratorEvent { L2ConsolidatedBlockCommitted(L2BlockInfoWithL1Messages), /// A new block has been sequenced by the sequencer. BlockSequenced(ScrollBlock), + /// Block building was skipped because the built payload was empty and empty blocks are + /// disabled. + BlockBuildingSkipped, /// A new block has been signed by the signer. SignedBlock { /// The signed block. diff --git a/crates/chain-orchestrator/src/lib.rs b/crates/chain-orchestrator/src/lib.rs index 28746a01..bde8f143 100644 --- a/crates/chain-orchestrator/src/lib.rs +++ b/crates/chain-orchestrator/src/lib.rs @@ -313,6 +313,7 @@ impl< .sign_block(block.clone())?; return Ok(Some(ChainOrchestratorEvent::BlockSequenced(block))); } + return Ok(Some(ChainOrchestratorEvent::BlockBuildingSkipped)); } } diff --git a/crates/node/src/add_ons/remote_block_source.rs b/crates/node/src/add_ons/remote_block_source.rs index 595beb1e..e3906370 100644 --- a/crates/node/src/add_ons/remote_block_source.rs +++ b/crates/node/src/add_ons/remote_block_source.rs @@ -214,6 +214,10 @@ where "Block built successfully, proceeding to next"); break; } + Some(ChainOrchestratorEvent::BlockBuildingSkipped) => { + tracing::debug!(target: "scroll::remote_source", "Block building skipped (empty block)"); + break; + } Some(_) => { // Ignore other events, keep waiting }