From ab647cf427c75fcdced40c9996a688c94bda8eaf Mon Sep 17 00:00:00 2001 From: Aswini Date: Thu, 6 Feb 2025 13:39:46 -0800 Subject: [PATCH 01/10] Changed carfile with new version. select default currency code. --- Cartfile | 2 +- .../SelectTransferMethodTypePresenter.swift | 39 +++++++++++++++---- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/Cartfile b/Cartfile index 828fb1c5..f8de04bb 100644 --- a/Cartfile +++ b/Cartfile @@ -1,2 +1,2 @@ -github "hyperwallet/hyperwallet-ios-sdk" "1.0.0-beta20" +github "hyperwallet/hyperwallet-ios-sdk" "1.0.1" github "hyperwallet/hyperwallet-ios-insight" "1.0.0-beta08" diff --git a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift index 7b25ed10..8f9aee00 100644 --- a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift +++ b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift @@ -302,22 +302,47 @@ final class SelectTransferMethodTypePresenter { private func loadSelectedCountry(_ countries: [HyperwalletCountry], with userCountry: String?) { + var defaultCurrencyCode: String? if let userCountry = userCountry, countries.contains(where: { $0.value == userCountry }) { selectedCountry = userCountry } else if let country = countries.first, let countryValue = country.value { selectedCountry = countryValue } + if !selectedCountry.isEmpty{ + if let country = countries.first(where: { $0.code == selectedCountry }) { + defaultCurrencyCode = country.defaultCurrencyCode + } + } } private func loadCurrency(_ keys: HyperwalletTransferMethodConfigurationKey?) { - guard let firstCurrency = keys?.currencies(from: selectedCountry)?.first, - let currencyCode = firstCurrency.code else { - view?.showAlert(message: String(format: "no_currency_available_error_message".localized(), selectedCountry)) - return + guard let countries = keys?.countries(), + let country = countries.first(where: { $0.code == selectedCountry }) else { + // Handle the case when country is not found + let errorMessage = String(format: "no_country_found_error_message".localized(), selectedCountry ?? "Unknown Country") + view?.showAlert(message: errorMessage) + return + } + // Check if the country has a defaultCurrencyCode + if let defaultCurrencyCode = country.defaultCurrencyCode { + // If the defaultCurrencyCode exists, use it + selectedCurrency = defaultCurrencyCode + } else { + // If the defaultCurrencyCode is nil, fall back to the first currency in the currencyList + if let firstCurrency = keys?.currencies(from: selectedCountry)?.first, + let currencyCode = firstCurrency.code { + selectedCurrency = currencyCode + } else { + // Show an alert if no currency is found + let errorMessage = String(format: "no_currency_available_error_message".localized(), selectedCountry ?? "Unknown Country") + view?.showAlert(message: errorMessage) + return + } + } + + // Reload the view with the updated currency data + view?.reloadCountryCurrencyData() } - selectedCurrency = currencyCode - view?.reloadCountryCurrencyData() - } private func loadTransferMethodTypesFeesAndProcessingTimes( _ transferMethodTypes: [HyperwalletTransferMethodType]?) { From 62b90a6acc60c6c71b02836ae5869a3d81918fab Mon Sep 17 00:00:00 2001 From: Aswini Date: Fri, 7 Feb 2025 14:52:05 -0800 Subject: [PATCH 02/10] addressed review comments. Used existing Locale for error message. --- .../Sources/SelectTransferMethodTypePresenter.swift | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift index 8f9aee00..439a0b7e 100644 --- a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift +++ b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift @@ -302,24 +302,18 @@ final class SelectTransferMethodTypePresenter { private func loadSelectedCountry(_ countries: [HyperwalletCountry], with userCountry: String?) { - var defaultCurrencyCode: String? if let userCountry = userCountry, countries.contains(where: { $0.value == userCountry }) { selectedCountry = userCountry } else if let country = countries.first, let countryValue = country.value { selectedCountry = countryValue } - if !selectedCountry.isEmpty{ - if let country = countries.first(where: { $0.code == selectedCountry }) { - defaultCurrencyCode = country.defaultCurrencyCode - } - } } private func loadCurrency(_ keys: HyperwalletTransferMethodConfigurationKey?) { guard let countries = keys?.countries(), let country = countries.first(where: { $0.code == selectedCountry }) else { // Handle the case when country is not found - let errorMessage = String(format: "no_country_found_error_message".localized(), selectedCountry ?? "Unknown Country") + let errorMessage = String(format: "no_country_available_error_message".localized(), selectedCountry ?? "Unknown Country") view?.showAlert(message: errorMessage) return } From e50ed307987301ef78231ce704a46b521dca8518 Mon Sep 17 00:00:00 2001 From: Gustavo Meyer Date: Tue, 11 Feb 2025 12:09:02 -0500 Subject: [PATCH 03/10] Update Cartfile --- Cartfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cartfile b/Cartfile index f8de04bb..9ddfc674 100644 --- a/Cartfile +++ b/Cartfile @@ -1,2 +1,2 @@ -github "hyperwallet/hyperwallet-ios-sdk" "1.0.1" +github "hyperwallet/hyperwallet-ios-sdk" "755b2c0508702abb6edefc40aa27de8f8e2f67cb" github "hyperwallet/hyperwallet-ios-insight" "1.0.0-beta08" From 49a7b9de4c7f110ab3bcd69891d20c380b4709b5 Mon Sep 17 00:00:00 2001 From: Gustavo Meyer Date: Tue, 11 Feb 2025 12:13:32 -0500 Subject: [PATCH 04/10] DTPOMERSER-1275 Update core-sdk version --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index 9ddfc674..f8de04bb 100644 --- a/Cartfile +++ b/Cartfile @@ -1,2 +1,2 @@ -github "hyperwallet/hyperwallet-ios-sdk" "755b2c0508702abb6edefc40aa27de8f8e2f67cb" +github "hyperwallet/hyperwallet-ios-sdk" "1.0.1" github "hyperwallet/hyperwallet-ios-insight" "1.0.0-beta08" diff --git a/Cartfile.resolved b/Cartfile.resolved index 204eb82b..79ccd112 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,4 +1,4 @@ github "JanGorman/Hippolyte" "1.4.1" github "httpswift/swifter" "1.5.0" github "hyperwallet/hyperwallet-ios-insight" "1.0.0-beta08" -github "hyperwallet/hyperwallet-ios-sdk" "1.0.0-beta20" +github "hyperwallet/hyperwallet-ios-sdk" "1.0.1" From 56c532cfc822e2ff32f6100dcb930f3dd6ffc348 Mon Sep 17 00:00:00 2001 From: Aswini Date: Tue, 11 Feb 2025 15:11:57 -0800 Subject: [PATCH 05/10] created new method to get default currency. Used that method in already existing method to avoid if and else conditions. --- .../SelectTransferMethodTypePresenter.swift | 155 +++++++++--------- 1 file changed, 80 insertions(+), 75 deletions(-) diff --git a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift index 439a0b7e..6b40cfb5 100644 --- a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift +++ b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift @@ -64,31 +64,31 @@ final class SelectTransferMethodTypePresenter { private let linkTransferMethod = "select-transfer-method" private var selectedTransferMethodType = "" private var hyperwalletInsights: HyperwalletInsightsProtocol - + private lazy var transferMethodConfigurationRepository = { TransferMethodRepositoryFactory.shared.transferMethodConfigurationRepository() }() - + private lazy var userRepository: UserRepository = { UserRepositoryFactory.shared.userRepository() }() - + private(set) var sectionData = [HyperwalletTransferMethodType]() - + /// Initialize SelectTransferMethodPresenter init(_ view: SelectTransferMethodTypeView, _ hyperwalletInsights: HyperwalletInsightsProtocol = HyperwalletInsights.shared) { self.view = view self.hyperwalletInsights = hyperwalletInsights } - + /// Return the countryCurrency item composed by the tuple (title and value) func getCountryCurrencyConfiguration(indexPath: IndexPath) -> CountryCurrencyCellConfiguration { let title = countryCurrencySectionData[indexPath.row] return CountryCurrencyCellConfiguration(title: title.localized(), value: countryCurrencyValues(at: indexPath.row)) } - + /// Display all the select Country or Currency based on the index func performShowSelectCountryOrCurrencyView(index: Int) { transferMethodConfigurationRepository.getKeys(completion: self.getKeysHandler( @@ -100,18 +100,18 @@ final class SelectTransferMethodTypePresenter { } })) } - + /// Loads the transferMethodKeys from core SDK and display the default transfer methods /// /// - Parameter forceUpdate: Forces to refresh the data func loadTransferMethodKeys(_ forceUpdate: Bool = false) { view?.showLoading() - + if forceUpdate { userRepository.refreshUser() transferMethodConfigurationRepository.refreshKeys() } - + userRepository.getUser { [weak self] getUserResult in guard let strongSelf = self, let view = strongSelf.view else { return @@ -124,7 +124,7 @@ final class SelectTransferMethodTypePresenter { pageGroup: strongSelf.pageGroup) { strongSelf.loadTransferMethodKeys() } - + case .success(let user): strongSelf.transferMethodConfigurationRepository .getKeys(completion: strongSelf.getKeysHandler( @@ -148,11 +148,11 @@ final class SelectTransferMethodTypePresenter { view.hideLoading() strongSelf.loadTransferMethodKeys() }) - ) + ) } } } - + /// Navigate to AddTransferMethodController func navigateToAddTransferMethod(_ index: Int) { if let transferMethodTypeCode = self.sectionData[index].code { @@ -163,45 +163,45 @@ final class SelectTransferMethodTypePresenter { guard let strongSelf = self else { return } - + if case let .success(user) = getUserResult, - let profileType = user?.profileType?.rawValue { + let profileType = user?.profileType?.rawValue { strongSelf.view? .navigateToAddTransferMethodController( country: strongSelf.selectedCountry, currency: strongSelf.selectedCurrency, profileType: profileType, transferMethodTypeCode: strongSelf.selectedTransferMethodType - ) + ) } } } - + private func countryCurrencyValues(at index: Int) -> String { return (index == 0 - ? Locale.current.localizedString(forRegionCode: selectedCountry) ?? selectedCountry - : selectedCurrency) + ? Locale.current.localizedString(forRegionCode: selectedCountry) ?? selectedCountry + : selectedCurrency) } - + private func getKeysHandler( success: @escaping ((HyperwalletTransferMethodConfigurationKey?) -> Void), failure: (() -> Void)? = nil) - -> (Result) -> Void { + -> (Result) -> Void { return { [weak self] (result) in guard let strongSelf = self, let view = strongSelf.view else { return } - + switch result { case .failure(let error): view.showError(error, pageName: strongSelf.pageName, pageGroup: strongSelf.pageGroup, failure) - + case .success(let keyResult): success(keyResult) } } } - + /// Shows the Select Country View private func showSelectCountryView(_ countries: [GenericCellConfiguration]?) { if let countries = countries { @@ -212,7 +212,7 @@ final class SelectTransferMethodTypePresenter { filterContentHandler: filterContentHandler()) } } - + /// Shows the Select Currency View private func showSelectCurrencyView(_ currencies: [GenericCellConfiguration]?) { if let currencies = currencies { @@ -223,7 +223,7 @@ final class SelectTransferMethodTypePresenter { filterContentHandler: filterContentHandler()) } } - + private func selectCountryHandler() -> SelectTransferMethodTypeView.SelectItemHandler { return { (country) in if let country = country.value { @@ -240,7 +240,7 @@ final class SelectTransferMethodTypePresenter { })) } } - + private func selectCurrencyHandler() -> SelectTransferMethodTypeView.SelectItemHandler { return { [weak self](currency) in guard let strongSelf = self @@ -259,47 +259,47 @@ final class SelectTransferMethodTypePresenter { private func retrieveTransferMethodTypesFeesAndProcessingTimes( completion: @escaping ([HyperwalletTransferMethodType]?) -> Void) { - transferMethodConfigurationRepository - .getTransferMethodTypesFeesAndProcessingTimes(country: selectedCountry, - currency: selectedCurrency) { [weak self] (result) in - guard let strongSelf = self, let view = strongSelf.view else { - return - } - view.hideLoading() - switch result { - case .failure(let error): - view.showError(error, pageName: strongSelf.pageName, pageGroup: strongSelf.pageGroup) { - strongSelf.loadTransferMethodKeys() + transferMethodConfigurationRepository + .getTransferMethodTypesFeesAndProcessingTimes(country: selectedCountry, + currency: selectedCurrency) { [weak self] (result) in + guard let strongSelf = self, let view = strongSelf.view else { + return + } + view.hideLoading() + switch result { + case .failure(let error): + view.showError(error, pageName: strongSelf.pageName, pageGroup: strongSelf.pageGroup) { + strongSelf.loadTransferMethodKeys() + } + + case .success(let keyResult): + completion(keyResult?.transferMethodTypes(countryCode: strongSelf.selectedCountry, + currencyCode: strongSelf.selectedCurrency)) } - - case .success(let keyResult): - completion(keyResult?.transferMethodTypes(countryCode: strongSelf.selectedCountry, - currencyCode: strongSelf.selectedCurrency)) } - } - } - + } + private func filterContentHandler() -> SelectTransferMethodTypeView.FilterContentHandler { return {(items, searchText) in items.filter { $0.title?.lowercased().contains(searchText.lowercased()) ?? false || - $0.value?.lowercased().contains(searchText.lowercased()) ?? false + $0.value?.lowercased().contains(searchText.lowercased()) ?? false } } } - + private func countryMarkCellHandler() -> SelectTransferMethodTypeView.MarkCellHandler { return { [weak self] item in self?.selectedCountry == item.value } } - + private func currencyMarkCellHandler() -> SelectTransferMethodTypeView.MarkCellHandler { return { [weak self] item in self?.selectedCurrency == item.value } } - + private func loadSelectedCountry(_ countries: [HyperwalletCountry], with userCountry: String?) { if let userCountry = userCountry, countries.contains(where: { $0.value == userCountry }) { @@ -308,36 +308,41 @@ final class SelectTransferMethodTypePresenter { selectedCountry = countryValue } } - + private func loadCurrency(_ keys: HyperwalletTransferMethodConfigurationKey?) { guard let countries = keys?.countries(), - let country = countries.first(where: { $0.code == selectedCountry }) else { - // Handle the case when country is not found - let errorMessage = String(format: "no_country_available_error_message".localized(), selectedCountry ?? "Unknown Country") - view?.showAlert(message: errorMessage) - return - } - // Check if the country has a defaultCurrencyCode - if let defaultCurrencyCode = country.defaultCurrencyCode { - // If the defaultCurrencyCode exists, use it - selectedCurrency = defaultCurrencyCode - } else { - // If the defaultCurrencyCode is nil, fall back to the first currency in the currencyList - if let firstCurrency = keys?.currencies(from: selectedCountry)?.first, - let currencyCode = firstCurrency.code { - selectedCurrency = currencyCode - } else { - // Show an alert if no currency is found - let errorMessage = String(format: "no_currency_available_error_message".localized(), selectedCountry ?? "Unknown Country") - view?.showAlert(message: errorMessage) - return - } - } - - // Reload the view with the updated currency data - view?.reloadCountryCurrencyData() + let country = countries.first(where: { $0.code == selectedCountry }), + let currencyCode = getCurrencyCode(country, keys) else { + // Handle the case when country is not found + view?.showAlert(message: + String(format: "no_country_available_error_message".localized(), selectedCountry)) + return } - + + // Define selected currency + selectedCurrency = currencyCode + + // Reload the view with the updated currency data + view?.reloadCountryCurrencyData() + } + + private func getCurrencyCode(_ country: HyperwalletCountry, + _ keys: HyperwalletTransferMethodConfigurationKey?) -> String? { + if let defaultCurrencyCode = country.defaultCurrencyCode, + let defaultCurrency = keys?.currencies(from: selectedCountry)? + .contains(where: { $0.code == defaultCurrencyCode }) { + // retun the country's default currency, if it present on the currency list + return defaultCurrencyCode + } + // If no default currency found, return the first currency if available + if let currencies = keys?.currencies(from: selectedCountry), !currencies.isEmpty { + return currencies.first?.code + } + // Handle the error when no currencies are found + let errorMessage = String(format: "no_currency_available_error_message".localized(), selectedCountry) + return nil + } + private func loadTransferMethodTypesFeesAndProcessingTimes( _ transferMethodTypes: [HyperwalletTransferMethodType]?) { guard let transferMethodTypes = transferMethodTypes, From 31ff7fb7da7183d61e8f8a98ed948d40b2801d85 Mon Sep 17 00:00:00 2001 From: Aswini Date: Tue, 11 Feb 2025 16:17:09 -0800 Subject: [PATCH 06/10] updated error message. --- TransferMethod/Sources/SelectTransferMethodTypePresenter.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift index 6b40cfb5..5cb97c00 100644 --- a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift +++ b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift @@ -315,7 +315,7 @@ final class SelectTransferMethodTypePresenter { let currencyCode = getCurrencyCode(country, keys) else { // Handle the case when country is not found view?.showAlert(message: - String(format: "no_country_available_error_message".localized(), selectedCountry)) + String(format: "no_currency_available_error_message".localized(), selectedCountry)) return } From 4495028a6452fde7a3d8acf012581e605976bea0 Mon Sep 17 00:00:00 2001 From: Gustavo Meyer Date: Wed, 12 Feb 2025 10:20:01 -0500 Subject: [PATCH 07/10] Address lint error --- .../Sources/SelectTransferMethodTypePresenter.swift | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift index 5cb97c00..99a24c7c 100644 --- a/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift +++ b/TransferMethod/Sources/SelectTransferMethodTypePresenter.swift @@ -330,17 +330,12 @@ final class SelectTransferMethodTypePresenter { _ keys: HyperwalletTransferMethodConfigurationKey?) -> String? { if let defaultCurrencyCode = country.defaultCurrencyCode, let defaultCurrency = keys?.currencies(from: selectedCountry)? - .contains(where: { $0.code == defaultCurrencyCode }) { + .first(where: { $0.code == defaultCurrencyCode }) { // retun the country's default currency, if it present on the currency list - return defaultCurrencyCode + return defaultCurrency.code } - // If no default currency found, return the first currency if available - if let currencies = keys?.currencies(from: selectedCountry), !currencies.isEmpty { - return currencies.first?.code - } - // Handle the error when no currencies are found - let errorMessage = String(format: "no_currency_available_error_message".localized(), selectedCountry) - return nil + + return keys?.currencies(from: selectedCountry)?.first?.code } private func loadTransferMethodTypesFeesAndProcessingTimes( From a81a455aea0b128518a1a5d47f9ff419b685bdf0 Mon Sep 17 00:00:00 2001 From: Gustavo Meyer Date: Wed, 12 Feb 2025 11:00:03 -0500 Subject: [PATCH 08/10] Increase test coverage to test default currency code --- .../Responses/TransferMethodConfigurationKeysResponse.json | 1 + .../Tests/SelectTransferMethodTypePresenterTests.swift | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/TransferMethod/Tests/Responses/TransferMethodConfigurationKeysResponse.json b/TransferMethod/Tests/Responses/TransferMethodConfigurationKeysResponse.json index 41d1cb67..87aec0e7 100644 --- a/TransferMethod/Tests/Responses/TransferMethodConfigurationKeysResponse.json +++ b/TransferMethod/Tests/Responses/TransferMethodConfigurationKeysResponse.json @@ -190,6 +190,7 @@ { "code": "US", "name": "UNITED STATES", + "defaultCurrencyCode": "USD", "currencies": { "nodes": [ { diff --git a/TransferMethod/Tests/SelectTransferMethodTypePresenterTests.swift b/TransferMethod/Tests/SelectTransferMethodTypePresenterTests.swift index eb5889ca..540060a7 100644 --- a/TransferMethod/Tests/SelectTransferMethodTypePresenterTests.swift +++ b/TransferMethod/Tests/SelectTransferMethodTypePresenterTests.swift @@ -227,13 +227,13 @@ class SelectTransferMethodTypePresenterTests: XCTestCase { // Then XCTAssertEqual(presenter.selectedCountry, "US", "The country should be US") - XCTAssertEqual(presenter.selectedCurrency, "CAD", "The currency should be CAD") + XCTAssertEqual(presenter.selectedCurrency, "USD", "The currency should be CAD") XCTAssertTrue(mockView.isNavigateToAddTransferMethodControllerPerformed, "The navigateToAddTransferMethodControllerPerformed should be performed") XCTAssertEqual(mockView.profileType, "INDIVIDUAL", "The profileType should be INDIVIDUAL") XCTAssertEqual(presenter.countryCurrencySectionData.count, 2, "The countryCurrencyCount should be 2") - XCTAssertEqual(presenter.sectionData.count, 1, "The transferMethodTypesCount should be 1") + XCTAssertEqual(presenter.sectionData.count, 3, "The transferMethodTypesCount should be 3") XCTAssertTrue(hyperwalletInsightsMock.didTrackClick, "HyperwalletInsights.trackClick should be called") XCTAssertNotNil(presenter.getCountryCurrencyConfiguration(indexPath: indexPath), "The country currency cell configuration should not be nil") From d5748fa9bf3c5c24ee911bc0feff365db9425667 Mon Sep 17 00:00:00 2001 From: Gustavo Meyer Date: Wed, 12 Feb 2025 11:02:01 -0500 Subject: [PATCH 09/10] Update readme --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ab854d87..ae7256cc 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Adding one or more of these frameworks allows users to explore the particular fu ### Carthage Specify it in your Cartfile: ```ogdl -github "hyperwallet/hyperwallet-ios-ui-sdk" "1.0.0-beta21" +github "hyperwallet/hyperwallet-ios-ui-sdk" "1.0.1" ``` Add desired modules using the `Linked Frameworks and Libraries` option to make them available in the app. Use `import ` to add the dependency within a file @@ -42,13 +42,13 @@ Use `import ` to add the dependency within a file ### CocoaPods - Install a specific framework (install one or more frameworks based on your requirement) ```ruby -pod "HyperwalletUISDK/TransferMethod", "1.0.0-beta21" -pod "HyperwalletUISDK/Transfer", "1.0.0-beta21" -pod "HyperwalletUISDK/Receipt", "1.0.0-beta21" +pod "HyperwalletUISDK/TransferMethod", "1.0.1" +pod "HyperwalletUISDK/Transfer", "1.0.1" +pod "HyperwalletUISDK/Receipt", "1.0.1" ``` - To install all available modules (TransferMethod, Transfer, Receipt) ```ruby -pod 'HyperwalletUISDK', '~> 1.0.0-beta21' +pod 'HyperwalletUISDK', '~> 1.0.1' ``` Use `import HyperwalletUISDK` to add the dependency within a file. From 5252d2535592ed50ffe3f75f24d190df32dc9909 Mon Sep 17 00:00:00 2001 From: Gustavo Meyer Date: Wed, 12 Feb 2025 11:04:25 -0500 Subject: [PATCH 10/10] Update changlog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07e85cfb..9195c7e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ Changelog ========= +[1.0.1](https://github.com/hyperwallet/hyperwallet-ios-ui-sdk/releases/tag/1.0.0-beta21) +------------------- +- Automatically select the default currency code based on the country's configuration + [1.0.0-beta21](https://github.com/hyperwallet/hyperwallet-ios-ui-sdk/releases/tag/1.0.0-beta21) ------------------- - Update privacy manifest