From 297a3d76fb48ddd59793c176fc3388d7c28ca14f Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 6 May 2025 09:45:39 +0100 Subject: [PATCH] fix: forex on EUR default exchanges --- lib/forex.js | 12 ++++++------ lib/plugins/ticker/ccxt.js | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/forex.js b/lib/forex.js index 011eb2e4..ddee4008 100644 --- a/lib/forex.js +++ b/lib/forex.js @@ -11,19 +11,19 @@ const API_QUEUE = [ { api: getCoinCapFxRate, name: 'coincap', fiatCodeProperty: 'symbol', rateProperty: 'rateUsd' } ] -function getBitPayFxRate (fiatCode, fiatCodeProperty, rateProperty) { +function getBitPayFxRate (fiatCode, defaultFiatMarket, fiatCodeProperty, rateProperty) { return axios.get('https://bitpay.com/rates') .then(response => { const fxRates = response.data.data - const usdRate = findCurrencyRates(fxRates, 'USD', fiatCodeProperty, rateProperty) - const fxRate = findCurrencyRates(fxRates, fiatCode, fiatCodeProperty, rateProperty).div(usdRate) + const defaultFiatRate = findCurrencyRates(fxRates, defaultFiatMarket, fiatCodeProperty, rateProperty) + const fxRate = findCurrencyRates(fxRates, fiatCode, fiatCodeProperty, rateProperty).div(defaultFiatRate) return { fxRate } }) } -function getCoinCapFxRate (fiatCode, fiatCodeProperty, rateProperty) { +function getCoinCapFxRate (fiatCode, defaultFiatMarket, fiatCodeProperty, rateProperty) { return axios.get('https://api.coincap.io/v2/rates') .then(response => { const fxRates = response.data.data @@ -40,7 +40,7 @@ function findCurrencyRates (fxRates, fiatCode, fiatCodeProperty, rateProperty) { return new BN(rates[rateProperty].toString()) } -const getRate = (retries = 1, fiatCode) => { +const getRate = (retries = 1, fiatCode, defaultFiatMarket) => { const selected = _.first(API_QUEUE).name const activeAPI = _.first(API_QUEUE).api const fiatCodeProperty = _.first(API_QUEUE).fiatCodeProperty @@ -48,7 +48,7 @@ const getRate = (retries = 1, fiatCode) => { if (!activeAPI) throw new Error(`FOREX api ${selected} does not exist.`) - return activeAPI(fiatCode, fiatCodeProperty, rateProperty) + return activeAPI(fiatCode, defaultFiatMarket, fiatCodeProperty, rateProperty) .catch(() => { // Switch service const erroredService = API_QUEUE.shift() diff --git a/lib/plugins/ticker/ccxt.js b/lib/plugins/ticker/ccxt.js index 1f63ff3d..881085d1 100644 --- a/lib/plugins/ticker/ccxt.js +++ b/lib/plugins/ticker/ccxt.js @@ -30,7 +30,7 @@ function ticker (fiatCode, cryptoCode, tickerName) { return getCurrencyRates(ticker, fiatCode, cryptoCode) } - return getRate(RETRIES, fiatCode) + return getRate(RETRIES, tickerName, defaultFiatMarket(tickerName)) .then(({ fxRate }) => { try { return getCurrencyRates(ticker, defaultFiatMarket(tickerName), cryptoCode)