diff --git a/lib/new-admin/config/accounts.js b/lib/new-admin/config/accounts.js index 276d8001..0466be24 100644 --- a/lib/new-admin/config/accounts.js +++ b/lib/new-admin/config/accounts.js @@ -1,4 +1,6 @@ const _ = require('lodash/fp') + +const { ALL } = require('../../plugins/common/ccxt') const { COINS, ALL_CRYPTOS } = require('./coins') const { BTC, BCH, DASH, ETH, LTC, ZEC } = COINS @@ -13,11 +15,11 @@ const EMAIL = 'email' const ZERO_CONF = 'zeroConf' const ALL_ACCOUNTS = [ - { code: 'bitpay', display: 'Bitpay', class: TICKER, cryptos: [BTC, BCH] }, - { code: 'kraken', display: 'Kraken', class: TICKER, cryptos: [BTC, ETH, LTC, DASH, ZEC, BCH] }, - { code: 'bitstamp', display: 'Bitstamp', class: TICKER, cryptos: [BTC, ETH, LTC, BCH] }, - { code: 'coinbase', display: 'Coinbase', class: TICKER, cryptos: [BTC, ETH, LTC, DASH, ZEC, BCH] }, - { code: 'itbit', display: 'itBit', class: TICKER, cryptos: [BTC, ETH] }, + { code: 'bitpay', display: 'Bitpay', class: TICKER, cryptos: ALL['bitpay'].CRYPTO }, + { code: 'kraken', display: 'Kraken', class: TICKER, cryptos: ALL['kraken'].CRYPTO }, + { code: 'bitstamp', display: 'Bitstamp', class: TICKER, cryptos: ALL['bitstamp'].CRYPTO }, + { code: 'coinbase', display: 'Coinbase', class: TICKER, cryptos: ALL['coinbase'].CRYPTO }, + { code: 'itbit', display: 'itBit', class: TICKER, cryptos: ALL['itbit'].CRYPTO }, { code: 'mock-ticker', display: 'Mock (Caution!)', class: TICKER, cryptos: ALL_CRYPTOS, dev: true }, { code: 'bitcoind', display: 'bitcoind', class: WALLET, cryptos: [BTC] }, { code: 'no-layer2', display: 'No Layer 2', class: LAYER_2, cryptos: ALL_CRYPTOS }, @@ -28,9 +30,9 @@ const ALL_ACCOUNTS = [ { code: 'dashd', display: 'dashd', class: WALLET, cryptos: [DASH] }, { code: 'bitcoincashd', display: 'bitcoincashd', class: WALLET, cryptos: [BCH] }, { code: 'bitgo', display: 'BitGo', class: WALLET, cryptos: [BTC, ZEC, LTC, BCH, DASH] }, - { code: 'bitstamp', display: 'Bitstamp', class: EXCHANGE, cryptos: [BTC, ETH, LTC, BCH] }, - { code: 'itbit', display: 'itBit', class: EXCHANGE, cryptos: [BTC, ETH] }, - { code: 'kraken', display: 'Kraken', class: EXCHANGE, cryptos: [BTC, ETH, LTC, DASH, ZEC, BCH] }, + { code: 'bitstamp', display: 'Bitstamp', class: EXCHANGE, cryptos: ALL['bitstamp'].CRYPTO }, + { code: 'itbit', display: 'itBit', class: EXCHANGE, cryptos: ALL['itbit'].CRYPTO }, + { code: 'kraken', display: 'Kraken', class: EXCHANGE, cryptos: ALL['kraken'].CRYPTO }, { code: 'mock-wallet', display: 'Mock (Caution!)', class: WALLET, cryptos: ALL_CRYPTOS, dev: true }, { code: 'no-exchange', display: 'No exchange', class: EXCHANGE, cryptos: ALL_CRYPTOS }, { code: 'mock-exchange', display: 'Mock exchange', class: EXCHANGE, cryptos: ALL_CRYPTOS, dev: true }, diff --git a/lib/plugins/common/ccxt.js b/lib/plugins/common/ccxt.js index 47ee37a6..df180489 100644 --- a/lib/plugins/common/ccxt.js +++ b/lib/plugins/common/ccxt.js @@ -29,4 +29,9 @@ function buildMarket (fiatCode, cryptoCode, serviceName) { return cryptoCode + '/' + fiatCode } -module.exports = { buildMarket, ALL } +function verifyFiatSupport (fiatCode, serviceName) { + const fiat = ALL[serviceName].FIAT + return fiat === 'ALL_CURRENCIES' ? true : _.includes(fiatCode, fiat) +} + +module.exports = { buildMarket, ALL, verifyFiatSupport } diff --git a/lib/plugins/exchange/itbit.js b/lib/plugins/exchange/itbit.js index 9c559249..3619b2e3 100644 --- a/lib/plugins/exchange/itbit.js +++ b/lib/plugins/exchange/itbit.js @@ -1,11 +1,11 @@ const _ = require('lodash/fp') const { ORDER_TYPES } = require('./consts') -const { COINS } = require('../../new-admin/config/coins') // para cada exchange +const { COINS } = require('../../new-admin/config/coins') const ORDER_TYPE = ORDER_TYPES.LIMIT -const { BTC, ETH, LTC, BCH } = COINS -const CRYPTO = [BTC, ETH, LTC, BCH] +const { BTC, ETH } = COINS +const CRYPTO = [BTC, ETH] const FIAT = ['USD'] const AMOUNT_PRECISION = 4 diff --git a/lib/plugins/ticker/bitpay.js b/lib/plugins/ticker/bitpay.js index 6a758463..d43b3442 100644 --- a/lib/plugins/ticker/bitpay.js +++ b/lib/plugins/ticker/bitpay.js @@ -1,7 +1,8 @@ const axios = require('axios') const BN = require('../../bn') -const { BTC, BCH } = require('../../new-admin/config/coins') +const { COINS } = require('../../new-admin/config/coins') +const { BTC, BCH } = COINS const CRYPTO = [BTC, BCH] const FIAT = 'ALL_CURRENCIES' diff --git a/lib/plugins/ticker/ccxt.js b/lib/plugins/ticker/ccxt.js index 2cdbf535..300d6e4d 100644 --- a/lib/plugins/ticker/ccxt.js +++ b/lib/plugins/ticker/ccxt.js @@ -3,11 +3,11 @@ const axios = require('axios') const ccxt = require('ccxt') const BN = require('../../bn') -const { buildMarket } = require('../common/ccxt') +const { buildMarket, verifyFiatSupport } = require('../common/ccxt') function ticker (fiatCode, cryptoCode, tickerName) { const ticker = new ccxt[tickerName]({ timeout: 3000 }) - if (fiatCode === 'EUR' || fiatCode === 'USD' || ticker.id === 'coinbase') { + if (verifyFiatSupport) { return getCurrencyRates(ticker, fiatCode, cryptoCode) }