WIP
This commit is contained in:
parent
f189438094
commit
59db6d803c
2 changed files with 2 additions and 243 deletions
|
|
@ -9,16 +9,12 @@ BigNumber.config({CRYPTO: true})
|
|||
var logger = require('./logger')
|
||||
var notifier = require('./notifier')
|
||||
|
||||
var argv = require('minimist')(process.argv.slice(2))
|
||||
|
||||
var uuid = require('node-uuid')
|
||||
var tradeIntervals = {}
|
||||
|
||||
var CHECK_NOTIFICATION_INTERVAL = 60 * 1000
|
||||
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
|
||||
|
|
@ -27,11 +23,6 @@ var MAX_NOTIFY_AGE = 48 * 60 * 60 * 1000
|
|||
var MIN_NOTIFY_AGE = 5 * 60 * 1000
|
||||
var TRANSACTION_EXPIRATION = 48 * 60 * 60 * 1000
|
||||
|
||||
if (argv.timeout) PENDING_TIMEOUT = argv.timeout / 1000
|
||||
|
||||
// TODO: might have to update this if user is allowed to extend monitoring time
|
||||
var DEPOSIT_TIMEOUT = 130 * 1000
|
||||
|
||||
var db = null
|
||||
|
||||
var cryptoCodes = null
|
||||
|
|
@ -319,40 +310,6 @@ function executeTx (session, tx, authority, cb) {
|
|||
})
|
||||
}
|
||||
|
||||
function reapOutgoingTx (session, tx) {
|
||||
executeTx(session, tx, 'timeout', function (err) {
|
||||
if (err) logger.error(err)
|
||||
})
|
||||
}
|
||||
|
||||
function reapTx (row) {
|
||||
var session = {fingerprint: row.device_fingerprint, id: row.session_id}
|
||||
var tx = {
|
||||
fiat: 0,
|
||||
cryptoAtoms: new BigNumber(row.cryptoAtoms),
|
||||
toAddress: row.toAddress,
|
||||
currencyCode: row.currencyCode,
|
||||
cryptoCode: row.cryptoCode,
|
||||
incoming: row.incoming
|
||||
}
|
||||
if (!row.incoming) reapOutgoingTx(session, tx)
|
||||
}
|
||||
|
||||
function reapTxs () {
|
||||
db.removeOldPending(DEPOSIT_TIMEOUT)
|
||||
|
||||
// NOTE: No harm in processing old pending tx, we don't need to wait for
|
||||
// removeOldPending to complete.
|
||||
db.pendingTxs(PENDING_TIMEOUT, function (err, rows) {
|
||||
if (err) return logger.warn(err)
|
||||
var rowCount = rows.length
|
||||
for (var i = 0; i < rowCount; i++) {
|
||||
var row = rows[i]
|
||||
reapTx(row)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// TODO: Run these in parallel and return success
|
||||
exports.trade = function trade (session, rawTrade, cb) {
|
||||
// TODO: move this to DB, too
|
||||
|
|
@ -369,10 +326,7 @@ exports.trade = function trade (session, rawTrade, cb) {
|
|||
})
|
||||
}
|
||||
|
||||
async.parallel([
|
||||
async.apply(db.addOutgoingPending, session, rawTrade.currency, rawTrade.cryptoCode, rawTrade.toAddress),
|
||||
async.apply(db.recordBill, session, rawTrade)
|
||||
], cb)
|
||||
db.recordBill(session, rawTrade, cb)
|
||||
}
|
||||
|
||||
exports.stateChange = function stateChange (session, rec, cb) {
|
||||
|
|
@ -519,7 +473,6 @@ exports.startPolling = function startPolling () {
|
|||
startTrader(cryptoCode)
|
||||
})
|
||||
|
||||
setInterval(reapTxs, REAP_RATE)
|
||||
setInterval(monitorLiveIncoming, LIVE_INCOMING_TX_INTERVAL)
|
||||
setInterval(monitorIncoming, INCOMING_TX_INTERVAL)
|
||||
setInterval(monitorUnnotified, UNNOTIFIED_INTERVAL)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue