From 4f5c792268ec2883ea709b855e45ba28d3358e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Wed, 20 Jul 2022 10:19:35 +0100 Subject: [PATCH 1/5] fix: ticker rates for currency pegs mismatch --- lib/ticker.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/ticker.js b/lib/ticker.js index c032a079..948fb4c4 100644 --- a/lib/ticker.js +++ b/lib/ticker.js @@ -1,3 +1,4 @@ +const _ = require('lodash/fp') const mem = require('mem') const configManager = require('./new-config-manager') const logger = require('./logger') @@ -9,6 +10,8 @@ const bitpay = require('./plugins/ticker/bitpay') const FETCH_INTERVAL = 60000 +const CURRENCY_PEGS_MISMATCH = { NAD: 'ZAR' } + function _getRates (settings, fiatCode, cryptoCode) { return Promise.resolve() .then(() => { @@ -35,6 +38,9 @@ function _getRates (settings, fiatCode, cryptoCode) { function buildTicker (fiatCode, cryptoCode, tickerName) { if (tickerName === 'bitpay') return bitpay.ticker(fiatCode, cryptoCode) if (tickerName === 'mock-ticker') return mockTicker.ticker(fiatCode, cryptoCode) + if (_.includes(fiatCode, _.keys(CURRENCY_PEGS_MISMATCH))) { + return ccxt.ticker(CURRENCY_PEGS_MISMATCH[fiatCode], cryptoCode, tickerName) + } return ccxt.ticker(fiatCode, cryptoCode, tickerName) } From 0843ecd83bcba771944a09cde3ef81cd07c8d6e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Wed, 20 Jul 2022 10:31:26 +0100 Subject: [PATCH 2/5] fix: verify disparities for bitpay ticker --- lib/ticker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ticker.js b/lib/ticker.js index 948fb4c4..4c1a6634 100644 --- a/lib/ticker.js +++ b/lib/ticker.js @@ -39,7 +39,7 @@ function buildTicker (fiatCode, cryptoCode, tickerName) { if (tickerName === 'bitpay') return bitpay.ticker(fiatCode, cryptoCode) if (tickerName === 'mock-ticker') return mockTicker.ticker(fiatCode, cryptoCode) if (_.includes(fiatCode, _.keys(CURRENCY_PEGS_MISMATCH))) { - return ccxt.ticker(CURRENCY_PEGS_MISMATCH[fiatCode], cryptoCode, tickerName) + return bitpay.ticker(CURRENCY_PEGS_MISMATCH[fiatCode], cryptoCode, tickerName) } return ccxt.ticker(fiatCode, cryptoCode, tickerName) } From 5dc3bcfa81758778e5ae2caf8b6df2e6e91cdc25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Wed, 20 Jul 2022 10:33:34 +0100 Subject: [PATCH 3/5] fix: bitpay condition --- lib/ticker.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/ticker.js b/lib/ticker.js index 4c1a6634..fca5eecd 100644 --- a/lib/ticker.js +++ b/lib/ticker.js @@ -36,11 +36,12 @@ function _getRates (settings, fiatCode, cryptoCode) { } function buildTicker (fiatCode, cryptoCode, tickerName) { - if (tickerName === 'bitpay') return bitpay.ticker(fiatCode, cryptoCode) - if (tickerName === 'mock-ticker') return mockTicker.ticker(fiatCode, cryptoCode) - if (_.includes(fiatCode, _.keys(CURRENCY_PEGS_MISMATCH))) { - return bitpay.ticker(CURRENCY_PEGS_MISMATCH[fiatCode], cryptoCode, tickerName) + if (tickerName === 'bitpay') { + return _.includes(fiatCode, _.keys(CURRENCY_PEGS_MISMATCH)) + ? bitpay.ticker(CURRENCY_PEGS_MISMATCH[fiatCode], cryptoCode) + : bitpay.ticker(fiatCode, cryptoCode) } + if (tickerName === 'mock-ticker') return mockTicker.ticker(fiatCode, cryptoCode) return ccxt.ticker(fiatCode, cryptoCode, tickerName) } From 6b7d2e019d3473568de08aee88211f70ea9d9d34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Wed, 20 Jul 2022 18:56:24 +0100 Subject: [PATCH 4/5] fix: remove bitpay condition --- lib/ticker.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/ticker.js b/lib/ticker.js index fca5eecd..59509f49 100644 --- a/lib/ticker.js +++ b/lib/ticker.js @@ -10,7 +10,7 @@ const bitpay = require('./plugins/ticker/bitpay') const FETCH_INTERVAL = 60000 -const CURRENCY_PEGS_MISMATCH = { NAD: 'ZAR' } +const PEGGED_FIAT_CURRENCIES = { NAD: 'ZAR' } function _getRates (settings, fiatCode, cryptoCode) { return Promise.resolve() @@ -36,13 +36,12 @@ function _getRates (settings, fiatCode, cryptoCode) { } function buildTicker (fiatCode, cryptoCode, tickerName) { - if (tickerName === 'bitpay') { - return _.includes(fiatCode, _.keys(CURRENCY_PEGS_MISMATCH)) - ? bitpay.ticker(CURRENCY_PEGS_MISMATCH[fiatCode], cryptoCode) - : bitpay.ticker(fiatCode, cryptoCode) - } - if (tickerName === 'mock-ticker') return mockTicker.ticker(fiatCode, cryptoCode) - return ccxt.ticker(fiatCode, cryptoCode, tickerName) + const fiatPeggedEquivalent = _.includes(fiatCode, _.keys(PEGGED_FIAT_CURRENCIES)) + ? PEGGED_FIAT_CURRENCIES[fiatCode] + : fiatCode + if (tickerName === 'bitpay') bitpay.ticker(fiatPeggedEquivalent, cryptoCode) + if (tickerName === 'mock-ticker') return mockTicker.ticker(fiatPeggedEquivalent, cryptoCode) + return ccxt.ticker(fiatPeggedEquivalent, cryptoCode, tickerName) } const getRates = mem(_getRates, { From 2c3e0d5d82daf846a6aa20621d75dabf1dec3a36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Thu, 21 Jul 2022 10:51:48 +0100 Subject: [PATCH 5/5] fix: add missing return statement to bitpay ticket --- lib/ticker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ticker.js b/lib/ticker.js index 59509f49..26b5871e 100644 --- a/lib/ticker.js +++ b/lib/ticker.js @@ -39,7 +39,7 @@ function buildTicker (fiatCode, cryptoCode, tickerName) { const fiatPeggedEquivalent = _.includes(fiatCode, _.keys(PEGGED_FIAT_CURRENCIES)) ? PEGGED_FIAT_CURRENCIES[fiatCode] : fiatCode - if (tickerName === 'bitpay') bitpay.ticker(fiatPeggedEquivalent, cryptoCode) + if (tickerName === 'bitpay') return bitpay.ticker(fiatPeggedEquivalent, cryptoCode) if (tickerName === 'mock-ticker') return mockTicker.ticker(fiatPeggedEquivalent, cryptoCode) return ccxt.ticker(fiatPeggedEquivalent, cryptoCode, tickerName) }