Skip to content

Commit 2568fa2

Browse files
committed
still works removing keyclient from anywhere except bdkservice
1 parent eee86f0 commit 2568fa2

File tree

7 files changed

+128
-109
lines changed

7 files changed

+128
-109
lines changed

BDKSwiftExampleWallet/View Model/Activity/TransactionDetailViewModel.swift

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import Observation
1313
@Observable
1414
class TransactionDetailViewModel {
1515
let bdkClient: BDKClient
16-
let keyClient: KeyClient
1716

1817
var calculateFee: String?
1918
var calculateFeeError: CalculateFeeError?
@@ -24,11 +23,9 @@ class TransactionDetailViewModel {
2423
var transactionDetailsError: AppError?
2524

2625
init(
27-
bdkClient: BDKClient = .live,
28-
keyClient: KeyClient = .live
26+
bdkClient: BDKClient = .live
2927
) {
3028
self.bdkClient = bdkClient
31-
self.keyClient = keyClient
3229
}
3330

3431
func getCalulateFee(tx: BitcoinDevKit.Transaction) {
@@ -44,28 +41,28 @@ class TransactionDetailViewModel {
4441
}
4542

4643
func getEsploraUrl() {
47-
do {
48-
let savedEsploraURL = try keyClient.getEsploraURL()
49-
if network == "Signet" {
50-
self.esploraURL = "https://mempool.space/signet"
51-
} else {
52-
self.esploraURL = savedEsploraURL
53-
}
54-
} catch let error as EsploraError {
55-
DispatchQueue.main.async {
56-
self.esploraError = error
57-
}
58-
} catch {}
44+
// do {
45+
let savedEsploraURL = bdkClient.getEsploraURL() //try keyClient.getEsploraURL()
46+
if network == "Signet" {
47+
self.esploraURL = "https://mempool.space/signet"
48+
} else {
49+
self.esploraURL = savedEsploraURL
50+
}
51+
// } catch let error as EsploraError {
52+
// DispatchQueue.main.async {
53+
// self.esploraError = error
54+
// }
55+
// } catch {}
5956
}
6057

6158
func getNetwork() {
62-
do {
63-
self.network = try keyClient.getNetwork()
64-
} catch {
65-
DispatchQueue.main.async {
66-
self.transactionDetailsError = .generic(message: error.localizedDescription)
67-
}
68-
}
59+
// do {
60+
self.network = bdkClient.getNetwork().description //try keyClient.getNetwork()
61+
// } catch {
62+
// DispatchQueue.main.async {
63+
// self.transactionDetailsError = .generic(message: error.localizedDescription)
64+
// }
65+
// }
6966
}
7067

7168
func getSentAndReceived(tx: BitcoinDevKit.Transaction) -> SentAndReceivedValues? {

BDKSwiftExampleWallet/View Model/Activity/TransactionListViewModel.swift

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,14 @@ import Foundation
1212
@Observable
1313
class TransactionListViewModel {
1414
let bdkClient: BDKClient
15-
let keyClient: KeyClient
1615

1716
var showingWalletTransactionsViewErrorAlert = false
1817
var walletTransactionsViewError: AppError?
1918

2019
init(
21-
bdkClient: BDKClient = .live,
22-
keyClient: KeyClient = .live
20+
bdkClient: BDKClient = .live
2321
) {
2422
self.bdkClient = bdkClient
25-
self.keyClient = keyClient
2623
}
2724

2825
func getSentAndReceived(tx: BitcoinDevKit.Transaction) -> SentAndReceivedValues? {
@@ -39,12 +36,12 @@ class TransactionListViewModel {
3936
}
4037

4138
func getEsploraURL() -> String? {
42-
let savedEsploraURL = try? keyClient.getEsploraURL()
39+
let savedEsploraURL = bdkClient.getEsploraURL() //try? keyClient.getEsploraURL()
4340
return savedEsploraURL
4441
}
4542

4643
func getNetwork() -> String? {
47-
let savedNetwork = try? keyClient.getNetwork()
44+
let savedNetwork = bdkClient.getNetwork().description //try? keyClient.getNetwork()
4845
return savedNetwork
4946
}
5047

BDKSwiftExampleWallet/View Model/OnboardingViewModel.swift

Lines changed: 79 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import SwiftUI
1414
// Feature or Bug?
1515
class OnboardingViewModel: ObservableObject {
1616
let bdkClient: BDKClient
17-
let keyClient: KeyClient
1817

1918
@AppStorage("isOnboarding") var isOnboarding: Bool?
2019
@Published var createWithPersistError: CreateWithPersistError?
@@ -77,18 +76,18 @@ class OnboardingViewModel: ObservableObject {
7776
return Constants.Config.EsploraServerURLNetwork.Signet.allValues
7877
}
7978
}
80-
private func availableURLs(for network: Network) -> [String] {
81-
switch network {
82-
case .signet:
83-
return Constants.Config.EsploraServerURLNetwork.Signet.allValues
84-
case .testnet:
85-
return Constants.Config.EsploraServerURLNetwork.Testnet.allValues
86-
case .bitcoin:
87-
return Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues
88-
case .regtest:
89-
return Constants.Config.EsploraServerURLNetwork.Regtest.allValues
90-
}
91-
}
79+
// private func availableURLs(for network: Network) -> [String] {
80+
// switch network {
81+
// case .signet:
82+
// return Constants.Config.EsploraServerURLNetwork.Signet.allValues
83+
// case .testnet:
84+
// return Constants.Config.EsploraServerURLNetwork.Testnet.allValues
85+
// case .bitcoin:
86+
// return Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues
87+
// case .regtest:
88+
// return Constants.Config.EsploraServerURLNetwork.Regtest.allValues
89+
// }
90+
// }
9291
var buttonColor: Color {
9392
switch selectedNetwork {
9493
case .bitcoin:
@@ -146,70 +145,87 @@ class OnboardingViewModel: ObservableObject {
146145
// print("OnboardingViewModel: Initialized with network \(self.selectedNetwork) and URL \(self.selectedURL)")
147146
// }
148147

148+
// init(
149+
// bdkClient: BDKClient = .live,
150+
// keyClient: KeyClient = .live
151+
// ) {
152+
// self.bdkClient = bdkClient
153+
// self.keyClient = keyClient
154+
// print("OnboardingViewModel: Initializing")
155+
//
156+
// let currentNetwork = bdkClient.getNetwork()
157+
// let currentURL = bdkClient.getEsploraURL()
158+
//
159+
// // Set network
160+
// if let storedNetwork = try? keyClient.getNetwork().flatMap({ Network(stringValue: $0) }) {
161+
// self.selectedNetwork = storedNetwork
162+
// if storedNetwork != currentNetwork {
163+
// print(
164+
// "OnboardingViewModel: Network changed from \(currentNetwork) to \(storedNetwork)"
165+
// )
166+
// bdkClient.updateNetwork(storedNetwork)
167+
// } else {
168+
// print("OnboardingViewModel: Network unchanged: \(currentNetwork)")
169+
// }
170+
// } else {
171+
// self.selectedNetwork = currentNetwork
172+
// print("OnboardingViewModel: Using current network: \(currentNetwork)")
173+
// }
174+
//
175+
// // Set Esplora URL
176+
// if let storedURL = try? keyClient.getEsploraURL(),
177+
// isValidURL(storedURL, for: self.selectedNetwork)
178+
// {
179+
// self.selectedURL = storedURL
180+
// } else if isValidURL(currentURL, for: self.selectedNetwork) {
181+
// self.selectedURL = currentURL
182+
// } else {
183+
// self.selectedURL = availableURLs(for: self.selectedNetwork).first ?? ""
184+
// }
185+
//
186+
// if self.selectedURL != currentURL {
187+
// print(
188+
// "OnboardingViewModel: Esplora URL changed from \(currentURL) to \(self.selectedURL)"
189+
// )
190+
// bdkClient.updateEsploraURL(self.selectedURL)
191+
// } else {
192+
// print("OnboardingViewModel: Esplora URL unchanged: \(self.selectedURL)")
193+
// }
194+
//
195+
// print(
196+
// "OnboardingViewModel: Initialized with network \(self.selectedNetwork) and URL \(self.selectedURL)"
197+
// )
198+
// }
199+
149200
init(
150-
bdkClient: BDKClient = .live,
151-
keyClient: KeyClient = .live
201+
bdkClient: BDKClient = .live
152202
) {
153203
self.bdkClient = bdkClient
154-
self.keyClient = keyClient
155204
print("OnboardingViewModel: Initializing")
156205

157206
let currentNetwork = bdkClient.getNetwork()
158207
let currentURL = bdkClient.getEsploraURL()
159208

160-
// Set network
161-
if let storedNetwork = try? keyClient.getNetwork().flatMap({ Network(stringValue: $0) }) {
162-
self.selectedNetwork = storedNetwork
163-
if storedNetwork != currentNetwork {
164-
print(
165-
"OnboardingViewModel: Network changed from \(currentNetwork) to \(storedNetwork)"
166-
)
167-
bdkClient.updateNetwork(storedNetwork)
168-
} else {
169-
print("OnboardingViewModel: Network unchanged: \(currentNetwork)")
170-
}
171-
} else {
172-
self.selectedNetwork = currentNetwork
173-
print("OnboardingViewModel: Using current network: \(currentNetwork)")
174-
}
175-
176-
// Set Esplora URL
177-
if let storedURL = try? keyClient.getEsploraURL(),
178-
isValidURL(storedURL, for: self.selectedNetwork)
179-
{
180-
self.selectedURL = storedURL
181-
} else if isValidURL(currentURL, for: self.selectedNetwork) {
182-
self.selectedURL = currentURL
183-
} else {
184-
self.selectedURL = availableURLs(for: self.selectedNetwork).first ?? ""
185-
}
186-
187-
if self.selectedURL != currentURL {
188-
print(
189-
"OnboardingViewModel: Esplora URL changed from \(currentURL) to \(self.selectedURL)"
190-
)
191-
bdkClient.updateEsploraURL(self.selectedURL)
192-
} else {
193-
print("OnboardingViewModel: Esplora URL unchanged: \(self.selectedURL)")
194-
}
209+
self.selectedNetwork = currentNetwork
210+
self.selectedURL = currentURL
195211

196212
print(
197213
"OnboardingViewModel: Initialized with network \(self.selectedNetwork) and URL \(self.selectedURL)"
198214
)
199215
}
200216

201-
private func isValidURL(_ url: String, for network: Network) -> Bool {
202-
switch network {
203-
case .signet:
204-
return Constants.Config.EsploraServerURLNetwork.Signet.allValues.contains(url)
205-
case .testnet:
206-
return Constants.Config.EsploraServerURLNetwork.Testnet.allValues.contains(url)
207-
case .bitcoin:
208-
return Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues.contains(url)
209-
case .regtest:
210-
return Constants.Config.EsploraServerURLNetwork.Regtest.allValues.contains(url)
211-
}
212-
}
217+
// private func isValidURL(_ url: String, for network: Network) -> Bool {
218+
// switch network {
219+
// case .signet:
220+
// return Constants.Config.EsploraServerURLNetwork.Signet.allValues.contains(url)
221+
// case .testnet:
222+
// return Constants.Config.EsploraServerURLNetwork.Testnet.allValues.contains(url)
223+
// case .bitcoin:
224+
// return Constants.Config.EsploraServerURLNetwork.Bitcoin.allValues.contains(url)
225+
// case .regtest:
226+
// return Constants.Config.EsploraServerURLNetwork.Regtest.allValues.contains(url)
227+
// }
228+
// }
213229

214230
func createWallet() {
215231
do {

BDKSwiftExampleWallet/View Model/Settings/SettingsViewModel.swift

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import SwiftUI
1111

1212
class SettingsViewModel: ObservableObject {
1313
let bdkClient: BDKClient
14-
let keyClient: KeyClient
1514

1615
@AppStorage("isOnboarding") var isOnboarding: Bool = true
1716
@Published var esploraURL: String?
@@ -22,18 +21,16 @@ class SettingsViewModel: ObservableObject {
2221
@Published var walletSyncState: WalletSyncState = .notStarted
2322

2423
init(
25-
bdkClient: BDKClient = .live,
26-
keyClient: KeyClient = .live
27-
) {
28-
self.bdkClient = bdkClient
29-
self.keyClient = keyClient
30-
print("SettingsViewModel: Initializing")
31-
self.network = bdkClient.getNetwork().description
32-
self.esploraURL = bdkClient.getEsploraURL()
33-
print(
34-
"SettingsViewModel: Initialized with network \(self.network ?? "nil") and URL \(self.esploraURL ?? "nil")"
35-
)
36-
}
24+
bdkClient: BDKClient = .live
25+
) {
26+
self.bdkClient = bdkClient
27+
print("SettingsViewModel: Initializing")
28+
self.network = bdkClient.getNetwork().description
29+
self.esploraURL = bdkClient.getEsploraURL()
30+
print(
31+
"SettingsViewModel: Initialized with network \(self.network ?? "nil") and URL \(self.esploraURL ?? "nil")"
32+
)
33+
}
3734

3835
func delete() {
3936
print("SettingsViewModel: Deleting wallet")

BDKSwiftExampleWallet/View/Activity/TransactionDetailView.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,10 @@ struct TransactionDetailView: View {
172172
#if DEBUG
173173
#Preview {
174174
TransactionDetailView(
175-
viewModel: .init(bdkClient: .mock, keyClient: .mock),
175+
viewModel: .init(
176+
bdkClient: .mock //,
177+
// keyClient: .mock
178+
),
176179
amount: UInt64(1_000_000),
177180
canonicalTx: .mock
178181
)

BDKSwiftExampleWallet/View/Activity/TransactionListView.swift

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ struct TransactionListView: View {
3838
let mutinyFaucetURL = URL(string: "https://faucet.mutinynet.com")
3939
let signetFaucetURL = URL(string: "https://signetfaucet.com")
4040

41-
if let mutinyFaucetURL, let signetFaucetURL,
41+
if let mutinyFaucetURL,
42+
let signetFaucetURL,
4243
viewModel.getNetwork() != Network.testnet.description
4344
{
4445

@@ -77,7 +78,10 @@ struct TransactionListView: View {
7778

7879
NavigationLink(
7980
destination: TransactionDetailView(
80-
viewModel: .init(bdkClient: .live, keyClient: .live),
81+
viewModel: .init(
82+
bdkClient: .live //,
83+
// keyClient: .live
84+
),
8185
amount: sentAndReceivedValues.sent.toSat() == 0
8286
? sentAndReceivedValues.received.toSat()
8387
: sentAndReceivedValues.sent.toSat()

BDKSwiftExampleWallet/View/Settings/SettingsView.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,11 @@ struct SettingsView: View {
144144

145145
#if DEBUG
146146
#Preview {
147-
SettingsView(viewModel: .init(bdkClient: .mock, keyClient: .mock))
147+
SettingsView(
148+
viewModel: .init(
149+
bdkClient: .mock //,
150+
// keyClient: .mock
151+
)
152+
)
148153
}
149154
#endif

0 commit comments

Comments
 (0)