post-merge cleanup

This commit is contained in:
Josh Harvey 2016-04-19 19:35:08 +03:00
parent c98c4dc606
commit c644d0f789
3 changed files with 78 additions and 82 deletions

View file

@ -69,13 +69,9 @@ function loadPlugin (name, config) {
// each used plugin MUST be installed
try {
plugin = require('lamassu-' + name)
} catch (_) {
try {
require('plugins/' + name)
} catch (_) {
throw new Error(name + ' module is not installed. ' +
'Try running \'npm install --save lamassu-' + name + '\' first')
}
}
// each plugin MUST implement those
@ -160,27 +156,27 @@ exports.configure = function configure (config) {
cryptoCodes.forEach(function (cryptoCode) {
// TICKER [required] configure (or load)
loadOrConfigPlugin(
loadOrConfigPlugin(
tickerPlugins[cryptoCode],
'ticker',
'ticker',
cryptoCode,
deviceCurrency, // device currency
deviceCurrency, // device currency
function onTickerChange (newTicker) {
tickerPlugins[cryptoCode] = newTicker
pollRate(cryptoCode)
}
}
)
// WALLET [required] configure (or load)
loadOrConfigPlugin(
// WALLET [required] configure (or load)
loadOrConfigPlugin(
walletPlugins[cryptoCode],
'transfer',
'transfer',
cryptoCode,
null,
null,
function onWalletChange (newWallet) {
walletPlugins[cryptoCode] = newWallet
pollBalance(cryptoCode)
}
}
)
tradesQueues[cryptoCode] = tradesQueues[cryptoCode] || []
@ -189,12 +185,12 @@ exports.configure = function configure (config) {
traderPlugins[cryptoCode],
'trader',
cryptoCode,
null,
null,
function onTraderChange (newTrader) {
traderPlugins[cryptoCode] = newTrader
if (newTrader === null) stopTrader(cryptoCode)
else startTrader(cryptoCode)
}
}
)
})
@ -267,7 +263,7 @@ function executeTx (session, tx, authority, cb) {
if (cryptoAtomsToSend === 0) {
logger.debug('No cryptoAtoms to send')
return cb(null, {statusCode: 204, txId: tx.txId, txHash: null})
}
}
var cryptoCode = tx.cryptoCode
_sendCoins(tx.toAddress, cryptoAtomsToSend, cryptoCode, function (_err, txHash) {
@ -358,32 +354,32 @@ exports.trade = function trade (session, rawTrade, cb) {
async.apply(db.addOutgoingPending, session, rawTrade.currency, rawTrade.cryptoCode, rawTrade.toAddress),
async.apply(db.recordBill, session, rawTrade)
], cb)
};
}
exports.stateChange = function stateChange(session, rec, cb) {
var rec = {
exports.stateChange = function stateChange (session, rec, cb) {
var event = {
id: rec.uuid,
fingerprint: session.fingerprint,
eventType: 'stateChange',
note: JSON.stringify({state: rec.state, sessionId: session.id}),
deviceTime: session.deviceTime
}
db.machineEvent(rec, cb)
};
db.machineEvent(event, cb)
}
exports.recordPing = function recordPing(session, rec, cb) {
var rec = {
exports.recordPing = function recordPing (session, rec, cb) {
var event = {
id: uuid.v4(),
fingerprint: session.fingerprint,
eventType: 'ping',
note: JSON.stringify({state: rec.state, sessionId: session.id}),
deviceTime: session.deviceTime
}
db.machineEvent(rec, cb)
};
db.machineEvent(event, cb)
}
exports.sendCoins = function sendCoins(session, rawTx, cb) {
executeTx(session, rawTx, 'machine', cb);
exports.sendCoins = function sendCoins (session, rawTx, cb) {
executeTx(session, rawTx, 'machine', cb)
}
exports.cashOut = function cashOut (session, tx, cb) {
@ -457,9 +453,9 @@ function startTrader (cryptoCode) {
tradeIntervals[cryptoCode] = setInterval(
function () { executeTrades(cryptoCode) },
cachedConfig.exchanges.settings.tradeInterval
cachedConfig.exchanges.settings.tradeInterval
)
}
}
function stopTrader (cryptoCode) {
if (!tradeIntervals[cryptoCode]) return
@ -468,7 +464,7 @@ function stopTrader (cryptoCode) {
clearInterval(tradeIntervals[cryptoCode])
tradeIntervals[cryptoCode] = null
tradesQueues[cryptoCode] = []
}
}
function pollBalance (cryptoCode, cb) {
logger.debug('[%s] collecting balance', cryptoCode)

View file

@ -52,7 +52,7 @@ exports.init = function init (_conString) {
if (!conString) {
throw new Error('Postgres connection string is required')
}
}
}
function connect (cb) {
pg.connect(conString, function (err, client, done) {
@ -109,7 +109,7 @@ exports.recordDeviceEvent = function recordDeviceEvent (session, event) {
event.deviceTime]
client.query(sql, values, done)
})
}
}
function query (client, queryStr, values, cb) {
if (!cb) {
@ -185,8 +185,8 @@ function computeSendAmount (tx, totals) {
var fiatRemaining = (tx.fiat || totals.billsFiat) - totals.txFiat
var satoshisRemaining = tx.satoshis.eq(0)
? totals.billsSatoshis.minus(totals.txSatoshis)
: tx.satoshis.minus(totals.txSatoshis)
? totals.billsSatoshis.minus(totals.txSatoshis)
: tx.satoshis.minus(totals.txSatoshis)
var result = {
fiat: fiatRemaining,
@ -265,18 +265,18 @@ function insertOutgoingCompleteTx (client, session, tx, cb) {
}
function insertIncoming (client, session, tx, satoshis, fiat, stage, authority,
cb) {
cb) {
var realSatoshis = satoshis || new BigNumber(0)
insertTx(client, session, true, tx, realSatoshis, fiat, stage, authority, cb)
}
function insertOutgoing (client, session, tx, satoshis, fiat, stage, authority,
cb) {
cb) {
insertTx(client, session, false, tx, satoshis, fiat, stage, authority, cb)
}
function insertTx (client, session, incoming, tx, satoshis, fiat, stage,
authority, cb) {
authority, cb) {
var fields = [
'session_id',
'stage',
@ -327,7 +327,7 @@ function refreshPendingTx (client, session, cb) {
}
function addPendingTx (client, session, incoming, currencyCode, cryptoCode, toAddress,
satoshis, cb) {
satoshis, cb) {
var fields = ['device_fingerprint', 'session_id', 'incoming',
'currency_code', 'crypto_code', 'to_address', 'satoshis']
var sql = getInsertQuery('pending_transactions', fields, false)
@ -367,7 +367,7 @@ exports.addOutgoingTx = function addOutgoingTx (session, tx, cb) {
})
})
})
}
}
exports.sentCoins = function sentCoins (session, tx, authority, toSend, fee,
error, txHash) {
@ -431,14 +431,14 @@ exports.addOutgoingPending = function addOutgoingPending (session, currencyCode,
logger.error(err)
return cb(err)
})
}
}
silentQuery(client, 'COMMIT', null, function () {
done()
cb()
})
})
})
}
}
exports.addInitialIncoming = function addInitialIncoming (session, tx, cb) {
connect(function (cerr, client, done) {
@ -460,7 +460,7 @@ exports.addInitialIncoming = function addInitialIncoming (session, tx, cb) {
})
})
})
}
}
function insertDispense (client, session, tx, cartridges, transactionId, cb) {
var fields = [
@ -511,55 +511,55 @@ exports.cartridgeCounts = function cartridgeCounts (session, cb) {
done()
if (err) return cb(err)
var counts = results.rows.length === 1
? [results.rows[0].count1, results.rows[0].count2]
: [0, 0]
cb(null, {id: results.rows[0].id, counts: counts});
});
});
};
? [results.rows[0].count1, results.rows[0].count2]
: [0, 0]
cb(null, {id: results.rows[0].id, counts: counts})
})
})
}
exports.machineEvent = function machineEvent(rec, cb) {
exports.machineEvent = function machineEvent (rec, cb) {
var TTL = 2 * 60 * 60 * 1000
connect(function(cerr, client, done) {
if (cerr) return cb(cerr);
connect(function (cerr, client, done) {
if (cerr) return cb(cerr)
var fields = ['id', 'device_fingerprint', 'event_type', 'note', 'device_time']
var sql = getInsertQuery('machine_events', fields, false)
var values = [rec.id, rec.fingerprint, rec.eventType, rec.note, rec.deviceTime]
var deleteSql = 'DELETE FROM machine_events WHERE (EXTRACT(EPOCH FROM (now() - created))) * 1000 > $1';
var deleteValues = [TTL];
var deleteSql = 'DELETE FROM machine_events WHERE (EXTRACT(EPOCH FROM (now() - created))) * 1000 > $1'
var deleteValues = [TTL]
query(client, deleteSql, deleteValues, function(err) {
query(client, deleteSql, deleteValues, function (err) {
if (err) console.error(err)
})
query(client, sql, values, function(err, results) {
done();
return cb(err, results);
});
});
};
query(client, sql, values, function (err, results) {
done()
return cb(err, results)
})
})
}
exports.devices = function devices(cb) {
connect(function(cerr, client, done) {
if (cerr) return cb(cerr);
exports.devices = function devices (cb) {
connect(function (cerr, client, done) {
if (cerr) return cb(cerr)
var sql = 'SELECT fingerprint, name FROM devices ' +
'WHERE authorized=$1';
query(client, sql, [true], function(err, results) {
done();
if (err) return cb(err);
'WHERE authorized=$1'
query(client, sql, [true], function (err, results) {
done()
if (err) return cb(err)
cb(null, results)
})
})
}
exports.machineEvents = function machineEvents(cb) {
connect(function(cerr, client, done) {
if (cerr) return cb(cerr);
exports.machineEvents = function machineEvents (cb) {
connect(function (cerr, client, done) {
if (cerr) return cb(cerr)
var sql = 'SELECT *, (EXTRACT(EPOCH FROM (now() - created))) * 1000 AS age FROM machine_events'
query(client, sql, [], function(err, results) {
done();
if (err) return cb(err);
query(client, sql, [], function (err, results) {
done()
if (err) return cb(err)
cb(null, results)
})
})

View file

@ -39,11 +39,11 @@ function buildRates () {
rates[cryptoCode] = {
cashIn: rate.ask.times(cashInCommission),
cashOut: rate.bid.div(cashOutCommission)
}
}
})
return rates
}
}
function buildBalances () {
var cryptoCodes = plugins.getcryptoCodes()
@ -55,7 +55,7 @@ function buildBalances () {
})
return _balances
}
}
function poll (req, res) {
var fingerprint = getFingerprint(req)
@ -103,9 +103,9 @@ function poll (req, res) {
res.json(response)
})
plugins.recordPing(session(req), req.query, function(err) {
if (err) console.error(err);
});
plugins.recordPing(session(req), req.query, function (err) {
if (err) console.error(err)
})
}
function trade (req, res) {
@ -119,8 +119,8 @@ function trade (req, res) {
})
}
function stateChange(req, res) {
plugins.stateChange(session(req), req.body, function(err) {
function stateChange (req, res) {
plugins.stateChange(session(req), req.body, function (err) {
if (err) console.error(err)
res.json(200)
})
@ -276,5 +276,5 @@ function session (req) {
function getFingerprint (req) {
return (typeof req.connection.getPeerCertificate === 'function' &&
req.connection.getPeerCertificate().fingerprint) || 'unknown'
req.connection.getPeerCertificate().fingerprint) || 'unknown'
}