Skip to content

Commit 12172af

Browse files
committed
improv: created Persister.deleteConnection to keep easy delete wallet connections
1 parent e46dfea commit 12172af

File tree

2 files changed

+17
-25
lines changed

2 files changed

+17
-25
lines changed

BDKSwiftExampleWallet/Extensions/BDK+Extensions/Connection+Extensions.swift

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,23 @@ import Foundation
33

44
extension Persister {
55
static func createConnection() throws -> Persister {
6-
let documentsDirectoryURL = URL.documentsDirectory
7-
let walletDataDirectoryURL = documentsDirectoryURL.appendingPathComponent("wallet_data")
8-
6+
try deleteConnection()
7+
try FileManager.default.ensureDirectoryExists(at: URL.walletDataDirectoryURL)
8+
try FileManager.default.removeOldFlatFileIfNeeded(at: URL.defaultWalletDirectory)
9+
let persister = try Persister.newSqlite(path: URL.persistenceBackendPath)
10+
return persister
11+
}
12+
13+
static func loadConnection() throws -> Persister {
14+
let persistenceBackendPath = URL.persistenceBackendPath
15+
let persister = try Persister.newSqlite(path: persistenceBackendPath)
16+
return persister
17+
}
18+
19+
static func deleteConnection() throws {
20+
let walletDataDirectoryURL = URL.walletDataDirectoryURL
921
if FileManager.default.fileExists(atPath: walletDataDirectoryURL.path) {
1022
try FileManager.default.removeItem(at: walletDataDirectoryURL)
1123
}
12-
13-
try FileManager.default.ensureDirectoryExists(at: walletDataDirectoryURL)
14-
try FileManager.default.removeOldFlatFileIfNeeded(at: documentsDirectoryURL)
15-
let persistenceBackendPath = walletDataDirectoryURL.appendingPathComponent("wallet.sqlite")
16-
.path
17-
let persister = try Persister.newSqlite(path: persistenceBackendPath)
18-
return persister
1924
}
2025
}

BDKSwiftExampleWallet/Service/BDK Service/BDKService.swift

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -254,13 +254,7 @@ private class BDKService {
254254
}
255255

256256
private func loadWallet(descriptor: Descriptor, changeDescriptor: Descriptor) throws {
257-
let documentsDirectoryURL = URL.documentsDirectory
258-
let walletDataDirectoryURL = documentsDirectoryURL.appendingPathComponent("wallet_data")
259-
try FileManager.default.ensureDirectoryExists(at: walletDataDirectoryURL)
260-
try FileManager.default.removeOldFlatFileIfNeeded(at: documentsDirectoryURL)
261-
let persistenceBackendPath = walletDataDirectoryURL.appendingPathComponent("wallet.sqlite")
262-
.path
263-
let persister = try Persister.newSqlite(path: persistenceBackendPath)
257+
let persister = try Persister.loadConnection()
264258
self.persister = persister
265259
let wallet = try Wallet.load(
266260
descriptor: descriptor,
@@ -287,15 +281,8 @@ private class BDKService {
287281
if let bundleID = Bundle.main.bundleIdentifier {
288282
UserDefaults.standard.removePersistentDomain(forName: bundleID)
289283
}
290-
291284
try self.keyClient.deleteBackupInfo()
292-
293-
let documentsDirectoryURL = URL.documentsDirectory
294-
let walletDataDirectoryURL = documentsDirectoryURL.appendingPathComponent("wallet_data")
295-
if FileManager.default.fileExists(atPath: walletDataDirectoryURL.path) {
296-
try FileManager.default.removeItem(at: walletDataDirectoryURL)
297-
}
298-
285+
try Persister.deleteConnection()
299286
if let savedURL = savedURL {
300287
try keyClient.saveEsploraURL(savedURL)
301288
}

0 commit comments

Comments
 (0)