WIP debugging
This commit is contained in:
parent
f38b02df94
commit
e4a4e556a2
2 changed files with 19 additions and 16 deletions
|
|
@ -224,9 +224,11 @@ function reapOutgoingTx(session, tx) {
|
||||||
|
|
||||||
function reapIncomingTx(session, tx) {
|
function reapIncomingTx(session, tx) {
|
||||||
infoPlugin.checkAddress(tx.toAddress, function(err, status,
|
infoPlugin.checkAddress(tx.toAddress, function(err, status,
|
||||||
satoshisReceived) {
|
satoshisReceived, txHash) {
|
||||||
if (status === 'notSeen') return;
|
if (status === 'notSeen') return;
|
||||||
db.addIncomingTx(session, tx, status, satoshisReceived, function(err) {
|
var newTx = _.clone(tx);
|
||||||
|
newTx.txHash = txHash;
|
||||||
|
db.addIncomingTx(session, newTx, status, satoshisReceived, function(err) {
|
||||||
if (err) logger.error(err);
|
if (err) logger.error(err);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -106,12 +106,12 @@ function query(client, queryStr, values, cb) {
|
||||||
values = [];
|
values = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// console.log(queryStr);
|
|
||||||
// console.log(values);
|
|
||||||
// console.trace(); // DEBUG
|
|
||||||
|
|
||||||
client.query(queryStr, values, function(err, results) {
|
client.query(queryStr, values, function(err, results) {
|
||||||
if (err) return cb(new Error(err));
|
if (err) {
|
||||||
|
console.log(queryStr);
|
||||||
|
console.log(values);
|
||||||
|
return cb(new Error(err));
|
||||||
|
}
|
||||||
cb(null, results);
|
cb(null, results);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -393,7 +393,7 @@ exports.addInitialIncoming = function addInitialIncoming(session, tx, cb) {
|
||||||
};
|
};
|
||||||
|
|
||||||
function lastTxStatus(client, session, cb) {
|
function lastTxStatus(client, session, cb) {
|
||||||
var sql = 'SELECT satoshis, authority FROM transactions ' +
|
var sql = 'SELECT satoshis, stage, authority FROM transactions ' +
|
||||||
'WHERE device_fingerprint=$1 AND session_id=$2 AND incoming=$3 ' +
|
'WHERE device_fingerprint=$1 AND session_id=$2 AND incoming=$3 ' +
|
||||||
'ORDER BY id DESC LIMIT 1';
|
'ORDER BY id DESC LIMIT 1';
|
||||||
var values = [session.fingerprint, session.id, true];
|
var values = [session.fingerprint, session.id, true];
|
||||||
|
|
@ -427,7 +427,7 @@ exports.dispenseStatus = function dispenseStatus(session, cb) {
|
||||||
if (!pending) return cb(null, null);
|
if (!pending) return cb(null, null);
|
||||||
|
|
||||||
var requiredSatoshis = results[0].rows[0].requiredSatoshis;
|
var requiredSatoshis = results[0].rows[0].requiredSatoshis;
|
||||||
var lastTx = results[1].rows[1];
|
var lastTx = results[1].rows[0];
|
||||||
|
|
||||||
// TODO: handle multiple deposits
|
// TODO: handle multiple deposits
|
||||||
var status = (lastTx.satoshis < requiredSatoshis) ?
|
var status = (lastTx.satoshis < requiredSatoshis) ?
|
||||||
|
|
@ -444,14 +444,14 @@ function lastDispenseCount(client, session, transactionId, cb) {
|
||||||
'ORDER BY id DESC LIMIT 1';
|
'ORDER BY id DESC LIMIT 1';
|
||||||
client.query(sql, [session.fingerprint], function(err, results) {
|
client.query(sql, [session.fingerprint], function(err, results) {
|
||||||
if (err) return cb(err);
|
if (err) return cb(err);
|
||||||
if (results.rows.length === 0) return cb(null, [0, 0]);
|
if (results.rows.length === 0) return cb(null, transactionId, [0, 0]);
|
||||||
cb(null, transactionId, [results.rows[0].count1, results.rows[0].count2]);
|
cb(null, transactionId, [results.rows[0].count1, results.rows[0].count2]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function insertDispense(client, tx, transactionId, counts, cb) {
|
function insertDispense(client, session, tx, transactionId, counts, cb) {
|
||||||
var fields = [
|
var fields = [
|
||||||
'transaction_id',
|
'device_fingerprint', 'transaction_id',
|
||||||
'dispense1', 'reject1', 'count1',
|
'dispense1', 'reject1', 'count1',
|
||||||
'dispense2', 'reject2', 'count2',
|
'dispense2', 'reject2', 'count2',
|
||||||
'refill', 'error'
|
'refill', 'error'
|
||||||
|
|
@ -466,10 +466,11 @@ function insertDispense(client, tx, transactionId, counts, cb) {
|
||||||
var count1 = Math.max(counts[0] - (dispense1 + reject1), 0);
|
var count1 = Math.max(counts[0] - (dispense1 + reject1), 0);
|
||||||
var count2 = Math.max(counts[1] - (dispense2 + reject2), 0);
|
var count2 = Math.max(counts[1] - (dispense2 + reject2), 0);
|
||||||
var values = [
|
var values = [
|
||||||
transactionId,
|
session.fingerprint, transactionId,
|
||||||
dispense1, reject1, count1, dispense2, reject2, count2,
|
dispense1, reject1, count1, dispense2, reject2, count2,
|
||||||
false, tx.error
|
false, tx.error
|
||||||
];
|
];
|
||||||
|
console.dir(values); // DEBUG
|
||||||
client.query(sql, values, cb);
|
client.query(sql, values, cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -479,12 +480,12 @@ exports.addDispense = function addDispense(session, tx) {
|
||||||
|
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
async.apply(insertIncoming, client, session, tx, 0, tx.fiat,
|
async.apply(insertIncoming, client, session, tx, 0, tx.fiat,
|
||||||
'deposit', 'authorized'),
|
'dispense', 'authorized'),
|
||||||
async.apply(lastDispenseCount, client, session),
|
async.apply(lastDispenseCount, client, session),
|
||||||
async.apply(insertDispense, client, tx)
|
async.apply(insertDispense, client, session, tx)
|
||||||
], function(_err) {
|
], function(_err) {
|
||||||
done();
|
done();
|
||||||
if (_err) logger.error(err);
|
if (_err) logger.error(_err);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue