diff --git a/lib/ticker.js b/lib/ticker.js index c032a079..26b5871e 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 PEGGED_FIAT_CURRENCIES = { NAD: 'ZAR' } + function _getRates (settings, fiatCode, cryptoCode) { return Promise.resolve() .then(() => { @@ -33,9 +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) - return ccxt.ticker(fiatCode, cryptoCode, tickerName) + const fiatPeggedEquivalent = _.includes(fiatCode, _.keys(PEGGED_FIAT_CURRENCIES)) + ? PEGGED_FIAT_CURRENCIES[fiatCode] + : fiatCode + if (tickerName === 'bitpay') return bitpay.ticker(fiatPeggedEquivalent, cryptoCode) + if (tickerName === 'mock-ticker') return mockTicker.ticker(fiatPeggedEquivalent, cryptoCode) + return ccxt.ticker(fiatPeggedEquivalent, cryptoCode, tickerName) } const getRates = mem(_getRates, {