Bug fixes - ledger testing
This commit is contained in:
parent
c0e90ac21a
commit
413990f94c
9 changed files with 66 additions and 55 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
});
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue