diff --git a/src/js/controllers/create.js b/src/js/controllers/create.js index da3a2c9c4..bbf4d992a 100644 --- a/src/js/controllers/create.js +++ b/src/js/controllers/create.js @@ -183,7 +183,7 @@ angular.module('copayApp.controllers').controller('createController', return; } - src.getInfoForNewWallet(opts, function(err, lopts) { + src.getInfoForNewWallet(opts.n > 1, account, function(err, lopts) { ongoingProcess.set('connecting' + $scope.seedSource.id, false); if (err) { popupService.showAlert(gettextCatalog.getString('Error'), err); diff --git a/src/js/controllers/import.js b/src/js/controllers/import.js index 4964058ef..e34546d9e 100644 --- a/src/js/controllers/import.js +++ b/src/js/controllers/import.js @@ -35,7 +35,7 @@ angular.module('copayApp.controllers').controller('importController', if ($scope.isChromeApp || $scope.isDevel) { $scope.seedOptions.push({ id: walletService.externalSource.trezor.id, - label: walletService.externalSource.ledger.longName, + label: walletService.externalSource.trezor.longName, }); $scope.formData.seedSource = $scope.seedOptions[0]; } diff --git a/src/js/controllers/join.js b/src/js/controllers/join.js index 73f3281bf..6800fc9fc 100644 --- a/src/js/controllers/join.js +++ b/src/js/controllers/join.js @@ -138,6 +138,7 @@ angular.module('copayApp.controllers').controller('joinController', account = account - 1; opts.account = account; + opts.isMultisig = true; ongoingProcess.set('connecting' + self.seedSourceId, true); var src = self.seedSourceId == walletService.externalSource.ledger.id ? ledger : trezor; diff --git a/src/js/controllers/preferencesExternal.js b/src/js/controllers/preferencesExternal.js index 6be633901..c44c0af6c 100644 --- a/src/js/controllers/preferencesExternal.js +++ b/src/js/controllers/preferencesExternal.js @@ -8,20 +8,22 @@ angular.module('copayApp.controllers').controller('preferencesExternalController return source.id == wallet.getPrivKeyExternalSourceName(); }); - $scope.hardwareConnected = $scope.externalSource.version.length > 0; + if ($scope.externalSource.hasEmbeddedHardware) { + $scope.hardwareConnected = $scope.externalSource.version.length > 0; - $scope.showMneumonicFromHardwarePopup = function() { - var title = gettextCatalog.getString('Warning!'); - var message = gettextCatalog.getString('Are you being watched? Anyone with your recovery phrase can access or spend your bitcoin.'); - popupService.showConfirm(title, message, null, null, function(res) { - if (res) { - walletService.showMneumonicFromHardware(wallet, function(err) { - if (err) { - popupService.showAlert(gettextCatalog.getString('Error'), err.message || err); - } - }); - } - }); - }; + $scope.showMneumonicFromHardwarePopup = function() { + var title = gettextCatalog.getString('Warning!'); + var message = gettextCatalog.getString('Are you being watched? Anyone with your recovery phrase can access or spend your bitcoin.'); + popupService.showConfirm(title, message, null, null, function(res) { + if (res) { + walletService.showMneumonicFromHardware(wallet, function(err) { + if (err) { + popupService.showAlert(gettextCatalog.getString('Error'), err.message || err); + } + }); + } + }); + }; + } }); \ No newline at end of file diff --git a/src/js/services/intelTEE.js b/src/js/services/intelTEE.js index a7e459ae7..36dbc5181 100644 --- a/src/js/services/intelTEE.js +++ b/src/js/services/intelTEE.js @@ -11,7 +11,8 @@ angular.module('copayApp.services') id: 'intelTEE', name: 'Intel TEE', longName: 'Intel TEE Hardware Wallet', - derivationStrategy: 'BIP44' + derivationStrategy: 'BIP44', + hasEmbeddedHardware: true }; if (!root.description.supported) { @@ -27,16 +28,16 @@ angular.module('copayApp.services') $log.error('Failed to create Intel Wallet enclave'); } - root.getInfoForNewWallet = function(opts, callback) { + root.getInfoForNewWallet = function(isMultisig, account, callback) { + var opts = {}; initSource(opts, function(err, opts) { if (err) return callback(err); - var isMultisig = opts.n > 1; - root.getEntropySource(opts.hwInfo.id, isMultisig, opts.account, function(err, entropySource) { + root.getEntropySource(opts.hwInfo.id, isMultisig, account, function(err, entropySource) { if (err) return callback(err); opts.entropySource = entropySource; - root.getXPubKey(opts.hwInfo.id, hwWallet.getAddressPath(root.description.id, isMultisig, opts.account, opts.networkName), function(data) { + root.getXPubKey(opts.hwInfo.id, hwWallet.getAddressPath(root.description.id, isMultisig, account, opts.networkName), function(data) { if (!data.success) { $log.warn(data.message); return callback(data); diff --git a/src/js/services/ledger.js b/src/js/services/ledger.js index df3ac4972..5336f39ce 100644 --- a/src/js/services/ledger.js +++ b/src/js/services/ledger.js @@ -9,7 +9,8 @@ angular.module('copayApp.services') supported: platformInfo.supportsLedger, id: 'ledger', name: 'Ledger', - longName: 'Ledger Hardware Wallet' + longName: 'Ledger Hardware Wallet', + hasEmbeddedHardware: false }; root.callbacks = {}; @@ -42,13 +43,13 @@ angular.module('copayApp.services') return callback(opts); }; - root.getInfoForNewWallet = function(opts, callback) { - var isMultisig = opts.n > 1; - root.getEntropySource(isMultisig, opts.account, function(err, entropySource) { + root.getInfoForNewWallet = function(isMultisig, account, callback) { + root.getEntropySource(isMultisig, account, function(err, entropySource) { if (err) return callback(err); + var opts = {}; opts.entropySource = entropySource; - root.getXPubKey(hwWallet.getAddressPath(root.description.id, isMultisig, opts.account), function(data) { + root.getXPubKey(hwWallet.getAddressPath(root.description.id, isMultisig, account), function(data) { if (!data.success) { $log.warn(data.message); return callback(data); diff --git a/src/js/services/trezor.js b/src/js/services/trezor.js index 407d94c4b..c3c406866 100644 --- a/src/js/services/trezor.js +++ b/src/js/services/trezor.js @@ -12,7 +12,8 @@ angular.module('copayApp.services') id: 'trezor', name: 'Trezor', longName: 'Trezor Hardware Wallet', - derivationStrategy: 'BIP48' + derivationStrategy: 'BIP48', + hasEmbeddedHardware: false }; root.getEntropySource = function(isMultisig, account, callback) { @@ -39,15 +40,15 @@ angular.module('copayApp.services') return callback(opts); }; - root.getInfoForNewWallet = function(opts, callback) { - var isMultisig = opts.n > 1; - root.getEntropySource(isMultisig, opts.account, function(err, data) { + root.getInfoForNewWallet = function(isMultisig, account, callback) { + var opts = {}; + root.getEntropySource(isMultisig, account, function(err, data) { if (err) return callback(err); opts.entropySource = data; $log.debug('Waiting TREZOR to settle...'); $timeout(function() { - root.getXPubKey(hwWallet.getAddressPath(root.description.id, isMultisig, opts.account), function(data) { + root.getXPubKey(hwWallet.getAddressPath(root.description.id, isMultisig, account), function(data) { if (!data.success) return callback(hwWallet._err(data)); diff --git a/www/views/includes/walletInfo.html b/www/views/includes/walletInfo.html index 7b149060e..98ec7ac02 100644 --- a/www/views/includes/walletInfo.html +++ b/www/views/includes/walletInfo.html @@ -4,16 +4,11 @@
Auditable - - - -#{{wallet.account || 0}} + - - + + + {{wallet.m}}-of-{{wallet.n}} #{{wallet.credentials.account || 0}} diff --git a/www/views/preferencesExternal.html b/www/views/preferencesExternal.html index beb4db140..bfb3562ad 100644 --- a/www/views/preferencesExternal.html +++ b/www/views/preferencesExternal.html @@ -6,26 +6,36 @@
-
- Hardware not connected.
- Check installation and retry. + +
+
+ No hardware information available. +
-
-
-
- Version - - {{externalSource.version || 'hardware disconnected'}} - +
+
+ Hardware not connected.
+ Check installation and retry. +
+ +
+
+
+ Version + + {{externalSource.version || 'hardware disconnected'}} + +
+
+ +
+
- -
- -
+