From e50a79f72adb828d01b635fe075d1fc96cacf7d9 Mon Sep 17 00:00:00 2001 From: drkgry Date: Fri, 29 Aug 2025 09:55:54 +0200 Subject: [PATCH 1/3] Updating valid currencies --- .../Providers/ExchangeRateProviders/ExchangeRateProvider.cs | 2 +- .../UnitTests/StandaloneTests/ExchangeRateProviderTests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs b/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs index c0cbf6912b..08292d1c78 100644 --- a/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs +++ b/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs @@ -18,7 +18,7 @@ public record ExchangeRate(string Symbol, decimal Value, DateTimeOffset LastUpda public abstract class ExchangeRateProvider { // There can be some extra, already replaced currencies in the CultureInfo data that we need to remove manually. - private static readonly SortedSet ExcludeCurrencies = ["HRK", "SLL"]; + private static readonly SortedSet ExcludeCurrencies = ["HRK", "SLL", "ANG"]; // Same, but missing ones private static readonly SortedSet MissingCurrencies = ["MVR", "SLE", "VED", "VES"]; diff --git a/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs b/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs index 2f4c5f7c0b..6336eff662 100644 --- a/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs +++ b/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs @@ -85,7 +85,7 @@ private async Task TestProviderAsync(ExchangeRateProvider provider, bool tor = t private void ValidCurrencyTest() { // 150+ currencies - string[] expected = ["AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLE", "SOS", "SRD", "SSP", "STN", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VED", "VES", "VND", "VUV", "WST", "XAF", "XCD", "XOF", "XPF", "YER", "ZAR", "ZMW"]; + string[] expected = ["AED", "AFN", "ALL", "AMD", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLE", "SOS", "SRD", "SSP", "STN", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VED", "VES", "VND", "VUV", "WST", "XAF", "XCD", "XOF", "XPF", "YER", "ZAR", "ZMW"]; Assert.Equal(expected, ExchangeRateProvider.ValidCurrencies); } From cfdf36991a28e3f57fe18e844adfd2d2ce3797ce Mon Sep 17 00:00:00 2001 From: drkgry Date: Fri, 29 Aug 2025 10:21:54 +0200 Subject: [PATCH 2/3] Adding XCG --- .../Providers/ExchangeRateProviders/ExchangeRateProvider.cs | 2 +- .../UnitTests/StandaloneTests/ExchangeRateProviderTests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs b/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs index 08292d1c78..5f1062319d 100644 --- a/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs +++ b/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs @@ -21,7 +21,7 @@ public abstract class ExchangeRateProvider private static readonly SortedSet ExcludeCurrencies = ["HRK", "SLL", "ANG"]; // Same, but missing ones - private static readonly SortedSet MissingCurrencies = ["MVR", "SLE", "VED", "VES"]; + private static readonly SortedSet MissingCurrencies = ["MVR", "SLE", "VED", "VES", "XCG"]; public static readonly ImmutableSortedSet ValidCurrencies = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Select(culture => new RegionInfo(culture.Name).ISOCurrencySymbol).Where(x => x?.Length == 3 && !ExcludeCurrencies.Contains(x)).Concat(MissingCurrencies).ToImmutableSortedSet(); diff --git a/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs b/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs index 6336eff662..01662b883e 100644 --- a/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs +++ b/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs @@ -85,7 +85,7 @@ private async Task TestProviderAsync(ExchangeRateProvider provider, bool tor = t private void ValidCurrencyTest() { // 150+ currencies - string[] expected = ["AED", "AFN", "ALL", "AMD", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLE", "SOS", "SRD", "SSP", "STN", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VED", "VES", "VND", "VUV", "WST", "XAF", "XCD", "XOF", "XPF", "YER", "ZAR", "ZMW"]; + string[] expected = ["AED", "AFN", "ALL", "AMD", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLE", "SOS", "SRD", "SSP", "STN", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VED", "VES", "VND", "VUV", "WST", "XAF", "XCD", "XCG", "XOF", "XPF", "YER", "ZAR", "ZMW"]; Assert.Equal(expected, ExchangeRateProvider.ValidCurrencies); } From b913cb3e433a7c62281031500fedaf95d4087910 Mon Sep 17 00:00:00 2001 From: drkgry Date: Fri, 29 Aug 2025 10:43:02 +0200 Subject: [PATCH 3/3] Adding ZWG --- .../Providers/ExchangeRateProviders/ExchangeRateProvider.cs | 2 +- .../UnitTests/StandaloneTests/ExchangeRateProviderTests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs b/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs index 5f1062319d..c954a805e2 100644 --- a/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs +++ b/GingerCommon/Providers/ExchangeRateProviders/ExchangeRateProvider.cs @@ -21,7 +21,7 @@ public abstract class ExchangeRateProvider private static readonly SortedSet ExcludeCurrencies = ["HRK", "SLL", "ANG"]; // Same, but missing ones - private static readonly SortedSet MissingCurrencies = ["MVR", "SLE", "VED", "VES", "XCG"]; + private static readonly SortedSet MissingCurrencies = ["MVR", "SLE", "VED", "VES", "XCG", "ZWG"]; public static readonly ImmutableSortedSet ValidCurrencies = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Select(culture => new RegionInfo(culture.Name).ISOCurrencySymbol).Where(x => x?.Length == 3 && !ExcludeCurrencies.Contains(x)).Concat(MissingCurrencies).ToImmutableSortedSet(); diff --git a/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs b/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs index 01662b883e..76ae609b14 100644 --- a/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs +++ b/WalletWasabi.Tests/UnitTests/StandaloneTests/ExchangeRateProviderTests.cs @@ -85,7 +85,7 @@ private async Task TestProviderAsync(ExchangeRateProvider provider, bool tor = t private void ValidCurrencyTest() { // 150+ currencies - string[] expected = ["AED", "AFN", "ALL", "AMD", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLE", "SOS", "SRD", "SSP", "STN", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VED", "VES", "VND", "VUV", "WST", "XAF", "XCD", "XCG", "XOF", "XPF", "YER", "ZAR", "ZMW"]; + string[] expected = ["AED", "AFN", "ALL", "AMD", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLE", "SOS", "SRD", "SSP", "STN", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VED", "VES", "VND", "VUV", "WST", "XAF", "XCD", "XCG", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZWG"]; Assert.Equal(expected, ExchangeRateProvider.ValidCurrencies); }