From a8085f3f1d9c2006be1db615691e3b30f26ef5ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Thu, 13 May 2021 15:43:04 +0100 Subject: [PATCH] fix: config validation for exchanges --- lib/plugins/exchange/bitstamp.js | 5 +++-- lib/plugins/exchange/itbit.js | 5 +++-- lib/plugins/exchange/kraken.js | 6 ++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/plugins/exchange/bitstamp.js b/lib/plugins/exchange/bitstamp.js index 7cbb956b..c8ae2131 100644 --- a/lib/plugins/exchange/bitstamp.js +++ b/lib/plugins/exchange/bitstamp.js @@ -19,8 +19,9 @@ const loadConfig = (account) => { } const isConfigValid = options => { - const requiredOptions = _.pick(['key', 'secret', 'clientId'], options) - return _.isEqual(options, requiredOptions) + const requiredOptions = ['key', 'secret', 'clientId'] + const givenOptions = _.pick(requiredOptions, options) + return _.isEqual(_.keys(givenOptions), requiredOptions) } module.exports = { loadConfig, isConfigValid, CRYPTO, FIAT, ORDER_TYPE, AMOUNT_PRECISION } diff --git a/lib/plugins/exchange/itbit.js b/lib/plugins/exchange/itbit.js index aff829bf..c3f3f2d0 100644 --- a/lib/plugins/exchange/itbit.js +++ b/lib/plugins/exchange/itbit.js @@ -21,8 +21,9 @@ const loadConfig = (account) => { const loadOptions = ({ walletId }) => ({ walletId }) const isConfigValid = options => { - const requiredOptions = _.pick(['clientKey', 'clientSecret', 'userId', 'walletId'], options) - return _.isEqual(options, requiredOptions) + const requiredOptions = ['clientKey', 'clientSecret', 'userId', 'walletId'] + const givenOptions = _.pick(requiredOptions, options) + return _.isEqual(_.keys(givenOptions), requiredOptions) } module.exports = { loadOptions, loadConfig, isConfigValid, CRYPTO, FIAT, ORDER_TYPE, AMOUNT_PRECISION } diff --git a/lib/plugins/exchange/kraken.js b/lib/plugins/exchange/kraken.js index 03d561d2..98dd9796 100644 --- a/lib/plugins/exchange/kraken.js +++ b/lib/plugins/exchange/kraken.js @@ -18,9 +18,11 @@ const loadConfig = (account) => { } const loadOptions = () => ({ expiretm: '+60' }) + const isConfigValid = options => { - const requiredOptions = _.pick(['apiKey', 'privateKey'], options) - return _.isEqual(options, requiredOptions) + const requiredOptions = ['apiKey', 'privateKey'] + const givenOptions = _.pick(requiredOptions, options) + return _.isEqual(_.keys(givenOptions), requiredOptions) } module.exports = { loadOptions, loadConfig, isConfigValid, CRYPTO, FIAT, ORDER_TYPE, AMOUNT_PRECISION }