From e1978b883a8451070e0339ae739bdbb3c59ddb9e Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Jul 2025 02:34:38 +0800 Subject: [PATCH 01/13] feat: support forward tx to sequencer --- .gitignore | 3 +++ crates/manager/src/manager/mod.rs | 1 - crates/node/src/add_ons/mod.rs | 11 ++++++++--- crates/node/src/args.rs | 9 +++++++++ crates/node/src/test_utils.rs | 7 +++++++ crates/sequencer/tests/e2e.rs | 4 ++-- 6 files changed, 29 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index a6cb72de..99b29373 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,6 @@ target/ docker-compose/grafana_data/ docker-compose/l2reth/ docker-compose/prometheus_data/ + +# OS +.DS_Store \ No newline at end of file diff --git a/crates/manager/src/manager/mod.rs b/crates/manager/src/manager/mod.rs index e9051cef..9f8cce82 100644 --- a/crates/manager/src/manager/mod.rs +++ b/crates/manager/src/manager/mod.rs @@ -480,7 +480,6 @@ where SignerEvent::SignedBlock { block: block.clone(), signature }, )); } - this.network.handle().announce_block(block, signature); } } diff --git a/crates/node/src/add_ons/mod.rs b/crates/node/src/add_ons/mod.rs index bdebc926..925286d7 100644 --- a/crates/node/src/add_ons/mod.rs +++ b/crates/node/src/add_ons/mod.rs @@ -58,9 +58,14 @@ where { /// Create a new instance of [`ScrollRollupNodeAddOns`]. pub fn new(config: ScrollRollupNodeConfig) -> Self { - let rpc_add_ons = RpcAddOns::default(); + + let rpc_add_ons= RpcAddOns::new( + ScrollEthApiBuilder::default().with_sequencer(config.network_args.sequencer_url.clone()), + Default::default(), + Default::default(), + ); let rollup_manager_addon = RollupManagerAddOn::new(config); - Self { rpc_add_ons, rollup_manager_addon } + Self { rpc_add_ons, rollup_manager_addon} } } impl NodeAddOns for ScrollRollupNodeAddOns @@ -84,7 +89,7 @@ where self, ctx: reth_node_api::AddOnsContext<'_, N>, ) -> eyre::Result { - let Self { rpc_add_ons, rollup_manager_addon: rollup_node_manager_addon } = self; + let Self { rpc_add_ons, rollup_manager_addon: rollup_node_manager_addon , .. } = self; let rpc_handle: RpcHandle> = rpc_add_ons.launch_add_ons_with(ctx.clone(), |_| Ok(())).await?; let (rollup_manager_handle, l1_watcher_tx) = diff --git a/crates/node/src/args.rs b/crates/node/src/args.rs index dc6d6590..3c5cbd68 100644 --- a/crates/node/src/args.rs +++ b/crates/node/src/args.rs @@ -320,6 +320,15 @@ pub struct NetworkArgs { /// A bool that represents if the scroll wire protocol should be enabled. #[arg(long = "network.scroll-wire", default_value_t = true)] pub enable_scroll_wire: bool, + /// A bool that represents if the transaction broadcast should be disabled. + #[arg(long = "network.disable-tx-broadcast", default_value_t = false)] + pub disable_tx_broadcast: bool, + /// A bool that represents if the transaction receiving should be disabled. + #[arg(long = "network.disable-tx-receive", default_value_t = false)] + pub disable_tx_receive: bool, + /// The URL for the Sequencer RPC. (can be both HTTP and WS) + #[arg(long = "network.sequencer-url", id = "network_sequencer_url", value_name = "NETWORK_SEQUENCER_URL")] + pub sequencer_url: Option, } /// The arguments for the L1 provider. diff --git a/crates/node/src/test_utils.rs b/crates/node/src/test_utils.rs index 6d7d43b2..9024607e 100644 --- a/crates/node/src/test_utils.rs +++ b/crates/node/src/test_utils.rs @@ -133,6 +133,7 @@ pub fn default_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { network_args: crate::args::NetworkArgs { enable_eth_scroll_wire_bridge: true, enable_scroll_wire: true, + ..Default::default() }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), @@ -150,6 +151,12 @@ pub fn default_sequencer_test_scroll_rollup_node_config() -> ScrollRollupNodeCon network_args: crate::args::NetworkArgs { enable_eth_scroll_wire_bridge: true, enable_scroll_wire: true, +<<<<<<< HEAD +======= + disable_tx_broadcast: false, + disable_tx_receive: false, + sequencer_url: None, +>>>>>>> 1055c8b (feat: support forward tx to sequencer) }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), diff --git a/crates/sequencer/tests/e2e.rs b/crates/sequencer/tests/e2e.rs index e79d29db..bda06253 100644 --- a/crates/sequencer/tests/e2e.rs +++ b/crates/sequencer/tests/e2e.rs @@ -430,7 +430,7 @@ async fn can_sequence_blocks_with_private_key_file() -> eyre::Result<()> { let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: false, // disable test mode to enable real signing - network_args: NetworkArgs { enable_eth_scroll_wire_bridge: true, enable_scroll_wire: true }, + network_args: NetworkArgs { enable_eth_scroll_wire_bridge: true, enable_scroll_wire: true, disable_tx_broadcast: false, disable_tx_receive: false }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), @@ -514,7 +514,7 @@ async fn can_sequence_blocks_with_hex_key_file_without_prefix() -> eyre::Result< let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: false, // disable test mode to enable real signing - network_args: NetworkArgs { enable_eth_scroll_wire_bridge: true, enable_scroll_wire: true }, + network_args: NetworkArgs { enable_eth_scroll_wire_bridge: true, enable_scroll_wire: true, disable_tx_broadcast: false, disable_tx_receive: false }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), From 9b7ff77b86f8bbbcdf0be540051e959bcf77b33b Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 4 Jul 2025 03:36:31 +0800 Subject: [PATCH 02/13] fix: test --- crates/node/src/test_utils.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/crates/node/src/test_utils.rs b/crates/node/src/test_utils.rs index 9024607e..2b850f92 100644 --- a/crates/node/src/test_utils.rs +++ b/crates/node/src/test_utils.rs @@ -151,12 +151,9 @@ pub fn default_sequencer_test_scroll_rollup_node_config() -> ScrollRollupNodeCon network_args: crate::args::NetworkArgs { enable_eth_scroll_wire_bridge: true, enable_scroll_wire: true, -<<<<<<< HEAD -======= disable_tx_broadcast: false, disable_tx_receive: false, sequencer_url: None, ->>>>>>> 1055c8b (feat: support forward tx to sequencer) }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), From 2f8c6a94eafa6e595a46af1b7ff1683bf7e201ed Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 4 Jul 2025 03:56:17 +0800 Subject: [PATCH 03/13] fix: typo --- crates/node/src/add_ons/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/node/src/add_ons/mod.rs b/crates/node/src/add_ons/mod.rs index 925286d7..d8479e1d 100644 --- a/crates/node/src/add_ons/mod.rs +++ b/crates/node/src/add_ons/mod.rs @@ -65,7 +65,7 @@ where Default::default(), ); let rollup_manager_addon = RollupManagerAddOn::new(config); - Self { rpc_add_ons, rollup_manager_addon} + Self { rpc_add_ons, rollup_manager_addon } } } impl NodeAddOns for ScrollRollupNodeAddOns From b554cd7124dbc14ce63f80d126ad8d76dbaea90f Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 4 Jul 2025 03:57:39 +0800 Subject: [PATCH 04/13] fix: typo --- crates/node/src/add_ons/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/node/src/add_ons/mod.rs b/crates/node/src/add_ons/mod.rs index d8479e1d..e29c9d69 100644 --- a/crates/node/src/add_ons/mod.rs +++ b/crates/node/src/add_ons/mod.rs @@ -89,7 +89,7 @@ where self, ctx: reth_node_api::AddOnsContext<'_, N>, ) -> eyre::Result { - let Self { rpc_add_ons, rollup_manager_addon: rollup_node_manager_addon , .. } = self; + let Self { rpc_add_ons, rollup_manager_addon: rollup_node_manager_addon} = self; let rpc_handle: RpcHandle> = rpc_add_ons.launch_add_ons_with(ctx.clone(), |_| Ok(())).await?; let (rollup_manager_handle, l1_watcher_tx) = From 458d8f24cb51f7e24bb1d72fdeffe821efe98cd4 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 4 Jul 2025 16:30:39 +0800 Subject: [PATCH 05/13] fix: test --- crates/node/src/args.rs | 6 ------ crates/node/src/test_utils.rs | 14 ++------------ crates/node/tests/e2e.rs | 10 ++-------- crates/sequencer/tests/e2e.rs | 4 ++-- 4 files changed, 6 insertions(+), 28 deletions(-) diff --git a/crates/node/src/args.rs b/crates/node/src/args.rs index 3c5cbd68..6b71e7ee 100644 --- a/crates/node/src/args.rs +++ b/crates/node/src/args.rs @@ -320,12 +320,6 @@ pub struct NetworkArgs { /// A bool that represents if the scroll wire protocol should be enabled. #[arg(long = "network.scroll-wire", default_value_t = true)] pub enable_scroll_wire: bool, - /// A bool that represents if the transaction broadcast should be disabled. - #[arg(long = "network.disable-tx-broadcast", default_value_t = false)] - pub disable_tx_broadcast: bool, - /// A bool that represents if the transaction receiving should be disabled. - #[arg(long = "network.disable-tx-receive", default_value_t = false)] - pub disable_tx_receive: bool, /// The URL for the Sequencer RPC. (can be both HTTP and WS) #[arg(long = "network.sequencer-url", id = "network_sequencer_url", value_name = "NETWORK_SEQUENCER_URL")] pub sequencer_url: Option, diff --git a/crates/node/src/test_utils.rs b/crates/node/src/test_utils.rs index 2b850f92..0b7883f8 100644 --- a/crates/node/src/test_utils.rs +++ b/crates/node/src/test_utils.rs @@ -130,11 +130,7 @@ pub async fn generate_tx(wallet: Arc>) -> Bytes { pub fn default_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { ScrollRollupNodeConfig { test: true, - network_args: crate::args::NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: crate::args::NetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs { en_sync_trigger: 100 }, @@ -148,13 +144,7 @@ pub fn default_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { pub fn default_sequencer_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { ScrollRollupNodeConfig { test: true, - network_args: crate::args::NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - disable_tx_broadcast: false, - disable_tx_receive: false, - sequencer_url: None, - }, + network_args: crate::args::NetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs { en_sync_trigger: 100 }, diff --git a/crates/node/tests/e2e.rs b/crates/node/tests/e2e.rs index 2cc4a963..918a6d43 100644 --- a/crates/node/tests/e2e.rs +++ b/crates/node/tests/e2e.rs @@ -35,10 +35,7 @@ async fn can_bridge_l1_messages() -> eyre::Result<()> { let chain_spec = (*SCROLL_DEV).clone(); let node_args = ScrollRollupNodeConfig { test: true, - network_args: ScrollNetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - }, + network_args: ScrollNetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), @@ -99,10 +96,7 @@ async fn can_sequence_and_gossip_blocks() { let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: true, - network_args: ScrollNetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - }, + network_args: ScrollNetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), diff --git a/crates/sequencer/tests/e2e.rs b/crates/sequencer/tests/e2e.rs index bda06253..ff235172 100644 --- a/crates/sequencer/tests/e2e.rs +++ b/crates/sequencer/tests/e2e.rs @@ -430,7 +430,7 @@ async fn can_sequence_blocks_with_private_key_file() -> eyre::Result<()> { let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: false, // disable test mode to enable real signing - network_args: NetworkArgs { enable_eth_scroll_wire_bridge: true, enable_scroll_wire: true, disable_tx_broadcast: false, disable_tx_receive: false }, + network_args: NetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), @@ -514,7 +514,7 @@ async fn can_sequence_blocks_with_hex_key_file_without_prefix() -> eyre::Result< let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: false, // disable test mode to enable real signing - network_args: NetworkArgs { enable_eth_scroll_wire_bridge: true, enable_scroll_wire: true, disable_tx_broadcast: false, disable_tx_receive: false }, + network_args: NetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), From 5af11837568731ad451c3d92a888f944644e3330 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 4 Jul 2025 16:31:33 +0800 Subject: [PATCH 06/13] fix: indent --- crates/node/src/add_ons/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/node/src/add_ons/mod.rs b/crates/node/src/add_ons/mod.rs index e29c9d69..02b34efa 100644 --- a/crates/node/src/add_ons/mod.rs +++ b/crates/node/src/add_ons/mod.rs @@ -89,7 +89,7 @@ where self, ctx: reth_node_api::AddOnsContext<'_, N>, ) -> eyre::Result { - let Self { rpc_add_ons, rollup_manager_addon: rollup_node_manager_addon} = self; + let Self { rpc_add_ons, rollup_manager_addon: rollup_node_manager_addon } = self; let rpc_handle: RpcHandle> = rpc_add_ons.launch_add_ons_with(ctx.clone(), |_| Ok(())).await?; let (rollup_manager_handle, l1_watcher_tx) = From bb1ce545e7ed5da83d4b3feaccd4d67555d0e15e Mon Sep 17 00:00:00 2001 From: Morty Date: Sat, 5 Jul 2025 01:38:30 +0800 Subject: [PATCH 07/13] indent --- crates/manager/src/manager/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/manager/src/manager/mod.rs b/crates/manager/src/manager/mod.rs index 9f8cce82..99e78a6c 100644 --- a/crates/manager/src/manager/mod.rs +++ b/crates/manager/src/manager/mod.rs @@ -480,6 +480,7 @@ where SignerEvent::SignedBlock { block: block.clone(), signature }, )); } + this.network.handle().announce_block(block, signature); } } From 1ac24814f545200283c4b3117af56e7397062485 Mon Sep 17 00:00:00 2001 From: Morty Date: Sat, 5 Jul 2025 01:38:56 +0800 Subject: [PATCH 08/13] indent --- crates/manager/src/manager/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/manager/src/manager/mod.rs b/crates/manager/src/manager/mod.rs index 99e78a6c..e9051cef 100644 --- a/crates/manager/src/manager/mod.rs +++ b/crates/manager/src/manager/mod.rs @@ -480,7 +480,7 @@ where SignerEvent::SignedBlock { block: block.clone(), signature }, )); } - + this.network.handle().announce_block(block, signature); } } From 08c535fec2be9e0275cca13c62c08c6f284cd8e6 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 9 Jul 2025 06:21:35 +0800 Subject: [PATCH 09/13] fix: NetworkArgs default value --- crates/node/src/args.rs | 36 +++++++++++++++++++++++++++++------ crates/node/src/test_utils.rs | 12 ++++++++++-- crates/node/tests/e2e.rs | 12 ++++++++++-- crates/sequencer/tests/e2e.rs | 12 ++++++++++-- 4 files changed, 60 insertions(+), 12 deletions(-) diff --git a/crates/node/src/args.rs b/crates/node/src/args.rs index 6b71e7ee..6780a8c2 100644 --- a/crates/node/src/args.rs +++ b/crates/node/src/args.rs @@ -484,7 +484,11 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs::default(), + network_args: NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, }; let result = config.validate(); @@ -507,7 +511,11 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs::default(), + network_args: NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, }; let result = config.validate(); @@ -530,7 +538,11 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs::default(), + network_args: NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, }; assert!(config.validate().is_ok()); @@ -546,7 +558,11 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs::default(), + network_args: NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, }; assert!(config.validate().is_ok()); @@ -562,7 +578,11 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs::default(), + network_args: NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, }; assert!(config.validate().is_ok()); @@ -578,7 +598,11 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs::default(), + network_args: NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, }; assert!(config.validate().is_ok()); diff --git a/crates/node/src/test_utils.rs b/crates/node/src/test_utils.rs index 0b7883f8..733eeecc 100644 --- a/crates/node/src/test_utils.rs +++ b/crates/node/src/test_utils.rs @@ -130,7 +130,11 @@ pub async fn generate_tx(wallet: Arc>) -> Bytes { pub fn default_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { ScrollRollupNodeConfig { test: true, - network_args: crate::args::NetworkArgs::default(), + network_args: crate::args::NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs { en_sync_trigger: 100 }, @@ -144,7 +148,11 @@ pub fn default_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { pub fn default_sequencer_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { ScrollRollupNodeConfig { test: true, - network_args: crate::args::NetworkArgs::default(), + network_args: crate::args::NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs { en_sync_trigger: 100 }, diff --git a/crates/node/tests/e2e.rs b/crates/node/tests/e2e.rs index 918a6d43..bc3d097b 100644 --- a/crates/node/tests/e2e.rs +++ b/crates/node/tests/e2e.rs @@ -35,7 +35,11 @@ async fn can_bridge_l1_messages() -> eyre::Result<()> { let chain_spec = (*SCROLL_DEV).clone(); let node_args = ScrollRollupNodeConfig { test: true, - network_args: ScrollNetworkArgs::default(), + network_args: ScrollNetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), @@ -96,7 +100,11 @@ async fn can_sequence_and_gossip_blocks() { let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: true, - network_args: ScrollNetworkArgs::default(), + network_args: ScrollNetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), diff --git a/crates/sequencer/tests/e2e.rs b/crates/sequencer/tests/e2e.rs index 84a1af4f..f2f46061 100644 --- a/crates/sequencer/tests/e2e.rs +++ b/crates/sequencer/tests/e2e.rs @@ -430,7 +430,11 @@ async fn can_sequence_blocks_with_private_key_file() -> eyre::Result<()> { let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: false, // disable test mode to enable real signing - network_args: NetworkArgs::default(), + network_args: NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), @@ -514,7 +518,11 @@ async fn can_sequence_blocks_with_hex_key_file_without_prefix() -> eyre::Result< let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: false, // disable test mode to enable real signing - network_args: NetworkArgs::default(), + network_args: NetworkArgs { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + ..Default::default() + }, database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), From 501b95b001e25305c689f4fdeaa4c7527bb10ccf Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 9 Jul 2025 06:26:37 +0800 Subject: [PATCH 10/13] fix: typo --- .gitignore | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4d208bd6..08693dbf 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,4 @@ docker-compose/prometheus_data/ docker-compose/l1devnet/ # OS -.DS_Store - - +.DS_Store \ No newline at end of file From 5fb9611db10ad72e2debb892671f3d76ded801b1 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 9 Jul 2025 06:29:09 +0800 Subject: [PATCH 11/13] Revert "fix: NetworkArgs default value" This reverts commit 08c535fec2be9e0275cca13c62c08c6f284cd8e6. --- crates/node/src/args.rs | 36 ++++++----------------------------- crates/node/src/test_utils.rs | 12 ++---------- crates/node/tests/e2e.rs | 12 ++---------- crates/sequencer/tests/e2e.rs | 12 ++---------- 4 files changed, 12 insertions(+), 60 deletions(-) diff --git a/crates/node/src/args.rs b/crates/node/src/args.rs index 6780a8c2..6b71e7ee 100644 --- a/crates/node/src/args.rs +++ b/crates/node/src/args.rs @@ -484,11 +484,7 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: NetworkArgs::default(), }; let result = config.validate(); @@ -511,11 +507,7 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: NetworkArgs::default(), }; let result = config.validate(); @@ -538,11 +530,7 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: NetworkArgs::default(), }; assert!(config.validate().is_ok()); @@ -558,11 +546,7 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: NetworkArgs::default(), }; assert!(config.validate().is_ok()); @@ -578,11 +562,7 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: NetworkArgs::default(), }; assert!(config.validate().is_ok()); @@ -598,11 +578,7 @@ mod tests { engine_driver_args: EngineDriverArgs::default(), l1_provider_args: L1ProviderArgs::default(), beacon_provider_args: BeaconProviderArgs::default(), - network_args: NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: NetworkArgs::default(), }; assert!(config.validate().is_ok()); diff --git a/crates/node/src/test_utils.rs b/crates/node/src/test_utils.rs index 733eeecc..0b7883f8 100644 --- a/crates/node/src/test_utils.rs +++ b/crates/node/src/test_utils.rs @@ -130,11 +130,7 @@ pub async fn generate_tx(wallet: Arc>) -> Bytes { pub fn default_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { ScrollRollupNodeConfig { test: true, - network_args: crate::args::NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: crate::args::NetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs { en_sync_trigger: 100 }, @@ -148,11 +144,7 @@ pub fn default_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { pub fn default_sequencer_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { ScrollRollupNodeConfig { test: true, - network_args: crate::args::NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: crate::args::NetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs { en_sync_trigger: 100 }, diff --git a/crates/node/tests/e2e.rs b/crates/node/tests/e2e.rs index bc3d097b..918a6d43 100644 --- a/crates/node/tests/e2e.rs +++ b/crates/node/tests/e2e.rs @@ -35,11 +35,7 @@ async fn can_bridge_l1_messages() -> eyre::Result<()> { let chain_spec = (*SCROLL_DEV).clone(); let node_args = ScrollRollupNodeConfig { test: true, - network_args: ScrollNetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: ScrollNetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), @@ -100,11 +96,7 @@ async fn can_sequence_and_gossip_blocks() { let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: true, - network_args: ScrollNetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: ScrollNetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), diff --git a/crates/sequencer/tests/e2e.rs b/crates/sequencer/tests/e2e.rs index f2f46061..84a1af4f 100644 --- a/crates/sequencer/tests/e2e.rs +++ b/crates/sequencer/tests/e2e.rs @@ -430,11 +430,7 @@ async fn can_sequence_blocks_with_private_key_file() -> eyre::Result<()> { let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: false, // disable test mode to enable real signing - network_args: NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: NetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), @@ -518,11 +514,7 @@ async fn can_sequence_blocks_with_hex_key_file_without_prefix() -> eyre::Result< let chain_spec = (*SCROLL_DEV).clone(); let rollup_manager_args = ScrollRollupNodeConfig { test: false, // disable test mode to enable real signing - network_args: NetworkArgs { - enable_eth_scroll_wire_bridge: true, - enable_scroll_wire: true, - ..Default::default() - }, + network_args: NetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(), From 789ffb850726e959acc1e1ab9ea0637e0789daa9 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 9 Jul 2025 06:30:56 +0800 Subject: [PATCH 12/13] feat: implement default for NetworkArgs --- crates/node/src/args.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/node/src/args.rs b/crates/node/src/args.rs index 6b71e7ee..1d9507b3 100644 --- a/crates/node/src/args.rs +++ b/crates/node/src/args.rs @@ -325,6 +325,16 @@ pub struct NetworkArgs { pub sequencer_url: Option, } +impl Default for NetworkArgs { + fn default() -> Self { + Self { + enable_eth_scroll_wire_bridge: true, + enable_scroll_wire: true, + sequencer_url: None, + } + } +} + /// The arguments for the L1 provider. #[derive(Debug, Default, Clone, clap::Args)] pub struct L1ProviderArgs { From bb87d634f9a0e1002bebb2548898ae408f1682d1 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 9 Jul 2025 06:33:34 +0800 Subject: [PATCH 13/13] fix: remove derive Default for NetworkArgs --- crates/node/src/args.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/node/src/args.rs b/crates/node/src/args.rs index 1d9507b3..2e3eb03b 100644 --- a/crates/node/src/args.rs +++ b/crates/node/src/args.rs @@ -311,7 +311,7 @@ pub struct EngineDriverArgs { } /// The network arguments. -#[derive(Debug, Default, Clone, clap::Args)] +#[derive(Debug, Clone, clap::Args)] pub struct NetworkArgs { /// A bool to represent if new blocks should be bridged from the eth wire protocol to the /// scroll wire protocol.