From 66d98a282cbbaa4e8aad1596b74bbd0a17795593 Mon Sep 17 00:00:00 2001
From: Hector Chu <hectorchu@gmail.com>
Date: Fri, 26 Apr 2024 09:16:40 +0100
Subject: [PATCH] Don't hash mweb addresses

---
 cw_bitcoin/lib/electrum_wallet.dart | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/cw_bitcoin/lib/electrum_wallet.dart b/cw_bitcoin/lib/electrum_wallet.dart
index 281255e53..23a15c280 100644
--- a/cw_bitcoin/lib/electrum_wallet.dart
+++ b/cw_bitcoin/lib/electrum_wallet.dart
@@ -113,11 +113,13 @@ abstract class ElectrumWalletBase
   SyncStatus syncStatus;
 
   List<String> get scriptHashes => walletAddresses.addressesByReceiveType
+      .where((addr) => addressTypeFromStr(addr.address, network) is! MwebAddress)
       .map((addr) => scriptHash(addr.address, network: network))
       .toList();
 
   List<String> get publicScriptHashes => walletAddresses.allAddresses
       .where((addr) => !addr.isHidden)
+      .where((addr) => addressTypeFromStr(addr.address, network) is! MwebAddress)
       .map((addr) => scriptHash(addr.address, network: network))
       .toList();
 
@@ -1205,7 +1207,8 @@ abstract class ElectrumWalletBase
   }
 
   Future<ElectrumBalance> fetchBalances() async {
-    final addresses = walletAddresses.allAddresses.toList();
+    final addresses = walletAddresses.allAddresses.where((address) =>
+        addressTypeFromStr(address.address, network) is! MwebAddress).toList();
     final balanceFutures = <Future<Map<String, dynamic>>>[];
     for (var i = 0; i < addresses.length; i++) {
       final addressRecord = addresses[i];