@@ -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,35 +92,15 @@ private class BDKService {
12592 let localOutputs = wallet. listUnspent ( )
12693 return localOutputs
12794 }
128-
95+
12996 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
137100 }
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
157104
158105 var words12 : String
159106 if let words = words, !words. isEmpty {
@@ -191,13 +138,7 @@ private class BDKService {
191138 try keyClient. saveEsploraURL ( baseUrl)
192139 self . esploraURL = baseUrl
193140 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+
201142 let wallet = try Wallet (
202143 descriptor: descriptor,
203144 changeDescriptor: changeDescriptor,
@@ -208,33 +149,13 @@ private class BDKService {
208149 }
209150
210151 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
218155 }
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
238159
239160 guard let descriptorString = descriptor, !descriptorString. isEmpty else {
240161 throw WalletError . walletNotFound
@@ -273,12 +194,6 @@ private class BDKService {
273194 try keyClient. saveNetwork ( self . network. description)
274195 try keyClient. saveEsploraURL ( baseUrl)
275196
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
282197 let wallet = try Wallet (
283198 descriptor: descriptor,
284199 changeDescriptor: changeDescriptor,
@@ -289,33 +204,14 @@ private class BDKService {
289204 }
290205
291206 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
299210 }
211+
212+ let savedURL = try ? keyClient. getEsploraURL ( )
300213
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
319215
320216 guard let xpubString = xpub, !xpubString. isEmpty else {
321217 throw WalletError . walletNotFound
@@ -347,13 +243,7 @@ private class BDKService {
347243 try keyClient. saveEsploraURL ( baseUrl)
348244 self . esploraURL = baseUrl
349245 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+
357247 let wallet = try Wallet (
358248 descriptor: descriptor,
359249 changeDescriptor: changeDescriptor,
@@ -522,7 +412,6 @@ private class BDKService {
522412 let values = wallet. sentAndReceived ( tx: tx)
523413 return values
524414 }
525-
526415}
527416
528417extension BDKService {
0 commit comments