diff --git a/lib/admin/config.js b/lib/admin/config.js index 6b2259a5..b939992c 100644 --- a/lib/admin/config.js +++ b/lib/admin/config.js @@ -186,7 +186,8 @@ function fetchData () { {code: 'mock-id-verify', display: 'Mock ID verifier', class: 'idVerifier'}, {code: 'twilio', display: 'Twilio', class: 'sms'}, {code: 'mailjet', display: 'Mailjet', class: 'email'}, - {code: 'all-zero-conf', display: 'All pass', class: 'zeroConf'}, + {code: 'all-zero-conf', display: 'All pass', class: 'zeroConf', cryptos: ALL_CRYPTOS}, + {code: 'no-zero-conf', display: 'None pass', class: 'zeroConf', cryptos: ALL_CRYPTOS}, {code: 'blockcypher', display: 'Blockcypher', class: 'zeroConf', cryptos: ['BTC']}, {code: 'mock-zero-conf', display: 'Mock 0-conf', class: 'zeroConf', cryptos: ['BTC', 'ZEC', 'LTC', 'DASH']} ], diff --git a/lib/db.js b/lib/db.js index ce217abd..bed67ddf 100644 --- a/lib/db.js +++ b/lib/db.js @@ -4,8 +4,13 @@ const logger = require('./logger') const pgp = Pgp({ pgNative: true, - error: (_, e) => { + error: (err, e) => { if (e.cn) logger.error('Database not reachable.') + if (e.query) { + logger.error(e.query) + logger.error(e.params) + } + logger.error(err) } }) diff --git a/lib/wallet.js b/lib/wallet.js index 6285c1bf..402240b9 100644 --- a/lib/wallet.js +++ b/lib/wallet.js @@ -99,8 +99,11 @@ function authorizeZeroConf (settings, tx, machineId) { const plugin = cryptoConfig.zeroConf const zeroConfLimit = machineConfig.zeroConfLimit - if (tx.fiat.gt(zeroConfLimit)) return Promise.resolve(false) - if (tx.cryptoCode !== 'BTC' || plugin === 'all-zero-conf') return Promise.resolve(true) + if (plugin === 'no-zero-conf' || tx.fiat.gt(zeroConfLimit)) { + return Promise.resolve(false) + } + + if (plugin === 'all-zero-conf') return Promise.resolve(true) const zeroConf = ph.load(ph.ZERO_CONF, plugin) const account = settings.accounts[plugin] @@ -119,20 +122,24 @@ function getPublishAge (txId) { } function getStatus (settings, tx, machineId) { - const promises = [ - getWalletStatus(settings, tx), - authorizeZeroConf(settings, tx, machineId), - getPublishAge(tx.id) - ] - - return Promise.all(promises) - .then(([statusRec, isAuthorized, publishAge]) => { + return getWalletStatus(settings, tx) + .then((statusRec) => { if (statusRec.status === 'authorized') { - const unauthorizedStatus = publishAge < ZERO_CONF_EXPIRATION - ? 'published' - : 'rejected' + const promises = [ + getPublishAge(tx.id), + authorizeZeroConf(settings, tx, machineId) + ] - return {status: (isAuthorized ? 'authorized' : unauthorizedStatus)} + return Promise.all(promises) + .then(([publishAge, isAuthorized]) => { + const unauthorizedStatus = publishAge < ZERO_CONF_EXPIRATION + ? 'published' + : 'rejected' + + const status = isAuthorized ? 'authorized' : unauthorizedStatus + + return {status} + }) } return statusRec