commit bb0f7518c5c60a7cd3263476fdaedba26b7480ab
parent 1719c9f1523039f86e3ec189ae2dde384b15dbb9
Author: Marc Stibane <marc@taler.net>
Date: Mon, 16 Sep 2024 13:27:18 +0200
InitiatePeerPushDebit gets scope
Diffstat:
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(),