diff --git a/core/bin/external_node/src/config/mod.rs b/core/bin/external_node/src/config/mod.rs index 2dab11cf151..568d3195bbe 100644 --- a/core/bin/external_node/src/config/mod.rs +++ b/core/bin/external_node/src/config/mod.rs @@ -439,6 +439,9 @@ pub(crate) struct OptionalENConfig { /// If set to 0, L1 batches will not be retained based on their timestamp. The default value is 7 days. #[serde(default = "OptionalENConfig::default_pruning_data_retention_sec")] pruning_data_retention_sec: u64, + /// Gateway RPC URL, needed for operating during migration. + #[allow(dead_code)] + pub gateway_url: Option, } impl OptionalENConfig { @@ -663,6 +666,7 @@ impl OptionalENConfig { .unwrap_or_else(Self::default_main_node_rate_limit_rps), api_namespaces, contracts_diamond_proxy_addr: None, + gateway_url: enconfig.gateway_url.clone(), }) } diff --git a/core/lib/config/src/configs/en_config.rs b/core/lib/config/src/configs/en_config.rs index 94730980c0f..7f130e3539a 100644 --- a/core/lib/config/src/configs/en_config.rs +++ b/core/lib/config/src/configs/en_config.rs @@ -17,4 +17,6 @@ pub struct ENConfig { // Main node configuration pub main_node_url: SensitiveUrl, pub main_node_rate_limit_rps: Option, + + pub gateway_url: Option, } diff --git a/core/lib/config/src/testonly.rs b/core/lib/config/src/testonly.rs index 71d02e3bec0..1f4bfbc0265 100644 --- a/core/lib/config/src/testonly.rs +++ b/core/lib/config/src/testonly.rs @@ -928,6 +928,8 @@ impl Distribution for EncodeDist { _ => L1BatchCommitmentMode::Validium, }, main_node_rate_limit_rps: self.sample_opt(|| rng.gen()), + gateway_url: self + .sample_opt(|| format!("localhost:{}", rng.gen::()).parse().unwrap()), } } } diff --git a/core/lib/protobuf_config/src/en.rs b/core/lib/protobuf_config/src/en.rs index b006dc61d6b..9c07d1d3929 100644 --- a/core/lib/protobuf_config/src/en.rs +++ b/core/lib/protobuf_config/src/en.rs @@ -31,6 +31,11 @@ impl ProtoRepr for proto::ExternalNode { main_node_rate_limit_rps: self .main_node_rate_limit_rps .and_then(|a| NonZeroUsize::new(a as usize)), + gateway_url: self + .gateway_url + .as_ref() + .map(|a| a.parse().context("gateway_url")) + .transpose()?, }) } @@ -46,6 +51,10 @@ impl ProtoRepr for proto::ExternalNode { .into(), ), main_node_rate_limit_rps: this.main_node_rate_limit_rps.map(|a| a.get() as u64), + gateway_url: this + .gateway_url + .as_ref() + .map(|a| a.expose_str().to_string()), } } } diff --git a/core/lib/protobuf_config/src/proto/config/en.proto b/core/lib/protobuf_config/src/proto/config/en.proto index b0ec165b2f6..d8a13d31d4b 100644 --- a/core/lib/protobuf_config/src/proto/config/en.proto +++ b/core/lib/protobuf_config/src/proto/config/en.proto @@ -9,4 +9,5 @@ message ExternalNode { optional uint64 l1_chain_id = 3; // required optional uint64 main_node_rate_limit_rps = 6; // optional optional config.genesis.L1BatchCommitDataGeneratorMode l1_batch_commit_data_generator_mode = 7; // optional, default to rollup + optional string gateway_url = 8; // optional } diff --git a/etc/env/configs/ext-node.toml b/etc/env/configs/ext-node.toml index 145b1455ab9..b2f74006559 100644 --- a/etc/env/configs/ext-node.toml +++ b/etc/env/configs/ext-node.toml @@ -50,6 +50,9 @@ file_backed_base_path = "artifacts" [en.main_node] url = "http://127.0.0.1:3050" +[en.gateway] +url = "http://127.0.0.1:3052" + [rust] # `RUST_LOG` environment variable for `env_logger` # Here we use TOML multiline strings: newlines will be trimmed. diff --git a/etc/env/file_based/external_node.yaml b/etc/env/file_based/external_node.yaml index 675baf73968..e97b04fb390 100644 --- a/etc/env/file_based/external_node.yaml +++ b/etc/env/file_based/external_node.yaml @@ -4,3 +4,5 @@ l1_batch_commit_data_generator_mode: Rollup main_node_url: http://localhost:3050 main_node_rate_limit_rps: 1000 + +gateway_url: http://localhost:3052 diff --git a/zk_toolbox/crates/zk_inception/src/commands/external_node/prepare_configs.rs b/zk_toolbox/crates/zk_inception/src/commands/external_node/prepare_configs.rs index 2a4ad6c9de8..51101c22887 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/external_node/prepare_configs.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/external_node/prepare_configs.rs @@ -61,6 +61,7 @@ fn prepare_configs( .http_url, )?, main_node_rate_limit_rps: None, + gateway_url: None, }; let mut general_en = general.clone();