From d2a60f9796ea396a0a8f272a9fba16e99e4cccf2 Mon Sep 17 00:00:00 2001 From: Viktar Makouski Date: Tue, 28 Jan 2025 15:01:31 +0300 Subject: [PATCH 1/7] [feat]: print signer version and pubkey on startup --- signer/src/main.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/signer/src/main.rs b/signer/src/main.rs index cb3a84070..f7fdba18a 100644 --- a/signer/src/main.rs +++ b/signer/src/main.rs @@ -30,6 +30,7 @@ use signer::storage::postgres::PgStore; use signer::transaction_coordinator; use signer::transaction_signer; use signer::util::ApiFallbackClient; +use signer::keys::PublicKey; use tokio::signal; use tower_http::trace::TraceLayer; use tracing::Instrument; @@ -74,11 +75,19 @@ async fn main() -> Result<(), Box> { revision = signer::GIT_COMMIT, arch = signer::TARGET_ARCH, env_abi = signer::TARGET_ENV_ABI, + signer_version = signer::VERSION, "starting the sBTC signer", ); - + // Load the configuration file and/or environment variables. let settings = Settings::new(args.config)?; + + tracing::info!( + signer_public_key = %PublicKey::from_private_key(&settings.signer.private_key), + "constructed signer settings", + ); + + signer::metrics::setup_metrics(settings.signer.prometheus_exporter_endpoint); // Open a connection to the signer db. @@ -101,6 +110,7 @@ async fn main() -> Result<(), Box> { // signing set, and only assume we are bootstrapping if that source is // empty. let settings = context.config(); + for signer in settings.signer.bootstrap_signing_set() { context.state().current_signer_set().add_signer(signer); } From e367dee70c7ec1622787e1297907d87c11522340 Mon Sep 17 00:00:00 2001 From: Viktar Makouski Date: Tue, 28 Jan 2025 15:05:27 +0300 Subject: [PATCH 2/7] remove unnecessary whitespaces and blanklines --- signer/src/main.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/signer/src/main.rs b/signer/src/main.rs index f7fdba18a..42b435e21 100644 --- a/signer/src/main.rs +++ b/signer/src/main.rs @@ -78,7 +78,7 @@ async fn main() -> Result<(), Box> { signer_version = signer::VERSION, "starting the sBTC signer", ); - + // Load the configuration file and/or environment variables. let settings = Settings::new(args.config)?; @@ -110,7 +110,6 @@ async fn main() -> Result<(), Box> { // signing set, and only assume we are bootstrapping if that source is // empty. let settings = context.config(); - for signer in settings.signer.bootstrap_signing_set() { context.state().current_signer_set().add_signer(signer); } From ae389ca9f955b1e56196f6f7bf9d19fc1088af63 Mon Sep 17 00:00:00 2001 From: Viktar Makouski Date: Tue, 28 Jan 2025 15:05:52 +0300 Subject: [PATCH 3/7] cargo fmt --- signer/src/main.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/signer/src/main.rs b/signer/src/main.rs index 42b435e21..f7da404a1 100644 --- a/signer/src/main.rs +++ b/signer/src/main.rs @@ -22,6 +22,7 @@ use signer::context::Context; use signer::context::SignerContext; use signer::emily_client::EmilyClient; use signer::error::Error; +use signer::keys::PublicKey; use signer::network::libp2p::SignerSwarmBuilder; use signer::network::P2PNetwork; use signer::request_decider::RequestDeciderEventLoop; @@ -30,7 +31,6 @@ use signer::storage::postgres::PgStore; use signer::transaction_coordinator; use signer::transaction_signer; use signer::util::ApiFallbackClient; -use signer::keys::PublicKey; use tokio::signal; use tower_http::trace::TraceLayer; use tracing::Instrument; @@ -87,7 +87,6 @@ async fn main() -> Result<(), Box> { "constructed signer settings", ); - signer::metrics::setup_metrics(settings.signer.prometheus_exporter_endpoint); // Open a connection to the signer db. From 71635754f51fbc91ffa4f6ff060a077fd5784865 Mon Sep 17 00:00:00 2001 From: Viktar Makouski Date: Thu, 6 Feb 2025 15:59:38 +0300 Subject: [PATCH 4/7] add pubkey method for signer config --- signer/src/config/mod.rs | 5 +++++ signer/src/main.rs | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/signer/src/config/mod.rs b/signer/src/config/mod.rs index 68674bcf5..3b44f18f9 100644 --- a/signer/src/config/mod.rs +++ b/signer/src/config/mod.rs @@ -411,6 +411,11 @@ impl SignerConfig { .chain([self_public_key]) .collect() } + + /// Return the public key of the signer. + pub fn public_key(&self) -> PublicKey { + PublicKey::from_private_key(&self.private_key) + } } /// Configuration for the Stacks event observer server (hosted within the signer). diff --git a/signer/src/main.rs b/signer/src/main.rs index f7da404a1..29d4bd4fe 100644 --- a/signer/src/main.rs +++ b/signer/src/main.rs @@ -83,8 +83,8 @@ async fn main() -> Result<(), Box> { let settings = Settings::new(args.config)?; tracing::info!( - signer_public_key = %PublicKey::from_private_key(&settings.signer.private_key), - "constructed signer settings", + signer_public_key = %&settings.signer.public_key(), + "signer public key", ); signer::metrics::setup_metrics(settings.signer.prometheus_exporter_endpoint); From f9d9da5accfe9fec144084c4cd35b4122e1abfff Mon Sep 17 00:00:00 2001 From: Viktar Makouski Date: Fri, 7 Feb 2025 14:27:35 +0300 Subject: [PATCH 5/7] cargo clippy --- signer/src/main.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/signer/src/main.rs b/signer/src/main.rs index 29d4bd4fe..91d89777e 100644 --- a/signer/src/main.rs +++ b/signer/src/main.rs @@ -22,7 +22,6 @@ use signer::context::Context; use signer::context::SignerContext; use signer::emily_client::EmilyClient; use signer::error::Error; -use signer::keys::PublicKey; use signer::network::libp2p::SignerSwarmBuilder; use signer::network::P2PNetwork; use signer::request_decider::RequestDeciderEventLoop; From 4c78d1f832dc97e4d93e7209673b5cdcb082d8c0 Mon Sep 17 00:00:00 2001 From: djordon Date: Mon, 10 Feb 2025 14:29:28 -0500 Subject: [PATCH 6/7] Remove the revision field and changhe the log copy slightly --- signer/src/main.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/signer/src/main.rs b/signer/src/main.rs index 91d89777e..326220aed 100644 --- a/signer/src/main.rs +++ b/signer/src/main.rs @@ -74,7 +74,6 @@ async fn main() -> Result<(), Box> { revision = signer::GIT_COMMIT, arch = signer::TARGET_ARCH, env_abi = signer::TARGET_ENV_ABI, - signer_version = signer::VERSION, "starting the sBTC signer", ); @@ -82,8 +81,8 @@ async fn main() -> Result<(), Box> { let settings = Settings::new(args.config)?; tracing::info!( - signer_public_key = %&settings.signer.public_key(), - "signer public key", + signer_public_key = %settings.signer.public_key(), + "config loaded successfully", ); signer::metrics::setup_metrics(settings.signer.prometheus_exporter_endpoint); From 39ff8fb2c35939bc32cd6a57de0d21c4d318f398 Mon Sep 17 00:00:00 2001 From: djordon Date: Mon, 10 Feb 2025 14:31:09 -0500 Subject: [PATCH 7/7] consolidate --- signer/src/main.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/signer/src/main.rs b/signer/src/main.rs index 326220aed..8a6244059 100644 --- a/signer/src/main.rs +++ b/signer/src/main.rs @@ -80,10 +80,8 @@ async fn main() -> Result<(), Box> { // Load the configuration file and/or environment variables. let settings = Settings::new(args.config)?; - tracing::info!( - signer_public_key = %settings.signer.public_key(), - "config loaded successfully", - ); + let signer_public_key = settings.signer.public_key(); + tracing::info!(%signer_public_key, "config loaded successfully"); signer::metrics::setup_metrics(settings.signer.prometheus_exporter_endpoint);