From 22cd4cae94549f292caa0ae573af32df250aa214 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 11:59:38 -0300 Subject: [PATCH 01/10] make explicit refreshes when storing wallet --- js/models/core/Wallet.js | 52 +++++++++++++++------------------- js/services/controllerUtils.js | 2 ++ 2 files changed, 25 insertions(+), 29 deletions(-) diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index f7180c3c0..b6b38b233 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -9,8 +9,8 @@ var Builder = bitcore.TransactionBuilder; var http = require('http'); var EventEmitter = imports.EventEmitter || require('events').EventEmitter; var copay = copay || require('../../../copay'); -var SecureRandom = bitcore.SecureRandom; -var Base58Check = bitcore.Base58.base58Check; +var SecureRandom = bitcore.SecureRandom; +var Base58Check = bitcore.Base58.base58Check; function Wallet(opts) { var self = this; @@ -81,7 +81,7 @@ Wallet.prototype._handlePublicKeyRing = function(senderId, data, isInbound) { Wallet.prototype._handleTxProposals = function(senderId, data, isInbound) { - this.log('RECV TXPROPOSAL:', data); + this.log('RECV TXPROPOSAL:', data); var recipients; var inTxp = copay.TxProposals.fromObj(data.txProposals); @@ -127,7 +127,6 @@ Wallet.prototype._handleNetworkChange = function(newCopayerId) { this.sendWalletId(newCopayerId); this.emit('peer', this.network.peerFromCopayer(newCopayerId)); } - this.emit('refresh'); }; @@ -156,9 +155,9 @@ Wallet.prototype.getMyCopayerId = function() { Wallet.prototype.getSecret = function() { - var i = new Buffer(this.getMyCopayerId(),'hex'); - var k = new Buffer(this.netKey,'base64'); - var b = Buffer.concat([i,k]); + var i = new Buffer(this.getMyCopayerId(), 'hex'); + var k = new Buffer(this.netKey, 'base64'); + var b = Buffer.concat([i, k]); var str = Base58Check.encode(b); return str; }; @@ -167,7 +166,7 @@ Wallet.prototype.getSecret = function() { Wallet.decodeSecret = function(secretB) { var secret = Base58Check.decode(secretB); var netKeyBuf = secret.slice(-8); - var pubKeyBuf = secret.slice(0,33); + var pubKeyBuf = secret.slice(0, 33); return { pubKey: pubKeyBuf.toString('hex'), netKey: netKeyBuf.toString('base64'), @@ -231,17 +230,10 @@ Wallet.prototype.getRegisteredPeerIds = function() { return this.registeredPeerIds; }; -Wallet.prototype.store = function(isSync) { +Wallet.prototype.store = function() { var wallet = this.toObj(); this.storage.setFromObj(this.id, wallet); - - if (isSync) { - this.log('Wallet stored.'); //TODO - } else { - this.log('Wallet stored. REFRESH Emitted'); //TODO - this.emit('refresh'); - } - + this.log('Wallet stored'); }; Wallet.prototype.toObj = function() { @@ -257,14 +249,14 @@ Wallet.prototype.toObj = function() { }; Wallet.fromObj = function(o, storage, network, blockchain) { - var opts = JSON.parse(JSON.stringify(o.opts)); + var opts = JSON.parse(JSON.stringify(o.opts)); opts.publicKeyRing = copay.PublicKeyRing.fromObj(o.publicKeyRing); - opts.txProposals = copay.TxProposals.fromObj(o.txProposals); - opts.privateKey = copay.PrivateKey.fromObj(o.privateKey); + opts.txProposals = copay.TxProposals.fromObj(o.txProposals); + opts.privateKey = copay.PrivateKey.fromObj(o.privateKey); - opts.storage = storage; - opts.network = network; - opts.blockchain = blockchain; + opts.storage = storage; + opts.network = network; + opts.blockchain = blockchain; var w = new Wallet(opts); return w; }; @@ -319,7 +311,8 @@ Wallet.prototype.sendPublicKeyRing = function(recipients) { Wallet.prototype.generateAddress = function(isChange) { var addr = this.publicKeyRing.generateAddress(isChange); this.sendPublicKeyRing(); - this.store(true); + this.store(); + this.emit('refresh'); return addr; }; @@ -346,7 +339,8 @@ Wallet.prototype.reject = function(ntxid) { txp.rejectedBy[myId] = Date.now(); this.sendTxProposals(); - this.store(true); + this.store(); + this.emit('refresh'); }; @@ -363,14 +357,14 @@ Wallet.prototype.sign = function(ntxid) { var before = b.signaturesAdded; b.sign(keys); - var ret = false; if (b.signaturesAdded > before) { txp.signedBy[myId] = Date.now(); this.sendTxProposals(); - this.store(true); - ret = true; + this.store(); + this.emit('refresh'); + return true; } - return ret; + return false; }; Wallet.prototype.sendTx = function(ntxid, cb) { diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index d3244c176..d52110cc5 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -80,6 +80,7 @@ angular.module('copay.controllerUtils') $location.path('addresses'); }); w.on('refresh', function() { + //alert('refresh'); root.updateBalance(function() { $rootScope.$digest(); }); @@ -93,6 +94,7 @@ angular.module('copay.controllerUtils') w.on('openError', root.onErrorDigest); w.on('peer', function(peerID) { video.callPeer(peerID, handlePeerVideo); + $rootScope.$digest(); }); w.on('close', root.onErrorDigest); w.netStart(); From 132920f90969561fa4cfbf05b79ffe9b1c981d22 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 12:14:57 -0300 Subject: [PATCH 02/10] change wallet event 'create' to 'ready' --- js/models/core/Wallet.js | 2 +- js/services/controllerUtils.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index b6b38b233..d60828c81 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -205,7 +205,7 @@ Wallet.prototype.netStart = function() { net.start(startOpts, function() { self.connectToAll(); - self.emit('created', net.getPeer()); + self.emit('ready', net.getPeer()); self.emit('refresh'); }); }; diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index d52110cc5..f155de2c5 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -74,10 +74,11 @@ angular.module('copay.controllerUtils') message: 'Received wrong message from peer id:' + peerId }; }); - w.on('created', function(myPeerID) { + w.on('ready', function(myPeerID) { video.setOwnPeer(myPeerID, w, handlePeerVideo); $rootScope.wallet = w; $location.path('addresses'); + $rootScope.$digest(); }); w.on('refresh', function() { //alert('refresh'); @@ -93,6 +94,7 @@ angular.module('copay.controllerUtils') }); w.on('openError', root.onErrorDigest); w.on('peer', function(peerID) { + //alert('peer'); video.callPeer(peerID, handlePeerVideo); $rootScope.$digest(); }); From 55ba5e6d3719149e0ee61a1d13d14b2cf202d0b5 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 14:35:57 -0300 Subject: [PATCH 03/10] connect working --- js/models/core/Wallet.js | 22 ++++++++++++++-------- js/models/core/WalletFactory.js | 2 +- js/models/network/WebRTC.js | 15 +++++---------- js/services/controllerUtils.js | 10 ++++------ 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index d60828c81..a906c20ed 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -49,12 +49,16 @@ Wallet.getRandomId = function() { return r; }; +Wallet.prototype.seedCopayer = function(pubKey) { + this.seededCopayerId = pubKey; +}; + Wallet.prototype.connectToAll = function() { var all = this.publicKeyRing.getAllCopayerIds(); this.network.connectToCopayers(all); - if (this.firstCopayerId) { - this.sendWalletReady(this.firstCopayerId); - this.firstCopayerId = null; + if (this.seededCopayerId) { + this.sendWalletReady(this.seededCopayerId); + this.seededCopayerId = null; } }; @@ -121,14 +125,17 @@ Wallet.prototype._handleData = function(senderId, data, isInbound) { } }; -Wallet.prototype._handleNetworkChange = function(newCopayerId) { +Wallet.prototype._handleConnect = function(newCopayerId) { if (newCopayerId) { this.log('#### Setting new COPAYER:', newCopayerId); this.sendWalletId(newCopayerId); - this.emit('peer', this.network.peerFromCopayer(newCopayerId)); } + var peerID = this.network.peerFromCopayer(newCopayerId) + this.emit('connect', peerID); }; +Wallet.prototype._handleDisconnect = function(copayerID) { +}; Wallet.prototype._optsToObj = function() { var obj = { @@ -181,9 +188,9 @@ Wallet.prototype.netStart = function() { var self = this; var net = this.network; net.removeAllListeners(); - net.on('networkChange', self._handleNetworkChange.bind(self)); + net.on('connect', self._handleConnect.bind(self)); + net.on('disconnect', self._handleDisconnect.bind(self)); net.on('data', self._handleData.bind(self)); - net.on('open', function() {}); // TODO net.on('openError', function() { self.log('[Wallet.js.132:openError:] GOT openError'); //TODO self.emit('openError'); @@ -283,7 +290,6 @@ Wallet.prototype.sendWalletReady = function(recipients) { type: 'walletReady', walletId: this.id, }); - this.emit('walletReady'); }; Wallet.prototype.sendWalletId = function(recipients) { diff --git a/js/models/core/WalletFactory.js b/js/models/core/WalletFactory.js index fc59b188d..4f110a279 100644 --- a/js/models/core/WalletFactory.js +++ b/js/models/core/WalletFactory.js @@ -193,7 +193,7 @@ WalletFactory.prototype.joinCreateSession = function(secret, nickname, passphras data.opts.passphrase = passphrase; data.opts.id = data.walletId; var w = self.create(data.opts); - w.firstCopayerId = s.pubKey; + w.seedCopayer(s.pubKey); return cb(null, w); } }); diff --git a/js/models/network/WebRTC.js b/js/models/network/WebRTC.js index 6f9eeaefd..59f520935 100644 --- a/js/models/network/WebRTC.js +++ b/js/models/network/WebRTC.js @@ -5,7 +5,7 @@ var bitcore = require('bitcore'); var util = bitcore.util; /* * Emits - * 'networkChange' + * 'connect' * when network layout has change (new/lost peers, etc) * * 'data' @@ -117,7 +117,7 @@ Network.prototype._deletePeer = function(peerId) { Network.prototype._onClose = function(peerId) { this._deletePeer(peerId); - this._notifyNetworkChange(); + this.emit('disconnect'); }; Network.prototype.connectToCopayers = function(copayerIds) { @@ -128,8 +128,7 @@ Network.prototype.connectToCopayers = function(copayerIds) { if (this.allowedCopayerIds && !this.allowedCopayerIds[copayerId]) { console.log('### IGNORING STRANGE COPAYER:', copayerId); this._deletePeer(this.peerFromCopayer(copayerId)); - } - else { + } else { console.log('### CONNECTING TO:', copayerId); self.connectTo(copayerId); } @@ -178,8 +177,7 @@ Network.prototype._onData = function(encStr, isInbound, peerId) { console.log('#### Peer sent hello. Setting it up.'); //TODO this._addConnectedCopayer(payload.copayerId, isInbound); this._setInboundPeerAuth(peerId, true); - this._notifyNetworkChange( isInbound ? payload.copayerId : null); - this.emit('open'); + this.emit('connect', payload.copayerId); return; } @@ -227,6 +225,7 @@ Network.prototype._setupConnectionHandlers = function(dataConn, toCopayerId) { if(toCopayerId) { self._addConnectedCopayer(toCopayerId); self._sendHello(toCopayerId); + self.emit('connect', toCopayerId); // TODO: try to unify both 'connect' emits } } }); @@ -251,10 +250,6 @@ Network.prototype._setupConnectionHandlers = function(dataConn, toCopayerId) { }); }; -Network.prototype._notifyNetworkChange = function(newCopayerId) { - this.emit('networkChange', newCopayerId); -}; - Network.prototype._setupPeerHandlers = function(openCallback) { var self = this; var p = this.peer; diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index f155de2c5..76302af12 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -10,8 +10,6 @@ angular.module('copay.controllerUtils') var vi = $rootScope.videoInfo[copayer] if (!vi) return; - //alert($rootScope.wallet.getOnlinePeerIDs()); - //alert(copayer); if ($rootScope.wallet.getOnlinePeerIDs().indexOf(copayer) === -1) { // peer disconnected, remove his video delete $rootScope.videoInfo[copayer] @@ -81,7 +79,6 @@ angular.module('copay.controllerUtils') $rootScope.$digest(); }); w.on('refresh', function() { - //alert('refresh'); root.updateBalance(function() { $rootScope.$digest(); }); @@ -93,9 +90,10 @@ angular.module('copay.controllerUtils') }); }); w.on('openError', root.onErrorDigest); - w.on('peer', function(peerID) { - //alert('peer'); - video.callPeer(peerID, handlePeerVideo); + w.on('connect', function(peerID) { + if (peerID) { + video.callPeer(peerID, handlePeerVideo); + } $rootScope.$digest(); }); w.on('close', root.onErrorDigest); From 1b870835793b7864c95b61734eb580082010376e Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 14:44:05 -0300 Subject: [PATCH 04/10] disconnect working --- js/models/core/Wallet.js | 3 ++- js/models/network/WebRTC.js | 6 +++--- js/services/controllerUtils.js | 3 +++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index a906c20ed..5bab60fe8 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -134,7 +134,8 @@ Wallet.prototype._handleConnect = function(newCopayerId) { this.emit('connect', peerID); }; -Wallet.prototype._handleDisconnect = function(copayerID) { +Wallet.prototype._handleDisconnect = function(peerID) { + this.emit('disconnect', peerID); }; Wallet.prototype._optsToObj = function() { diff --git a/js/models/network/WebRTC.js b/js/models/network/WebRTC.js index 59f520935..5877f45a2 100644 --- a/js/models/network/WebRTC.js +++ b/js/models/network/WebRTC.js @@ -115,9 +115,9 @@ Network.prototype._deletePeer = function(peerId) { this.connectedPeers = Network._arrayRemove(peerId, this.connectedPeers); }; -Network.prototype._onClose = function(peerId) { - this._deletePeer(peerId); - this.emit('disconnect'); +Network.prototype._onClose = function(peerID) { + this._deletePeer(peerID); + this.emit('disconnect', peerID); }; Network.prototype.connectToCopayers = function(copayerIds) { diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 76302af12..e3574c5fe 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -96,6 +96,9 @@ angular.module('copay.controllerUtils') } $rootScope.$digest(); }); + w.on('disconnect', function(peerID) { + $rootScope.$digest(); + }); w.on('close', root.onErrorDigest); w.netStart(); }; From 0f1d651e366c59d7b8f81c7fd052d47f8c36a579 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 15:02:57 -0300 Subject: [PATCH 05/10] unified connect calls --- js/models/network/WebRTC.js | 7 +++---- js/services/controllerUtils.js | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/js/models/network/WebRTC.js b/js/models/network/WebRTC.js index 5877f45a2..675893af7 100644 --- a/js/models/network/WebRTC.js +++ b/js/models/network/WebRTC.js @@ -147,6 +147,7 @@ Network.prototype._addConnectedCopayer = function(copayerId, isInbound) { var peerId = this.peerFromCopayer(copayerId); this._addCopayerMap(peerId,copayerId); Network._arrayPushOnce(peerId, this.connectedPeers); + this.emit('connect', copayerId); }; Network.prototype._onData = function(encStr, isInbound, peerId) { @@ -177,7 +178,6 @@ Network.prototype._onData = function(encStr, isInbound, peerId) { console.log('#### Peer sent hello. Setting it up.'); //TODO this._addConnectedCopayer(payload.copayerId, isInbound); this._setInboundPeerAuth(peerId, true); - this.emit('connect', payload.copayerId); return; } @@ -223,9 +223,8 @@ Network.prototype._setupConnectionHandlers = function(dataConn, toCopayerId) { // The connecting peer send hello if(toCopayerId) { - self._addConnectedCopayer(toCopayerId); self._sendHello(toCopayerId); - self.emit('connect', toCopayerId); // TODO: try to unify both 'connect' emits + self._addConnectedCopayer(toCopayerId); } } }); @@ -423,7 +422,7 @@ Network.prototype.lockIncommingConnections = function(allowedCopayerIdsArray) { this.allowedCopayerIds={}; for(var i in allowedCopayerIdsArray) { - this.allowedCopayerIds[ allowedCopayerIdsArray[i] ] = 1; + this.allowedCopayerIds[ allowedCopayerIdsArray[i] ] = true; } }; diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index e3574c5fe..76dbb8fdf 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -91,6 +91,7 @@ angular.module('copay.controllerUtils') }); w.on('openError', root.onErrorDigest); w.on('connect', function(peerID) { + //alert(w.getRegisteredPeerIds()); if (peerID) { video.callPeer(peerID, handlePeerVideo); } From bdbe8bdfc74e37c3d6a4e77560dba6438878a2db Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 15:05:47 -0300 Subject: [PATCH 06/10] remove pubKeyRingUpdated event --- js/models/core/Wallet.js | 2 +- js/services/controllerUtils.js | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index 5bab60fe8..6a0e0b19e 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -79,7 +79,7 @@ Wallet.prototype._handlePublicKeyRing = function(senderId, data, isInbound) { recipients = null; this.sendPublicKeyRing(recipients); } - this.emit('publicKeyRingUpdated', this.publicKeyRing); + this.emit('refresh', this.publicKeyRing); this.store(); }; diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 76dbb8fdf..051deefee 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -84,11 +84,6 @@ angular.module('copay.controllerUtils') }); $rootScope.$digest(); }); - w.on('publicKeyRingUpdated', function() { - root.updateBalance(function() { - $rootScope.$digest(); - }); - }); w.on('openError', root.onErrorDigest); w.on('connect', function(peerID) { //alert(w.getRegisteredPeerIds()); From 62668e8d860188158e629ec7e87bddd8fe1c5200 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 15:06:19 -0300 Subject: [PATCH 07/10] remove comments --- js/services/controllerUtils.js | 1 - 1 file changed, 1 deletion(-) diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 051deefee..36f2d7703 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -86,7 +86,6 @@ angular.module('copay.controllerUtils') }); w.on('openError', root.onErrorDigest); w.on('connect', function(peerID) { - //alert(w.getRegisteredPeerIds()); if (peerID) { video.callPeer(peerID, handlePeerVideo); } From f764c743e4306a9045817c5f509b0d0bbceb15db Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 15:17:24 -0300 Subject: [PATCH 08/10] remove many unnecesary digests --- js/controllers/addresses.js | 1 - js/controllers/header.js | 1 - js/models/core/Wallet.js | 1 - js/services/controllerUtils.js | 3 +-- 4 files changed, 1 insertion(+), 5 deletions(-) diff --git a/js/controllers/addresses.js b/js/controllers/addresses.js index 0a5470ea5..36bc1d2e0 100644 --- a/js/controllers/addresses.js +++ b/js/controllers/addresses.js @@ -11,7 +11,6 @@ angular.module('copay.addresses').controller('AddressesController', w.generateAddress(); controllerUtils.updateBalance(function() { $scope.loading = false; - $rootScope.$digest(); }); }; diff --git a/js/controllers/header.js b/js/controllers/header.js index 6f69a5d3a..e97010e1e 100644 --- a/js/controllers/header.js +++ b/js/controllers/header.js @@ -46,7 +46,6 @@ angular.module('copay.header').controller('HeaderController', var w = $rootScope.wallet; w.connectToAll(); controllerUtils.updateBalance(function() { - $rootScope.$digest(); }); }; diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index 6a0e0b19e..27225bb8a 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -319,7 +319,6 @@ Wallet.prototype.generateAddress = function(isChange) { var addr = this.publicKeyRing.generateAddress(isChange); this.sendPublicKeyRing(); this.store(); - this.emit('refresh'); return addr; }; diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 36f2d7703..6f2e74a68 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -80,7 +80,6 @@ angular.module('copay.controllerUtils') }); w.on('refresh', function() { root.updateBalance(function() { - $rootScope.$digest(); }); $rootScope.$digest(); }); @@ -111,6 +110,7 @@ angular.module('copay.controllerUtils') $rootScope.balanceByAddr = balanceByAddr; $rootScope.selectedAddr = $rootScope.addrInfos[0].address.toString(); $rootScope.loading = false; + $rootScope.$digest(); if (cb) cb(); }); w.getBalance(true, function(balance) { @@ -135,7 +135,6 @@ angular.module('copay.controllerUtils') Socket.on(addr, function(txid) { console.log('Received!', txid); root.updateBalance(function() { - $rootScope.$digest(); }); }); }); From af628dde9be0a3d8672a9a6e6dbb997f8127dd4e Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 15:39:02 -0300 Subject: [PATCH 09/10] reduce calls to insight in address gen --- js/controllers/addresses.js | 3 --- js/services/controllerUtils.js | 7 +++---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/js/controllers/addresses.js b/js/controllers/addresses.js index 36bc1d2e0..79a39a125 100644 --- a/js/controllers/addresses.js +++ b/js/controllers/addresses.js @@ -9,9 +9,6 @@ angular.module('copay.addresses').controller('AddressesController', $scope.newAddr = function() { $scope.loading = true; w.generateAddress(); - controllerUtils.updateBalance(function() { - $scope.loading = false; - }); }; $scope.selectAddr = function(addr) { diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 6f2e74a68..f065080f2 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -79,8 +79,8 @@ angular.module('copay.controllerUtils') $rootScope.$digest(); }); w.on('refresh', function() { - root.updateBalance(function() { - }); + alert('refresh'); + root.updateBalance(); $rootScope.$digest(); }); w.on('openError', root.onErrorDigest); @@ -134,8 +134,7 @@ angular.module('copay.controllerUtils') addrs.forEach(function(addr) { Socket.on(addr, function(txid) { console.log('Received!', txid); - root.updateBalance(function() { - }); + root.updateBalance(); }); }); }; From 4bfaf05930562ff7172d09d0cc3e4f99c620fa3a Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 9 May 2014 16:02:27 -0300 Subject: [PATCH 10/10] fix address generation --- js/controllers/addresses.js | 3 +++ js/services/controllerUtils.js | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/js/controllers/addresses.js b/js/controllers/addresses.js index 79a39a125..36bc1d2e0 100644 --- a/js/controllers/addresses.js +++ b/js/controllers/addresses.js @@ -9,6 +9,9 @@ angular.module('copay.addresses').controller('AddressesController', $scope.newAddr = function() { $scope.loading = true; w.generateAddress(); + controllerUtils.updateBalance(function() { + $scope.loading = false; + }); }; $scope.selectAddr = function(addr) { diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index f065080f2..30d90a1be 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -79,7 +79,6 @@ angular.module('copay.controllerUtils') $rootScope.$digest(); }); w.on('refresh', function() { - alert('refresh'); root.updateBalance(); $rootScope.$digest(); });