@@ -25,27 +25,7 @@ private class BDKService {
25
25
let storedNetworkString = try ? keyClient. getNetwork ( ) ?? Network . signet. description
26
26
self . network = Network ( stringValue: storedNetworkString ?? " " ) ?? . signet
27
27
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
49
29
50
30
self . esploraClient = EsploraClient ( url: self . esploraURL)
51
31
}
@@ -59,21 +39,8 @@ private class BDKService {
59
39
self . network = newNetwork
60
40
try ? keyClient. saveNetwork ( newNetwork. description)
61
41
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
75
43
updateEsploraURL ( newURL)
76
-
77
44
}
78
45
}
79
46
@@ -125,35 +92,15 @@ private class BDKService {
125
92
let localOutputs = wallet. listUnspent ( )
126
93
return localOutputs
127
94
}
128
-
95
+
129
96
func createWallet( words: String ? ) throws {
130
- let savedURL = try ? keyClient. getEsploraURL ( )
131
-
132
- let documentsDirectoryURL = URL . documentsDirectory
133
- let walletDataDirectoryURL = documentsDirectoryURL. appendingPathComponent ( " wallet_data " )
134
-
135
- if FileManager . default. fileExists ( atPath: walletDataDirectoryURL. path) {
136
- try FileManager . default. removeItem ( at: walletDataDirectoryURL)
97
+ self . connection = try Connection . createConnection ( )
98
+ guard let connection = connection else {
99
+ throw WalletError . dbNotFound
137
100
}
138
-
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
- } ( )
101
+
102
+ let savedURL = try ? keyClient. getEsploraURL ( )
103
+ let baseUrl = savedURL ?? network. url
157
104
158
105
var words12 : String
159
106
if let words = words, !words. isEmpty {
@@ -191,13 +138,7 @@ private class BDKService {
191
138
try keyClient. saveEsploraURL ( baseUrl)
192
139
self . esploraURL = baseUrl
193
140
updateEsploraClient ( )
194
-
195
- try FileManager . default. ensureDirectoryExists ( at: walletDataDirectoryURL)
196
- try FileManager . default. removeOldFlatFileIfNeeded ( at: documentsDirectoryURL)
197
- let persistenceBackendPath = walletDataDirectoryURL. appendingPathComponent ( " wallet.sqlite " )
198
- . path
199
- let connection = try Connection ( path: persistenceBackendPath)
200
- self . connection = connection
141
+
201
142
let wallet = try Wallet (
202
143
descriptor: descriptor,
203
144
changeDescriptor: changeDescriptor,
@@ -208,33 +149,13 @@ private class BDKService {
208
149
}
209
150
210
151
func createWallet( descriptor: String ? ) throws {
211
- let savedURL = try ? keyClient. getEsploraURL ( )
212
-
213
- let documentsDirectoryURL = URL . documentsDirectory
214
- let walletDataDirectoryURL = documentsDirectoryURL. appendingPathComponent ( " wallet_data " )
215
-
216
- if FileManager . default. fileExists ( atPath: walletDataDirectoryURL. path) {
217
- try FileManager . default. removeItem ( at: walletDataDirectoryURL)
152
+ self . connection = try Connection . createConnection ( )
153
+ guard let connection = connection else {
154
+ throw WalletError . dbNotFound
218
155
}
219
-
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
- } ( )
156
+
157
+ let savedURL = try ? keyClient. getEsploraURL ( )
158
+ let baseUrl = savedURL ?? network. url
238
159
239
160
guard let descriptorString = descriptor, !descriptorString. isEmpty else {
240
161
throw WalletError . walletNotFound
@@ -273,12 +194,6 @@ private class BDKService {
273
194
try keyClient. saveNetwork ( self . network. description)
274
195
try keyClient. saveEsploraURL ( baseUrl)
275
196
276
- try FileManager . default. ensureDirectoryExists ( at: walletDataDirectoryURL)
277
- try FileManager . default. removeOldFlatFileIfNeeded ( at: documentsDirectoryURL)
278
- let persistenceBackendPath = walletDataDirectoryURL. appendingPathComponent ( " wallet.sqlite " )
279
- . path
280
- let connection = try Connection ( path: persistenceBackendPath)
281
- self . connection = connection
282
197
let wallet = try Wallet (
283
198
descriptor: descriptor,
284
199
changeDescriptor: changeDescriptor,
@@ -289,33 +204,14 @@ private class BDKService {
289
204
}
290
205
291
206
func createWallet( xpub: String ? ) throws {
292
- let savedURL = try ? keyClient. getEsploraURL ( )
293
-
294
- let documentsDirectoryURL = URL . documentsDirectory
295
- let walletDataDirectoryURL = documentsDirectoryURL. appendingPathComponent ( " wallet_data " )
296
-
297
- if FileManager . default. fileExists ( atPath: walletDataDirectoryURL. path) {
298
- try FileManager . default. removeItem ( at: walletDataDirectoryURL)
207
+ self . connection = try Connection . createConnection ( )
208
+ guard let connection = connection else {
209
+ throw WalletError . dbNotFound
299
210
}
211
+
212
+ let savedURL = try ? keyClient. getEsploraURL ( )
300
213
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
- } ( )
214
+ let baseUrl = savedURL ?? network. url
319
215
320
216
guard let xpubString = xpub, !xpubString. isEmpty else {
321
217
throw WalletError . walletNotFound
@@ -347,13 +243,7 @@ private class BDKService {
347
243
try keyClient. saveEsploraURL ( baseUrl)
348
244
self . esploraURL = baseUrl
349
245
updateEsploraClient ( )
350
-
351
- try FileManager . default. ensureDirectoryExists ( at: walletDataDirectoryURL)
352
- try FileManager . default. removeOldFlatFileIfNeeded ( at: documentsDirectoryURL)
353
- let persistenceBackendPath = walletDataDirectoryURL. appendingPathComponent ( " wallet.sqlite " )
354
- . path
355
- let connection = try Connection ( path: persistenceBackendPath)
356
- self . connection = connection
246
+
357
247
let wallet = try Wallet (
358
248
descriptor: descriptor,
359
249
changeDescriptor: changeDescriptor,
@@ -522,7 +412,6 @@ private class BDKService {
522
412
let values = wallet. sentAndReceived ( tx: tx)
523
413
return values
524
414
}
525
-
526
415
}
527
416
528
417
extension BDKService {
0 commit comments