Skip to content

Commit f87f86e

Browse files
RubensRubens
authored andcommitted
improve: simplify retrieval of esploraURL in BDKService
1 parent 26bdea0 commit f87f86e

File tree

2 files changed

+23
-90
lines changed

2 files changed

+23
-90
lines changed

BDKSwiftExampleWallet/Extensions/BDK+Extensions/Network+Extensions.swift

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,23 @@ extension Network {
3131
}
3232
}
3333

34+
extension Network {
35+
var url: String {
36+
switch self {
37+
case .bitcoin:
38+
Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues.first ?? ""
39+
case .testnet:
40+
Constants.Config.EsploraServerURLNetwork.Testnet.allValues.first ?? ""
41+
case .signet:
42+
Constants.Config.EsploraServerURLNetwork.Signet.allValues.first ?? ""
43+
case .regtest:
44+
Constants.Config.EsploraServerURLNetwork.Regtest.allValues.first ?? ""
45+
case .testnet4:
46+
Constants.Config.EsploraServerURLNetwork.Testnet4.allValues.first ?? ""
47+
}
48+
}
49+
}
50+
3451
#if DEBUG
3552
let mockKeyClientNetwork = Network.regtest
3653
#endif

BDKSwiftExampleWallet/Service/BDK Service/BDKService.swift

Lines changed: 6 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -25,27 +25,7 @@ private class BDKService {
2525
let storedNetworkString = try? keyClient.getNetwork() ?? Network.signet.description
2626
self.network = Network(stringValue: storedNetworkString ?? "") ?? .signet
2727

28-
if let savedURL = try? keyClient.getEsploraURL() {
29-
self.esploraURL = savedURL
30-
} else {
31-
switch self.network {
32-
case .bitcoin:
33-
self.esploraURL =
34-
Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues.first ?? ""
35-
case .testnet:
36-
self.esploraURL =
37-
Constants.Config.EsploraServerURLNetwork.Testnet.allValues.first ?? ""
38-
case .regtest:
39-
self.esploraURL =
40-
Constants.Config.EsploraServerURLNetwork.Regtest.allValues.first ?? ""
41-
case .signet:
42-
self.esploraURL =
43-
Constants.Config.EsploraServerURLNetwork.Signet.allValues.first ?? ""
44-
case .testnet4:
45-
self.esploraURL =
46-
Constants.Config.EsploraServerURLNetwork.Testnet4.allValues.first ?? ""
47-
}
48-
}
28+
self.esploraURL = (try? keyClient.getEsploraURL()) ?? self.network.url
4929

5030
self.esploraClient = EsploraClient(url: self.esploraURL)
5131
}
@@ -59,21 +39,8 @@ private class BDKService {
5939
self.network = newNetwork
6040
try? keyClient.saveNetwork(newNetwork.description)
6141

62-
let newURL: String
63-
switch newNetwork {
64-
case .bitcoin:
65-
newURL = Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues.first ?? ""
66-
case .testnet:
67-
newURL = Constants.Config.EsploraServerURLNetwork.Testnet.allValues.first ?? ""
68-
case .regtest:
69-
newURL = Constants.Config.EsploraServerURLNetwork.Regtest.allValues.first ?? ""
70-
case .signet:
71-
newURL = Constants.Config.EsploraServerURLNetwork.Signet.allValues.first ?? ""
72-
case .testnet4:
73-
newURL = Constants.Config.EsploraServerURLNetwork.Testnet4.allValues.first ?? ""
74-
}
42+
let newURL = newNetwork.url
7543
updateEsploraURL(newURL)
76-
7744
}
7845
}
7946

@@ -125,7 +92,7 @@ private class BDKService {
12592
let localOutputs = wallet.listUnspent()
12693
return localOutputs
12794
}
128-
95+
12996
func createWallet(words: String?) throws {
13097
let savedURL = try? keyClient.getEsploraURL()
13198

@@ -136,24 +103,7 @@ private class BDKService {
136103
try FileManager.default.removeItem(at: walletDataDirectoryURL)
137104
}
138105

139-
let baseUrl =
140-
savedURL
141-
?? {
142-
let defaultURL =
143-
switch self.network {
144-
case .bitcoin:
145-
Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues.first ?? ""
146-
case .testnet:
147-
Constants.Config.EsploraServerURLNetwork.Testnet.allValues.first ?? ""
148-
case .regtest:
149-
Constants.Config.EsploraServerURLNetwork.Regtest.allValues.first ?? ""
150-
case .signet:
151-
Constants.Config.EsploraServerURLNetwork.Signet.allValues.first ?? ""
152-
case .testnet4:
153-
Constants.Config.EsploraServerURLNetwork.Testnet4.allValues.first ?? ""
154-
}
155-
return defaultURL
156-
}()
106+
let baseUrl = savedURL ?? network.url
157107

158108
var words12: String
159109
if let words = words, !words.isEmpty {
@@ -217,24 +167,7 @@ private class BDKService {
217167
try FileManager.default.removeItem(at: walletDataDirectoryURL)
218168
}
219169

220-
let baseUrl =
221-
savedURL
222-
?? {
223-
let defaultURL =
224-
switch self.network {
225-
case .bitcoin:
226-
Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues.first ?? ""
227-
case .testnet:
228-
Constants.Config.EsploraServerURLNetwork.Testnet.allValues.first ?? ""
229-
case .regtest:
230-
Constants.Config.EsploraServerURLNetwork.Regtest.allValues.first ?? ""
231-
case .signet:
232-
Constants.Config.EsploraServerURLNetwork.Signet.allValues.first ?? ""
233-
case .testnet4:
234-
Constants.Config.EsploraServerURLNetwork.Testnet4.allValues.first ?? ""
235-
}
236-
return defaultURL
237-
}()
170+
let baseUrl = savedURL ?? network.url
238171

239172
guard let descriptorString = descriptor, !descriptorString.isEmpty else {
240173
throw WalletError.walletNotFound
@@ -298,24 +231,7 @@ private class BDKService {
298231
try FileManager.default.removeItem(at: walletDataDirectoryURL)
299232
}
300233

301-
let baseUrl =
302-
savedURL
303-
?? {
304-
let defaultURL =
305-
switch self.network {
306-
case .bitcoin:
307-
Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues.first ?? ""
308-
case .testnet:
309-
Constants.Config.EsploraServerURLNetwork.Testnet.allValues.first ?? ""
310-
case .regtest:
311-
Constants.Config.EsploraServerURLNetwork.Regtest.allValues.first ?? ""
312-
case .signet:
313-
Constants.Config.EsploraServerURLNetwork.Signet.allValues.first ?? ""
314-
case .testnet4:
315-
Constants.Config.EsploraServerURLNetwork.Testnet4.allValues.first ?? ""
316-
}
317-
return defaultURL
318-
}()
234+
let baseUrl = savedURL ?? network.url
319235

320236
guard let xpubString = xpub, !xpubString.isEmpty else {
321237
throw WalletError.walletNotFound

0 commit comments

Comments
 (0)