This commit is contained in:
Josh Harvey 2014-11-25 17:10:38 -05:00
parent 0b438a62e5
commit f38b02df94
5 changed files with 85 additions and 42 deletions

View file

@ -1,5 +1,7 @@
/* @flow weak */
'use strict';
var _ = require('lodash');
var async = require('async');
var logger = require('./logger');
@ -191,7 +193,7 @@ function _sendBitcoins(toAddress, satoshis, cb) {
walletPlugin.sendBitcoins(toAddress, satoshis, transactionFee, cb);
}
function executeTx(session, tx, cb) {
function executeTx(session, tx, authority, cb) {
db.addOutgoingTx(session, tx, function(err, satoshisToSend) {
if (err) return cb(err);
@ -200,7 +202,7 @@ function executeTx(session, tx, cb) {
_sendBitcoins(tx.toAddress, satoshisToSend, function(_err, txHash) {
var fee = null; // Need to fill this out in plugins
db.sentCoins(session, tx, satoshisToSend, fee, _err, txHash);
db.sentCoins(session, tx, authority, satoshisToSend, fee, _err, txHash);
if (_err) return cb(err);
@ -215,7 +217,7 @@ function executeTx(session, tx, cb) {
}
function reapOutgoingTx(session, tx) {
executeTx(session, tx, function(err) {
executeTx(session, tx, 'timeout', function(err) {
if (err) logger.error(err);
});
}
@ -224,7 +226,9 @@ function reapIncomingTx(session, tx) {
infoPlugin.checkAddress(tx.toAddress, function(err, status,
satoshisReceived) {
if (status === 'notSeen') return;
db.addIncomingTx(session, tx, status, satoshisReceived);
db.addIncomingTx(session, tx, status, satoshisReceived, function(err) {
if (err) logger.error(err);
});
});
}
@ -282,7 +286,7 @@ exports.trade = function trade(session, rawTrade, cb) {
};
exports.sendBitcoins = function sendBitcoins(session, rawTx, cb) {
executeTx(session, rawTx, cb);
executeTx(session, rawTx, 'machine', cb);
};
exports.cashOut = function cashOut(session, tx, cb) {
@ -293,14 +297,17 @@ exports.cashOut = function cashOut(session, tx, cb) {
walletPlugin.newAddress(tmpInfo, function(err, address) {
if (err) return cb(err);
db.addInitialIncoming(session, tx, address, function(_err) {
var newTx = _.clone(tx);
newTx.toAddress = address;
db.addInitialIncoming(session, newTx, function(_err) {
cb(_err, address);
});
});
};
exports.dispenseStatus = function dispenseStatus(session, cb) {
db.fetchDispenseStatus(session, cb);
console.log('DEBUG1');
db.dispenseStatus(session, cb);
};
exports.dispenseAck = function dispenseAck(session, tx) {