diff --git a/public/views/modals/destination-address.html b/public/views/modals/destination-address.html
index a7959b2bc..3ba1f4ac0 100644
--- a/public/views/modals/destination-address.html
+++ b/public/views/modals/destination-address.html
@@ -25,15 +25,15 @@
+
@@ -508,7 +504,7 @@
Cancel
-
diff --git a/src/css/main.css b/src/css/main.css
index 455cac320..2331f8f7f 100644
--- a/src/css/main.css
+++ b/src/css/main.css
@@ -603,10 +603,6 @@ ul.manage li {
color: #fff;
}
-.name-wallet i {
- color: #B6E9DF;
-}
-
.locked {
font-size: 11px;
color: #7A8C9E;
diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js
index 650b44f03..478efdc1f 100644
--- a/src/js/controllers/walletHome.js
+++ b/src/js/controllers/walletHome.js
@@ -130,7 +130,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
var confirm_msg = gettextCatalog.getString('Confirm');
this.openDestinationAddressModal = function(wallets, address) {
- self.destinationWalletNeedsBackup = null;
$rootScope.modalOpened = true;
var fc = profileService.focusedClient;
self.lockAddress = false;
@@ -247,22 +246,26 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
};
$scope.selectWallet = function(walletId, walletName) {
- $scope.gettingAddress = true;
- $scope.selectedWalletName = walletName;
- $timeout(function() {
- $scope.$apply();
- });
- addressService.getAddress(walletId, false, function(err, addr) {
- $scope.gettingAddress = false;
+ profileService.isBackupNeeded(walletId, function(needsBackup) {
+ $scope.needsBackup = {};
+ $scope.needsBackup[walletId] = needsBackup;
+ if (needsBackup) return;
- if (err) {
- self.error = err;
- $modalInstance.dismiss('cancel');
- return;
- }
+ $scope.gettingAddress = true;
+ $scope.selectedWalletName = walletName;
+ $timeout(function() {
+ $scope.$apply();
+ });
+
+ addressService.getAddress(walletId, false, function(err, addr) {
+ $scope.gettingAddress = false;
+
+ if (err) {
+ self.error = err;
+ $modalInstance.dismiss('cancel');
+ return;
+ }
- profileService.isBackupNeeded(walletId, function(needsBackup) {
- self.destinationWalletNeedsBackup = needsBackup;
$modalInstance.close(addr);
});
});
@@ -859,7 +862,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
};
this.submitForm = function() {
- if (!$scope._amount || !$scope._address || self.destinationWalletNeedsBackup) return;
+ if (!$scope._amount || !$scope._address) return;
var fc = profileService.focusedClient;
var unitToSat = this.unitToSatoshi;
var currentSpendUnconfirmed = configWallet.spendUnconfirmed;
@@ -991,7 +994,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this.resetForm = function() {
this.resetError();
- this.destinationWalletNeedsBackup = null;
this._paypro = null;
this.lockedCurrentFeePerKb = null;
diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js
index 9a33010ad..e1a377af2 100644
--- a/src/js/services/profileService.js
+++ b/src/js/services/profileService.js
@@ -181,18 +181,6 @@ angular.module('copayApp.services')
});
};
- root.isBackupNeeded = function(walletId, cb) {
- var c = root.getClient(walletId);
- if (c.isPrivKeyExternal()) return cb(false);
- if (!c.credentials.mnemonic) return cb(false);
- if (c.credentials.network == 'testnet') return cb(false);
-
- storageService.getBackupFlag(walletId, function(err, val) {
- if (err || val) return cb(false);
- return cb(true);
- });
- };
-
root._seedWallet = function(opts, cb) {
opts = opts || {};
if (opts.bwsurl)
@@ -306,8 +294,8 @@ angular.module('copayApp.services')
// check if exist
if (lodash.find(root.profile.credentials, {
- 'walletId': walletData.walletId
- })) {
+ 'walletId': walletData.walletId
+ })) {
return cb(gettext('Cannot join the same wallet more that once'));
}
} catch (ex) {
@@ -680,6 +668,18 @@ angular.module('copayApp.services')
});
};
+ root.isBackupNeeded = function(walletId, cb) {
+ var c = root.getClient(walletId);
+ if (c.isPrivKeyExternal()) return cb(false);
+ if (!c.credentials.mnemonic) return cb(false);
+ if (c.credentials.network == 'testnet') return cb(false);
+
+ storageService.getBackupFlag(walletId, function(err, val) {
+ if (err || val) return cb(false);
+ return cb(true);
+ });
+ };
+
root.getWallets = function(network) {
if (!root.profile) return [];