From e1dc275ddd73dba360a2528495c8e14e713b2af9 Mon Sep 17 00:00:00 2001 From: Yemel Jardi Date: Mon, 23 Jun 2014 14:57:23 -0300 Subject: [PATCH] Refresh balance on new block --- js/services/controllerUtils.js | 9 +++++++++ js/services/socket.js | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 2dac5eb13..4cfc731f5 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -292,6 +292,15 @@ angular.module('copayApp.services') }); }); }); + + if (!$rootScope.wallet.spendUnconfirmed && !Socket.isListeningBlocks()) { + Socket.emit('subscribe', 'inv'); + Socket.on('block', function(block) { + root.updateBalance(function() { + $rootScope.$digest(); + }); + }); + } }; return root; }); diff --git a/js/services/socket.js b/js/services/socket.js index dcbeabd95..10f843b6f 100644 --- a/js/services/socket.js +++ b/js/services/socket.js @@ -38,6 +38,7 @@ angular.module('copayApp.services').factory('Socket', var ret = {}; var addrList = listeners + .filter(function(i) { return i.event != 'block'; }) .map(function(i) {return i.event;}); for (var i in addrList) { @@ -45,6 +46,9 @@ angular.module('copayApp.services').factory('Socket', } return ret; }, + isListeningBlocks: function() { + return listeners.filter(function(i) { return i.event == 'block'; }).length > 0; + }, emit: function(event, data, callback) { socket.emit(event, data, function() { var args = arguments;