From 5dec3249d1866a3d9cc1331aef386de28ed5478f Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 29 Jan 2016 16:39:32 -0300 Subject: [PATCH] Updates bitcore-wallet-client and fix functions --- package.json | 2 +- src/js/controllers/walletHome.js | 86 ++++++++++++++++---------------- src/js/services/txSignService.js | 4 +- 3 files changed, 45 insertions(+), 47 deletions(-) diff --git a/package.json b/package.json index bc60bfd79..18238f84a 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "url": "https://github.com/bitpay/copay/issues" }, "dependencies": { - "bitcore-wallet-client": "1.5.0", + "bitcore-wallet-client": "2.1.0", "express": "^4.11.2", "fs": "0.0.2", "grunt": "^0.4.5", diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 451814934..a2d8503e8 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -808,69 +808,67 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi 'message': comment }); - txSignService.prepare(function(err) { + var opts = { + toAddress: address, + amount: amount, + outputs: outputs, + message: comment, + payProUrl: paypro ? paypro.url : null, + lockedCurrentFeePerKb: self.lockedCurrentFeePerKb + }; + + self.setOngoingProcess(gettextCatalog.getString('Creating transaction')); + txSignService.createTx(opts, function(err, txp) { + self.setOngoingProcess(); if (err) { return self.setSendError(err); } - var opts = { - toAddress: address, - amount: amount, - outputs: outputs, - message: comment, - payProUrl: paypro ? paypro.url : null, - lockedCurrentFeePerKb: self.lockedCurrentFeePerKb - }; - - self.setOngoingProcess(gettextCatalog.getString('Creating transaction')); - txSignService.createTx(opts, function(err, txp) { + if (!fc.canSign() && !fc.isPrivKeyExternal()) { self.setOngoingProcess(); - if (err) { - return self.setSendError(err); - } - - if (!fc.canSign() && !fc.isPrivKeyExternal()) { - self.setOngoingProcess(); - $log.info('No signing proposal: No private key'); - self.resetForm(); - txStatus.notify(txp, function() { - return $scope.$emit('Local/TxProposalAction'); - }); - return; - } else { - $rootScope.$emit('Local/NeedConfirmation', txp, function(accept) { - if (accept) self.acceptTx(txp); - else self.resetForm(); - }); - } - }); - + $log.info('No signing proposal: No private key'); + self.resetForm(); + txStatus.notify(txp, function() { + return $scope.$emit('Local/TxProposalAction'); + }); + return; + } else { + $rootScope.$emit('Local/NeedConfirmation', txp, function(accept) { + if (accept) self.acceptTx(txp); + else self.resetForm(); + }); + } }); + }, 100); }; this.acceptTx = function(txp) { var self = this; - this.confirmTxPopup = null; - this.setOngoingProcess(gettextCatalog.getString('Sending transaction')); - txSignService.publishTx(txp, function(err) { - self.setOngoingProcess(); + txSignService.prepare(function(err) { if (err) { - $log.debug(err); - self.setSendError(err); - } else { - self.resetForm(); - // self.signAndBroadcastTx(txp); + return self.setSendError(err); } + self.setOngoingProcess(gettextCatalog.getString('Sending transaction')); + txSignService.publishTx(txp, function(err, txpPublished) { + if (err) { + self.setOngoingProcess(); + self.setSendError(err); + } else { + self.prepareSignAndBroadcastTx(txpPublished); + } + }); }); }; - this.signAndBroadcastTx = function() { + this.prepareSignAndBroadcastTx = function(txp) { + var fc = profileService.focusedClient; var self = this; - txSignService.signAndBroadcast(txp, { + txSignService.prepareAndSignAndBroadcast(txp, { reporterFn: self.setOngoingProcess.bind(self) }, function(err, txp) { self.resetForm(); + if (err) { self.error = err.message ? err.message : gettext('The payment was created but could not be completed. Please try again from home screen'); $scope.$emit('Local/TxProposalAction'); @@ -882,7 +880,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi txStatus.notify(txp, function() { $scope.$emit('Local/TxProposalAction', txp.status == 'broadcasted'); }); - }; + } }); }; diff --git a/src/js/services/txSignService.js b/src/js/services/txSignService.js index 3dd8d9726..af54aca70 100644 --- a/src/js/services/txSignService.js +++ b/src/js/services/txSignService.js @@ -120,9 +120,9 @@ angular.module('copayApp.services').factory('txSignService', function($rootScope root.publishTx = function(txp, cb) { var fc = profileService.focusedClient; - fc.publishTxProposal({txp: txp}, function(err) { + fc.publishTxProposal({txp: txp}, function(err, txp) { if (err) return cb(err); - else return cb(); + else return cb(null, txp); }); };