From b80ca8a00eddad55cf6635ada07f4856af82ffd9 Mon Sep 17 00:00:00 2001 From: Mike Rolish Date: Tue, 24 Jun 2025 20:01:42 -0500 Subject: [PATCH] fix(pyth-lazer-agent): add back optional authorization_key --- apps/pyth-lazer-agent/Cargo.lock | 6 +++--- apps/pyth-lazer-agent/Cargo.toml | 2 +- apps/pyth-lazer-agent/src/config.rs | 1 + apps/pyth-lazer-agent/src/lazer_publisher.rs | 12 +++++++++++- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/apps/pyth-lazer-agent/Cargo.lock b/apps/pyth-lazer-agent/Cargo.lock index 816fd12b3e..3834832145 100644 --- a/apps/pyth-lazer-agent/Cargo.lock +++ b/apps/pyth-lazer-agent/Cargo.lock @@ -250,9 +250,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.18.1" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "bytecheck" @@ -1643,7 +1643,7 @@ dependencies = [ [[package]] name = "pyth-lazer-agent" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "backoff", diff --git a/apps/pyth-lazer-agent/Cargo.toml b/apps/pyth-lazer-agent/Cargo.toml index f6a5b713a8..f27178991f 100644 --- a/apps/pyth-lazer-agent/Cargo.toml +++ b/apps/pyth-lazer-agent/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyth-lazer-agent" -version = "0.1.0" +version = "0.1.1" edition = "2024" [dependencies] diff --git a/apps/pyth-lazer-agent/src/config.rs b/apps/pyth-lazer-agent/src/config.rs index 3453859b73..57b0652be7 100644 --- a/apps/pyth-lazer-agent/src/config.rs +++ b/apps/pyth-lazer-agent/src/config.rs @@ -12,6 +12,7 @@ use url::Url; pub struct Config { pub listen_address: SocketAddr, pub relayer_urls: Vec, + pub authorization_token: Option, #[derivative(Debug = "ignore")] pub publish_keypair_path: PathBuf, #[serde(with = "humantime_serde", default = "default_publish_interval")] diff --git a/apps/pyth-lazer-agent/src/lazer_publisher.rs b/apps/pyth-lazer-agent/src/lazer_publisher.rs index 9edf10b76b..2d24635e01 100644 --- a/apps/pyth-lazer-agent/src/lazer_publisher.rs +++ b/apps/pyth-lazer-agent/src/lazer_publisher.rs @@ -56,11 +56,20 @@ impl LazerPublisher { } }; + let authorization_token = + if let Some(authorization_token) = config.authorization_token.clone() { + // If authorization_token is configured, use it. + authorization_token + } else { + // Otherwise, use the base64 pubkey. + BASE64_STANDARD.encode(signing_key.verifying_key().to_bytes()) + }; + let (relayer_sender, _) = broadcast::channel(CHANNEL_CAPACITY); for url in config.relayer_urls.iter() { let mut task = RelayerSessionTask { url: url.clone(), - token: BASE64_STANDARD.encode(signing_key.verifying_key().to_bytes()), + token: authorization_token.clone(), receiver: relayer_sender.subscribe(), }; tokio::spawn(async move { task.run().await }); @@ -203,6 +212,7 @@ mod tests { let config = Config { listen_address: "0.0.0.0:12345".parse().unwrap(), relayer_urls: vec![Url::parse("http://127.0.0.1:12346").unwrap()], + authorization_token: None, publish_keypair_path: PathBuf::from(signing_key_file.path()), publish_interval_duration: Duration::from_millis(25), };