From 125fdf8b624ce931e39905045d69b6312558a983 Mon Sep 17 00:00:00 2001
From: Serhii <borodenko.sv@gmail.com>
Date: Mon, 9 Sep 2024 21:08:21 +0300
Subject: [PATCH] quick fix for the reconnection issue (#1671)

* Update electrum.dart

* Update electrum.dart

* Duration seconds: 5 [skip ci]
---
 cw_bitcoin/lib/electrum.dart        | 10 +++++++---
 cw_bitcoin/lib/electrum_wallet.dart |  2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/cw_bitcoin/lib/electrum.dart b/cw_bitcoin/lib/electrum.dart
index bc630a4e1..8dfb8e01f 100644
--- a/cw_bitcoin/lib/electrum.dart
+++ b/cw_bitcoin/lib/electrum.dart
@@ -113,9 +113,13 @@ class ElectrumClient {
       },
       onDone: () {
         unterminatedString = '';
-        if (host == socket?.address.host) {
-          socket = null;
-          _setConnectionStatus(ConnectionStatus.disconnected);
+        try {
+          if (host == socket?.address.host) {
+            socket?.destroy();
+            _setConnectionStatus(ConnectionStatus.disconnected);
+          }
+        } catch(e) {
+          print(e.toString());
         }
       },
       cancelOnError: true,
diff --git a/cw_bitcoin/lib/electrum_wallet.dart b/cw_bitcoin/lib/electrum_wallet.dart
index 73ae7c38f..b9bb0deb4 100644
--- a/cw_bitcoin/lib/electrum_wallet.dart
+++ b/cw_bitcoin/lib/electrum_wallet.dart
@@ -2058,7 +2058,7 @@ abstract class ElectrumWalletBase
 
       _isTryingToConnect = true;
 
-      Timer(Duration(seconds: 10), () {
+      Timer(Duration(seconds: 5), () {
         if (this.syncStatus is NotConnectedSyncStatus || this.syncStatus is LostConnectionSyncStatus) {
           this.electrumClient.connectToUri(
                 node!.uri,