diff --git a/src/js/controllers/tab-receive.js b/src/js/controllers/tab-receive.js index 26e71e57c..763253d95 100644 --- a/src/js/controllers/tab-receive.js +++ b/src/js/controllers/tab-receive.js @@ -51,10 +51,7 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi $timeout(function() { walletService.getAddress($scope.wallet, forceNew, function(err, addr) { $scope.generatingAddress = false; - if (err || lodash.isEmpty(addr)) { - popupService.showAlert(gettextCatalog.getString('Error'), err || gettextCatalog.getString('Address is empty')); - return; - } + if (err) popupService.showAlert(gettextCatalog.getString('Error'), err); $scope.addr = addr; $scope.$apply(); }); diff --git a/src/js/services/walletService.js b/src/js/services/walletService.js index 0c9d00583..aedd12eb3 100644 --- a/src/js/services/walletService.js +++ b/src/js/services/walletService.js @@ -791,29 +791,16 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim root.getAddress = function(wallet, forceNew, cb) { - var firstStep; - if (forceNew) { - firstStep = storageService.clearLastAddress; - } else { - firstStep = function(walletId, cb) { - return cb(); - }; - } - - firstStep(wallet.id, function(err) { + storageService.getLastAddress(wallet.id, function(err, addr) { if (err) return cb(err); - storageService.getLastAddress(wallet.id, function(err, addr) { - if (err) return cb(err); + if (!forceNew && addr) return cb(null, addr); - if (addr) return cb(null, addr); - - createAddress(wallet, function(err, addr) { + createAddress(wallet, function(err, _addr) { + if (err) return cb(err, addr); + storageService.storeLastAddress(wallet.id, _addr, function() { if (err) return cb(err); - storageService.storeLastAddress(wallet.id, addr, function() { - if (err) return cb(err); - return cb(null, addr); - }); + return cb(null, _addr); }); }); });