Chore: use constant for currencyMax

This commit is contained in:
csrapr 2021-05-13 16:03:19 +01:00 committed by Josh Harvey
parent 7210406a8a
commit d2b7224c73
7 changed files with 39 additions and 38 deletions

View file

@ -3,35 +3,35 @@ var db = require('../lib/db')
const settingsLoader = require('../lib/new-settings-loader')
const configManager = require('../lib/new-config-manager')
const curriedGetCashout = _.curry(configManager.getCashOut)
exports.up = function (next) {
db.tx(async t => {
return db.tx(async t => {
const settingsPromise = settingsLoader.loadLatest()
const machinesPromise = t.any('SELECT device_id FROM devices')
const [{ config }, machines] = await Promise.all([settingsPromise, machinesPromise])
const cryptoCodes = configManager.getCryptosFromWalletNamespace(config)
const zeroConfLimits = _.map(_.flow(_.get('device_id'), curriedGetCashout(_, config), _.get('zeroConfLimit')), machines)
const minArr = _.min(zeroConfLimits)
const min = !_.isNil(minArr) && minArr < Infinity ? Number(minArr) : 0
const deviceIds = _.map(_.get('device_id'))(machines)
const getZeroConfLimit = _.compose(_.get('zeroConfLimit'), it => configManager.getCashOut(it, config))
const zeroConfLimits = _.map(getZeroConfLimit)(deviceIds)
const configMin = _.min(zeroConfLimits)
const smallerZeroConf = _.isFinite(configMin) ? Number(configMin) : 0
_.forEach(cryptoCode => {
const walletConfig = configManager.getWalletSettings(cryptoCode, config)
const zeroConfLimit = _.get('zeroConfLimit', walletConfig)
const key = `wallets_${cryptoCode}_zeroConfLimit`
if (_.isNil(zeroConfLimit)) {
config[key] = min
config[`wallets_${cryptoCode}_zeroConfLimit`] = smallerZeroConf
}
}, cryptoCodes)
const keysToErase = machines.map(machine =>
config[`cashOut_${machine.device_id}_zeroConfLimit`] ? `cashOut_${machine.device_id}_zeroConfLimit` : null
)
_.forEach(key => {
if (_.isNil(key)) return
config[key] = null
}, keysToErase)
_.forEach(deviceId => {
const key = `cashOut_${deviceId}_zeroConfLimit`
if (_.has(key, config)) {
config[key] = null
}
})(deviceIds)
return settingsLoader.saveConfig(config)
})