diff --git a/.gitignore b/.gitignore index 9c6fd0b..08693db 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,6 @@ docker-compose/grafana_data/ docker-compose/l2reth/ docker-compose/prometheus_data/ docker-compose/l1devnet/ + +# OS +.DS_Store \ No newline at end of file diff --git a/crates/node/src/add_ons/mod.rs b/crates/node/src/add_ons/mod.rs index bdebc92..02b34ef 100644 --- a/crates/node/src/add_ons/mod.rs +++ b/crates/node/src/add_ons/mod.rs @@ -58,7 +58,12 @@ 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 } } diff --git a/crates/node/src/args.rs b/crates/node/src/args.rs index dc6d659..2e3eb03 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. @@ -320,6 +320,19 @@ 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, + /// 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, +} + +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. diff --git a/crates/node/src/test_utils.rs b/crates/node/src/test_utils.rs index 6d7d43b..0b7883f 100644 --- a/crates/node/src/test_utils.rs +++ b/crates/node/src/test_utils.rs @@ -130,10 +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, - }, + 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 }, @@ -147,10 +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, - }, + 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 2cc4a96..918a6d4 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 7731564..84a1af4 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::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 }, + network_args: NetworkArgs::default(), database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs::default(),