From e9ecfb19f930b6ebe8cddd1f5585feeb6565f1ac Mon Sep 17 00:00:00 2001 From: frisitano Date: Wed, 18 Feb 2026 21:08:10 +0400 Subject: [PATCH 1/2] add cli arg to disbable block building for remote source mode --- crates/node/src/add_ons/remote_block_source.rs | 5 +++++ crates/node/src/args.rs | 5 +++++ crates/node/src/test_utils/fixture.rs | 1 + crates/node/src/test_utils/reboot.rs | 1 + 4 files changed, 12 insertions(+) diff --git a/crates/node/src/add_ons/remote_block_source.rs b/crates/node/src/add_ons/remote_block_source.rs index a6adbfe0..e76eb03f 100644 --- a/crates/node/src/add_ons/remote_block_source.rs +++ b/crates/node/src/add_ons/remote_block_source.rs @@ -190,6 +190,11 @@ where continue; } + if !self.config.build { + tracing::debug!(target: "scroll::remote_source", "Imported block is valid, but build is disabled, skipping build"); + continue; + } + // Trigger block building on top of the imported block self.orchestrator_handle.build_block(); diff --git a/crates/node/src/args.rs b/crates/node/src/args.rs index 62483907..77aca190 100644 --- a/crates/node/src/args.rs +++ b/crates/node/src/args.rs @@ -976,6 +976,10 @@ pub struct RemoteBlockSourceArgs { value_name = "POLL_INTERVAL_MS" )] pub poll_interval_ms: u64, + + /// Whether to build blocks using the remote source. + #[arg(long = "remote-source.build")] + pub build: bool, } /// Returns the total difficulty constant for the given chain. @@ -1097,6 +1101,7 @@ mod tests { enabled: true, url: None, poll_interval_ms: 100, + build: false, }, require_l1_data_fee_buffer: false, }; diff --git a/crates/node/src/test_utils/fixture.rs b/crates/node/src/test_utils/fixture.rs index 58d2eb4c..ea7f1abe 100644 --- a/crates/node/src/test_utils/fixture.rs +++ b/crates/node/src/test_utils/fixture.rs @@ -726,6 +726,7 @@ impl TestFixtureBuilder { let mut remote_config = self.config.clone(); remote_config.sequencer_args.sequencer_enabled = true; // needs to build blocks remote_config.sequencer_args.auto_start = false; + remote_config.remote_block_source_args.build = true; remote_config.remote_block_source_args.enabled = true; remote_config.remote_block_source_args.url = Some(sequencer_url); // Use a fast poll interval for tests diff --git a/crates/node/src/test_utils/reboot.rs b/crates/node/src/test_utils/reboot.rs index cb9591aa..5f472322 100644 --- a/crates/node/src/test_utils/reboot.rs +++ b/crates/node/src/test_utils/reboot.rs @@ -112,6 +112,7 @@ impl TestFixture { let mut remote_config = self.config.clone(); remote_config.sequencer_args.sequencer_enabled = true; remote_config.sequencer_args.auto_start = false; + remote_config.remote_block_source_args.build = true; remote_config.remote_block_source_args.enabled = true; remote_config.remote_block_source_args.url = Some(sequencer_url); remote_config.remote_block_source_args.poll_interval_ms = 100; From a89bf2a144fdecbf0694431281cf6ee7628ce72d Mon Sep 17 00:00:00 2001 From: frisitano Date: Wed, 18 Feb 2026 21:10:54 +0400 Subject: [PATCH 2/2] add cli remote source build arg to docker integration tests --- tests/launch_rollup_node_remote_source.bash | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/launch_rollup_node_remote_source.bash b/tests/launch_rollup_node_remote_source.bash index df2ede66..4ecda31d 100755 --- a/tests/launch_rollup_node_remote_source.bash +++ b/tests/launch_rollup_node_remote_source.bash @@ -30,5 +30,6 @@ exec rollup-node node --chain /l2reth/l2reth-genesis-e2e.json --datadir=/l2reth --remote-source.enabled \ --remote-source.url http://rollup-node-sequencer:8545 \ --remote-source.poll-interval-ms 100 \ + --remote-source.build \ --l1.url http://l1-node:8545 \ --blob.mock