From 2769deff0a95fdfa65833eec67eb34ebb2b19d68 Mon Sep 17 00:00:00 2001 From: Elias Rohrer Date: Fri, 12 Jun 2026 13:42:35 +0200 Subject: [PATCH] Reuse Electrum client for transaction sync Electrum transaction sync now reuses the client already shared by BDK and direct Electrum calls. This avoids opening a second Electrum connection and completes the reuse intended by #488. Co-Authored-By: HAL 9000 --- src/chain/electrum.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/chain/electrum.rs b/src/chain/electrum.rs index ad0ef1b7b..7406f06b4 100644 --- a/src/chain/electrum.rs +++ b/src/chain/electrum.rs @@ -426,10 +426,11 @@ impl ElectrumRuntimeClient { ); let bdk_electrum_client = Arc::new(BdkElectrumClient::new(Arc::clone(&electrum_client))); let tx_sync = Arc::new( - ElectrumSyncClient::new(server_url.clone(), Arc::clone(&logger)).map_err(|e| { - log_error!(logger, "Failed to connect to electrum server: {}", e); - Error::ConnectionFailed - })?, + ElectrumSyncClient::from_client(Arc::clone(&electrum_client), Arc::clone(&logger)) + .map_err(|e| { + log_error!(logger, "Failed to connect to electrum server: {}", e); + Error::ConnectionFailed + })?, ); Ok(Self { electrum_client,