taler-ios

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

commit 0a202c0b93b14247852add3bdc032afb370076d8
parent 8e586b60022e3682d49c4e259917f3b847f1e4cb
Author: Marc Stibane <marc@taler.net>
Date:   Sun, 15 Jun 2025 09:41:38 +0200

bankComplianceLanguage

Diffstat:
MTalerWallet1/Model/Model+Exchange.swift | 24++++++++++++++++++++++++
1 file changed, 24 insertions(+), 0 deletions(-)

diff --git a/TalerWallet1/Model/Model+Exchange.swift b/TalerWallet1/Model/Model+Exchange.swift @@ -47,6 +47,21 @@ struct ExchangeTransition: Codable { // Notification var oldExchangeState: ExchangeState var newExchangeState: ExchangeState } + +enum BankDialect: Codable, Hashable { + case gls + case unknown(value: String) + + init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + let status = try? container.decode(String.self) + switch status { + case "gls": self = .gls + default: + self = .unknown(value: status ?? "unknown") + } + } +} // MARK: - /// The result from wallet-core's ListExchanges struct Exchange: Codable, Hashable, Identifiable { @@ -73,9 +88,18 @@ struct Exchange: Codable, Hashable, Identifiable { var peerPaymentsDisabled: Bool? var noFees: Bool? var ageRestrictionOptions: [Int] + var bankComplianceLanguage: BankDialect? var lastUpdateTimestamp: Timestamp? var lastUpdateErrorInfo: ExchangeError? +// walletKycStatus?: ExchangeWalletKycStatus; +// walletKycReservePub?: string; +// walletKycAccessToken?: string; +// walletKycUrl?: string; + + /** Threshold that we've requested to satisfy. */ +// walletKycRequestedThreshold?: string; + var id: String { exchangeBaseUrl + tosStatus.rawValue } var name: String? { if let url = URL(string: exchangeBaseUrl) {