new key test, upgrades to bwc 2.7.0

This commit is contained in:
Matias Alejo Garcia 2016-06-14 12:28:21 -03:00
commit 52a20334e1
No known key found for this signature in database
GPG key ID: 02470DB551277AB3
4 changed files with 55 additions and 26 deletions

View file

@ -75,11 +75,6 @@ angular.module('copayApp.services')
root.walletClients[walletId].started = true;
root.walletClients[walletId].doNotVerifyPayPro = isChromeApp;
if (client.incorrectDerivation) {
$log.warn('Key Derivation failed for wallet:' + walletId);
storageService.clearLastAddress(walletId, function() {});
}
client.removeAllListeners();
client.on('report', function(n) {
$log.info('BWC Report:' + n);
@ -121,6 +116,29 @@ angular.module('copayApp.services')
return true;
};
root.runValidation = function(client) {
var skipDeviceValidation = root.profile.isDeviceChecked(platformInfo.ua);
var walletId = client.credentials.walletId;
$timeout(function() {
$log.debug('ValidatingWallet: ' + walletId + ' device validation:' + skipDeviceValidation);
$rootScope.$emit('Local/ValidatingWallet', walletId);
client.validateKeyDerivation({
skipDeviceValidation: skipDeviceValidation,
}, function(err, isOK) {
$rootScope.$emit('Local/ValidatingWalletEnded', walletId, isOK);
if (isOK) {
root.profile.setChecked(platformInfo.ua, walletId);
} else {
$log.warn('Key Derivation failed for wallet:' + walletId);
storageService.clearLastAddress(walletId, function() {});
}
});
}, 10);
};
// Used when reading wallets from the profile
root.bindWallet = function(credentials, cb) {
@ -135,22 +153,18 @@ angular.module('copayApp.services')
return ((config.bwsFor && config.bwsFor[walletId]) || defaults.bws.url);
};
var client = bwcService.getClient(JSON.stringify(credentials), {
bwsurl: getBWSURL(credentials.walletId),
});
var skipKeyValidation = root.profile.isChecked(platformInfo.ua, credentials.walletId);
if (!skipKeyValidation) {
$rootScope.$emit('Local/ValidatingWallet');
}
$timeout(function() {
$log.info('Binding wallet:' + credentials.walletId + ' Validating?:' + !skipKeyValidation);
var client = bwcService.getClient(JSON.stringify(credentials), {
bwsurl: getBWSURL(credentials.walletId),
skipKeyValidation: skipKeyValidation,
});
if (!skipKeyValidation && !client.incorrectDerivation)
root.profile.setChecked(platformInfo.ua, credentials.walletId);
if (!skipKeyValidation)
root.runValidation(client);
return cb(null, root.bindWalletClient(client));
}, skipKeyValidation ? 50 : 0);
$log.info('Binding wallet:' + credentials.walletId + ' Validating?:' + !skipKeyValidation);
return cb(null, root.bindWalletClient(client));
};
root.bindProfile = function(profile, cb) {