diff --git a/web/cashtab/src/components/Common/Ticker.js b/web/cashtab/src/components/Common/Ticker.js
--- a/web/cashtab/src/components/Common/Ticker.js
+++ b/web/cashtab/src/components/Common/Ticker.js
@@ -25,12 +25,37 @@
txHistoryCount: 5,
hydrateUtxoBatchSize: 20,
defaultSettings: { fiatCurrency: 'usd' },
- settingsValidation: { fiatCurrency: ['usd', 'idr', 'krw', 'cny'] },
+ settingsValidation: {
+ fiatCurrency: [
+ 'usd',
+ 'idr',
+ 'krw',
+ 'cny',
+ 'zar',
+ 'vnd',
+ 'cad',
+ 'nok',
+ 'eur',
+ 'gbp',
+ 'jpy',
+ 'try',
+ 'rub',
+ ],
+ },
fiatCurrencies: {
usd: { name: 'US Dollar', symbol: '$', slug: 'usd' },
+ gbp: { name: 'British Pound', symbol: '£', slug: 'gbp' },
+ cad: { name: 'Canadian Dollar', symbol: '$', slug: 'cad' },
+ cny: { name: 'Chinese Yuan', symbol: '元', slug: 'cny' },
+ eur: { name: 'Euro', symbol: '€', slug: 'eur' },
idr: { name: 'Indonesian Rupiah', symbol: 'Rp', slug: 'idr' },
+ jpy: { name: 'Japanese Yen', symbol: '¥', slug: 'jpy' },
krw: { name: 'Korean Won', symbol: '₩', slug: 'krw' },
- cny: { name: 'Chinese Yuan', symbol: '元', slug: 'cny' },
+ nok: { name: 'Norwegian Krone', symbol: 'kr', slug: 'nok' },
+ rub: { name: 'Russian Ruble', symbol: 'р.', slug: 'rub' },
+ zar: { name: 'South African Rand', symbol: 'R', slug: 'zar' },
+ try: { name: 'Turkish Lira', symbol: '₺', slug: 'try' },
+ vnd: { name: 'Vietnamese đồng', symbol: 'đ', slug: 'vnd' },
},
};
diff --git a/web/cashtab/src/components/Send/Send.js b/web/cashtab/src/components/Send/Send.js
--- a/web/cashtab/src/components/Send/Send.js
+++ b/web/cashtab/src/components/Send/Send.js
@@ -504,8 +504,11 @@
>
{priceApiError && (
- Error fetching fiat price. Setting send by
- USD disabled
+ Error fetching fiat price. Setting send by{' '}
+ {currency.fiatCurrencies[
+ cashtabSettings.fiatCurrency
+ ].slug.toUpperCase()}{' '}
+ disabled
)}
diff --git a/web/cashtab/src/hooks/useWallet.js b/web/cashtab/src/hooks/useWallet.js
--- a/web/cashtab/src/hooks/useWallet.js
+++ b/web/cashtab/src/hooks/useWallet.js
@@ -1339,15 +1339,8 @@
//console.log(`bchPriceJson`, bchPriceJson);
let bchPriceInFiat = bchPriceJson[cryptoId][fiatCode] / 1e6;
- // Error handling here
- // Temp condition until price API has supported rebrand
- // If eCash price is > 1, throw error
- // If eCash price is < 0.0000001, throw error
- // At BCHA price of $33, 1 XEC = 0.000033
- // 0.000033
- // 0.0000001 <== so if price is less than this, it's dividing an already correct price by 1,000,000
- const validEcashPrice =
- bchPriceInFiat < 1 && bchPriceInFiat > 0.0000001;
+ const validEcashPrice = typeof bchPriceInFiat === 'number';
+
if (validEcashPrice) {
setFiatPrice(bchPriceInFiat);
} else {
diff --git a/web/cashtab/src/utils/__tests__/validation.test.js b/web/cashtab/src/utils/__tests__/validation.test.js
--- a/web/cashtab/src/utils/__tests__/validation.test.js
+++ b/web/cashtab/src/utils/__tests__/validation.test.js
@@ -218,7 +218,7 @@
expect(isValidCashtabSettings({ fiatCurrency: 'usd' })).toBe(true);
});
it(`Rejects a cashtab settings object for an unsupported currency`, () => {
- expect(isValidCashtabSettings({ fiatCurrency: 'jpy' })).toBe(false);
+ expect(isValidCashtabSettings({ fiatCurrency: 'xau' })).toBe(false);
});
it(`Rejects a corrupted cashtab settings object for an unsupported currency`, () => {
expect(isValidCashtabSettings({ fiatCurrencyWrongLabel: 'usd' })).toBe(