diff --git a/lib/new-config-manager.js b/lib/new-config-manager.js index 57cf1105..97234a19 100644 --- a/lib/new-config-manager.js +++ b/lib/new-config-manager.js @@ -104,6 +104,13 @@ const getGlobalNotifications = config => getNotifications(null, null, config) const getTriggers = _.get('triggers') +const split = _.curry(_.split) +const splitGetFirst = _.compose(_.head, split('_')) + +const getCryptosFromWalletNamespace = config => { + return _.uniq(_.map(splitGetFirst, _.keys(fromNamespace('wallets', config)))) +} + module.exports = { getWalletSettings, getOperatorInfo, @@ -118,5 +125,6 @@ module.exports = { getTermsConditions, getAllCryptoCurrencies, getTriggers, - getCashOut + getCashOut, + getCryptosFromWalletNamespace } diff --git a/migrations/1618507684019-rename-0-conf.js b/migrations/1618507684019-rename-0-conf.js new file mode 100644 index 00000000..02292e13 --- /dev/null +++ b/migrations/1618507684019-rename-0-conf.js @@ -0,0 +1,21 @@ +const _ = require('lodash/fp') +const settingsLoader = require('../lib/new-settings-loader') +const configManager = require('../lib/new-config-manager') + +exports.up = async function (next) { + const { config } = await settingsLoader.loadLatest() + const cryptoCodes = configManager.getCryptosFromWalletNamespace(config) + _.forEach(cryptoCode => { + const key = `wallets_${cryptoCode}_zeroConf` + const zeroConfSetting = _.get(key, config) + if (cryptoCode === 'BTC' && zeroConfSetting === 'blockcypher') return + if (!_.isNil(zeroConfSetting) && zeroConfSetting !== 'none') { + config[key] = 'none' + } + }, cryptoCodes) + return settingsLoader.saveConfig(config).then(() => next()).catch(err => next(err)) +} + +exports.down = function (next) { + next() +}