taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit bb0f7518c5c60a7cd3263476fdaedba26b7480ab
parent 1719c9f1523039f86e3ec189ae2dde384b15dbb9
Author: Marc Stibane <marc@taler.net>
Date:   Mon, 16 Sep 2024 13:27:18 +0200

InitiatePeerPushDebit gets scope

Diffstat:
MTalerWallet1/Model/Model+P2P.swift | 20++++++++++++--------
MTalerWallet1/Views/Peer2peer/P2PReadyV.swift | 5+++--
MTalerWallet1/Views/Peer2peer/P2PSubjectV.swift | 1+
MTalerWallet1/Views/Peer2peer/RequestPayment.swift | 2++
4 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/TalerWallet1/Model/Model+P2P.swift b/TalerWallet1/Model/Model+P2P.swift @@ -84,22 +84,26 @@ struct InitiatePeerPushDebitResponse: Codable { fileprivate struct InitiatePeerPushDebit: WalletBackendFormattedRequest { typealias Response = InitiatePeerPushDebitResponse func operation() -> String { "initiatePeerPushDebit" } - func args() -> Args { Args(exchangeBaseUrl: exchangeBaseUrl, - partialContractTerms: partialContractTerms) } + func args() -> Args { Args(//exchangeBaseUrl: baseURL, + restrictScope: scope, + partialContractTerms: terms) } - var exchangeBaseUrl: String? - var partialContractTerms: PeerContractTerms + var scope: ScopeInfo +// var baseURL: String? + var terms: PeerContractTerms struct Args: Encodable { - var exchangeBaseUrl: String? +// var exchangeBaseUrl: String? + var restrictScope: ScopeInfo var partialContractTerms: PeerContractTerms } } extension WalletModel { @MainActor // M for MainActor - func initiatePeerPushDebitM(_ baseURL: String?, terms: PeerContractTerms, viewHandles: Bool = false) + func initiatePeerPushDebitM(/*_ baseURL: String?,*/ scope: ScopeInfo, terms: PeerContractTerms, viewHandles: Bool = false) async throws -> InitiatePeerPushDebitResponse { - let request = InitiatePeerPushDebit(exchangeBaseUrl: baseURL, - partialContractTerms: terms) + let request = InitiatePeerPushDebit(//exchangeBaseUrl: baseURL, + scope: scope, + terms: terms) let response = try await sendRequest(request, ASYNCDELAY, viewHandles: viewHandles) return response } diff --git a/TalerWallet1/Views/Peer2peer/P2PReadyV.swift b/TalerWallet1/Views/Peer2peer/P2PReadyV.swift @@ -14,6 +14,7 @@ struct P2PReadyV: View { private let symLog = SymLogV(0) let stack: CallStack @Binding var currencyInfo: CurrencyInfo + let scope: ScopeInfo let summary: String let expireDays: UInt let outgoing: Bool @@ -66,7 +67,7 @@ struct P2PReadyV: View { #else let message: String? = nil #endif - LoadingView(scopeInfo: nil, message: message) + LoadingView(scopeInfo: scope, message: message) } } .navigationTitle(navTitle) @@ -93,7 +94,7 @@ struct P2PReadyV: View { purse_expiration: timestamp) if outgoing { // TODO: let user choose baseURL - if let response = try? await model.initiatePeerPushDebitM(nil, terms: terms) { + if let response = try? await model.initiatePeerPushDebitM(scope: scope, terms: terms) { // will switch from WithdrawProgressView to TransactionSummaryV transactionId = response.transactionId } diff --git a/TalerWallet1/Views/Peer2peer/P2PSubjectV.swift b/TalerWallet1/Views/Peer2peer/P2PSubjectV.swift @@ -115,6 +115,7 @@ struct P2PSubjectV: View { NavigationLink(destination: LazyView { P2PReadyV(stack: stack.push(), currencyInfo: $currencyInfo, + scope: scope, summary: summary, expireDays: expireDays, outgoing: outgoing, diff --git a/TalerWallet1/Views/Peer2peer/RequestPayment.swift b/TalerWallet1/Views/Peer2peer/RequestPayment.swift @@ -108,6 +108,7 @@ struct RequestPayment: View { let inputDestination = LazyView { P2PSubjectV(stack: stack.push(), + scope: scopeInfo, currencyInfo: $currencyInfo, feeLabel: coinData.feeLabel(currencyInfo, feeZero: String(localized: "No payment fee"), @@ -120,6 +121,7 @@ struct RequestPayment: View { } let shortcutDestination = LazyView { P2PSubjectV(stack: stack.push(), + scope: scopeInfo, currencyInfo: $currencyInfo, feeLabel: nil, feeIsNotZero: feeIsNotZero(),