diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 5acd92c6a..897978036 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -740,9 +740,17 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi return; }; + var comment = form.comment.$modelValue; + + // ToDo: use a credential's (or fc's) function for this + if (comment && !fc.credentials.sharedEncryptingKey) { + var msg = 'Could not add message to imported wallet without shared encrypting key'; + $log.warn(msg); + return self.setSendError(gettext(msg)); + } + self.setOngoingProcess(gettext('Creating transaction')); $timeout(function() { - var comment = form.comment.$modelValue; var paypro = self._paypro; var address, amount; diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js index f598946e5..a8727caab 100644 --- a/src/js/services/bwsError.js +++ b/src/js/services/bwsError.js @@ -103,6 +103,8 @@ angular.module('copayApp.services') body = err.message || err.code; break; } + } else { + body = gettextCatalog.getString(err); } var msg = prefix + ( body ? ': ' + body : ''); diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index 0ad490325..5e2ab7df7 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -172,7 +172,7 @@ angular.module('copayApp.services') if (opts.mnemonic && opts.mnemonic.indexOf('m/') == 0) { var xPrivKey = root._preDerivation(opts.mnemonic, network); - if (!xPrivKey) + if (!xPrivKey) return bwsError.cb('Bad derivation', gettext('Could not import'), cb); opts.mnemonic = null; opts.extendedPrivateKey = xPrivKey; @@ -389,7 +389,7 @@ angular.module('copayApp.services') if (words.indexOf('m/') == 0) { var xPrivKey = root._preDerivation(words, opts.networkName); - if (!xPrivKey) + if (!xPrivKey) return bwsError.cb('Bad derivation', gettext('Could not import'), cb); return root.importExtendedPrivateKey(xPrivKey, cb); } @@ -562,19 +562,18 @@ angular.module('copayApp.services') return lodash.sortBy(ret, 'name'); }; - root._signWithLedger = function(txp,cb) { + root._signWithLedger = function(txp, cb) { var fc = root.focusedClient; $log.info('Requesting Ledger Chrome app to sign the transaction'); ledger.signTx(txp, 0, function(result) { - if (!result.success) + if (!result.success) return cb(result); - txp.signatures = []; - for (var i=0; i