This commit is contained in:
Josh Harvey 2016-05-07 02:07:50 +03:00
parent e7960c217c
commit 808a8ab4a4
4 changed files with 74 additions and 14 deletions

View file

@ -19,6 +19,9 @@ var ALERT_SEND_INTERVAL = 60 * 60 * 1000
var POLLING_RATE = 60 * 1000 // poll each minute
var REAP_RATE = 2 * 1000
var PENDING_TIMEOUT = 70 * 1000
var INCOMING_TX_INTERVAL = 5 * 1000
var LIVE_INCOMING_TX_INTERVAL = 30 * 1000
var STALE_INCOMING_TX_AGE = 7 * 24 * 60 * 60 * 1000
if (argv.timeout) PENDING_TIMEOUT = argv.timeout / 1000
@ -439,6 +442,35 @@ exports.fiatBalance = function fiatBalance (cryptoCode) {
return fiatTransferBalance.round(3).toNumber()
}
function processTxStatus (tx) {
const cryptoCode = tx.cryptoCode
const walletPlugin = walletPlugins[cryptoCode]
walletPlugin.getStatus(tx, function (err, status) {
if (err) return logger.error(err)
if (tx.status === status) return
db.updateTxStatus(tx, status, function (_err) {
if (_err) return logger.error(err)
})
})
}
function monitorLiveIncoming () {
const statuses = ['notSeen', 'published']
db.fetchOpenTxs(statuses, STALE_INCOMING_TX_AGE, function (err, txs) {
if (err) return
txs.forEach(processTxStatus)
})
}
function monitorIncoming () {
const statuses = ['notSeen', 'published', 'authorized', 'rejected']
db.fetchOpenTxs(statuses, STALE_INCOMING_TX_AGE, function (err, txs) {
if (err) return
txs.forEach(processTxStatus)
})
}
/*
* Polling livecycle
*/
@ -452,6 +484,8 @@ exports.startPolling = function startPolling () {
})
setInterval(reapTxs, REAP_RATE)
setInterval(monitorLiveIncoming, LIVE_INCOMING_TX_INTERVAL)
setInterval(monitorIncoming, INCOMING_TX_INTERVAL)
}
function startTrader (cryptoCode) {