diff --git a/index.html b/index.html index ece511429..04fee0a18 100644 --- a/index.html +++ b/index.html @@ -286,6 +286,13 @@
+ + Transaction ready. + + + Sent at {{tx.sentTs | date:'medium'}} @@ -299,8 +306,8 @@
-
+
diff --git a/js/controllers/transactions.js b/js/controllers/transactions.js index c140160b0..39bf65282 100644 --- a/js/controllers/transactions.js +++ b/js/controllers/transactions.js @@ -43,6 +43,7 @@ console.log('[transactions.js.10:_updateTxs:]'); //TODO }); $scope.txs = txs; console.log('[transactions.js.55] SET HANDL+'); //TODO + w.removeListener('txProposalsUpdated',_updateTxs) w.once('txProposalsUpdated',_updateTxs); }; @@ -58,6 +59,20 @@ console.log('[transactions.js.55] SET HANDL+'); //TODO socket.on('connect', controllerUtils.handleTransactionByAddress($scope)); } + + $scope.send = function (ntxid) { + var w = $rootScope.wallet; + w.sendTx(ntxid, function(txid) { +console.log('[transactions.js.68:txid:] SENTTX CALLBACK',txid); //TODO + $rootScope.flashMessage = txid + ? {type:'success', message: 'Transactions SENT! txid:' + txid} + : {type:'error', message: 'There was an error sending the Transaction'} + ; + _updateTxs(); + $rootScope.$digest(); + }); + }; + $scope.sign = function (ntxid) { var w = $rootScope.wallet; var ret = w.sign(ntxid); @@ -65,19 +80,16 @@ console.log('[transactions.js.55] SET HANDL+'); //TODO var p = w.getTxProposal(ntxid); if (p.txp.builder.isFullySigned()) { - w.sendTx(ntxid, function(txid) { - $rootScope.flashMessage = txid - ? {type:'success', message: 'Transactions SENT! txid:' + txid} - : {type:'error', message: 'There was an error sending the Transaction'} - ; - }); + $scope.send(ntxid); } else { $rootScope.flashMessage = ret ? {type:'success', message: 'Transactions signed'} : {type:'error', message: 'There was an error signing the Transaction'} ; + _updateTxs(); + $rootScope.$digest(); } - _updateTxs(); }; + }); diff --git a/js/models/core/TxProposals.js b/js/models/core/TxProposals.js index e056d9e8f..28f9dadbe 100644 --- a/js/models/core/TxProposals.js +++ b/js/models/core/TxProposals.js @@ -19,7 +19,7 @@ function TxProposal(opts) { this.seenBy = opts.seenBy || {}; this.signedBy = opts.signedBy || {}; this.builder = opts.builder; - this.sentTs = null; + this.sentTs = opts.sentTs || null; } TxProposal.prototype.toObj = function() { @@ -29,6 +29,11 @@ TxProposal.prototype.toObj = function() { return o; }; + +TxProposal.prototype.setSent = function() { + this.sentTs = Date.now();; +}; + TxProposal.fromObj = function(o) { var t = new TxProposal(o); var b = new Builder.fromObj(o.builderObj); @@ -36,10 +41,6 @@ TxProposal.fromObj = function(o) { return t; }; -TxProposal.setSent = function() { - this.sentTs = Date.now();; -}; - TxProposal.getSentTs = function() { return this.sentTs; }; diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index 45e62301b..e82bff825 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -334,7 +334,7 @@ Wallet.prototype.sign = function(ntxid) { return ret; }; -Wallet.prototype.sendTx = function(ntxid) { +Wallet.prototype.sendTx = function(ntxid, cb) { var txp = this.txProposals.txps[ntxid]; if (!txp) return; @@ -350,10 +350,10 @@ Wallet.prototype.sendTx = function(ntxid) { self.log('BITCOND txid:',txid); //TODO if (txid) { self.txProposals.setSent(ntxid); - self.sendTxProposals(); - self.store(); } - return (txid); + self.sendTxProposals(); + self.store(); + return cb(txid); }); };