diff --git a/www/js/config.js b/www/js/config.js index a97e17fc9c65e922af8ba342636cf19fce343279..68d35ef7fd45ddc7af469bd4d1b3f8ec34d67f05 100644 --- a/www/js/config.js +++ b/www/js/config.js @@ -59,7 +59,7 @@ angular.module("cesium.config", []) } }, "version": "0.13.1", - "build": "2017-07-07T21:41:26.068Z", + "build": "2017-07-07T22:33:40.659Z", "newIssueUrl": "https://github.com/duniter/cesium/issues/new?labels=bug" }) diff --git a/www/js/controllers/join-controllers.js b/www/js/controllers/join-controllers.js index 4c643f0f9382e5b9cfc072f094b875b09ca13e2a..0a936b90adda4db0ed863438540dbe3aca6ba1de 100644 --- a/www/js/controllers/join-controllers.js +++ b/www/js/controllers/join-controllers.js @@ -168,7 +168,7 @@ function JoinModalController($scope, $state, $interval, $timeout, UIUtils, Crypt $scope.showAccountPubkey = function() { $scope.formData.computing=true; - CryptoUtils.connect($scope.formData.username, $scope.formData.password) + CryptoUtils.scryptKeypair($scope.formData.username, $scope.formData.password) .then(function(keypair) { $scope.formData.pubkey = CryptoUtils.util.encode_base58(keypair.signPk); $scope.formData.computing=false; @@ -318,56 +318,48 @@ function JoinModalController($scope, $state, $interval, $timeout, UIUtils, Crypt UIUtils.loading.show(); - csWallet.login($scope.formData.username, $scope.formData.password) - .then(function() { - if ($scope.accountType === "member") { - $scope.closeModal(); - csSettings.data.wallet = csSettings.data.wallet || {}; - csSettings.data.wallet.alertIfUnusedWallet = false; // do not alert if empty - // Redirect to wallet - $state.go('app.view_wallet'); - - // Send self - csWallet.self($scope.formData.pseudo, false/*do NOT load membership here*/) - .then(function() { - // Send membership IN - csWallet.membership.inside() - .then(function() { + return csWallet.login({auth: true, expectedPubkey: $scope.formData.pubkey, isNew: true}) + .then(function() { + if ($scope.accountType === "member") { + $scope.closeModal(); + csSettings.data.wallet = csSettings.data.wallet || {}; + csSettings.data.wallet.alertIfUnusedWallet = false; // do not alert if empty - $scope.closeModal(); - - // Redirect to wallet - $state.go('app.view_wallet') + // Send self + return csWallet.self($scope.formData.pseudo, false/*do NOT load membership here*/) + .then(function() { + // Send membership IN + csWallet.membership.inside() .then(function() { - $scope.downloadRevocationRegistration(); + + $scope.closeModal(); + + // Redirect to wallet + $state.go('app.view_wallet') + .then(function() { + $scope.downloadRevocationRegistration(); + }); + }) + .catch(function(err) { + if (err && err.ucode != BMA.errorCodes.MEMBERSHIP_ALREADY_SEND) return; + onErrorLogout('ERROR.SEND_MEMBERSHIP_IN_FAILED')(err); }); }) - .catch(function(err) { - // - if (err && err.ucode == BMA.errorCodes.MEMBERSHIP_ALREADY_SEND) { - - } - onErrorLogout('ERROR.SEND_MEMBERSHIP_IN_FAILED')(err); - }); - }) - .catch(onErrorLogout('ERROR.SEND_IDENTITY_FAILED')); - } - else{ - - csWallet.data.isNew = true; - - $scope.closeModal(); + .catch(onErrorLogout('ERROR.SEND_IDENTITY_FAILED')); + } + else{ + $scope.closeModal(); - //Redirect to wallet - $state.go('app.view_wallet'); + // Redirect to wallet + $state.go('app.view_wallet'); - } - }) - .catch(function(err) { - UIUtils.loading.hide(); - console.error('>>>>>>>' , err); - UIUtils.alert.error('ERROR.CRYPTO_UNKNOWN_ERROR'); - }); + } + }) + .catch(function(err) { + UIUtils.loading.hide(); + console.error('>>>>>>>' , err); + UIUtils.alert.error('ERROR.CRYPTO_UNKNOWN_ERROR'); + }); }; $scope.downloadRevocationRegistration = function() { diff --git a/www/js/controllers/wallet-controllers.js b/www/js/controllers/wallet-controllers.js index 16ed5044ed6e94790b7252ccc5452150b5860383..1c2643cecf00b541e953cbebf7a4322c365acf03 100644 --- a/www/js/controllers/wallet-controllers.js +++ b/www/js/controllers/wallet-controllers.js @@ -976,11 +976,10 @@ function WalletSecurityModalController($scope, UIUtils, csWallet, $translate, Cr var salt = $scope.formData.username; var pwd = $scope.formData.password; - CryptoUtils.connect(salt, pwd) + CryptoUtils.scryptKeypair(salt, pwd) .then(function (keypair) { $scope.pubkey = CryptoUtils.util.encode_base58(keypair.signPk); }) - .then(function () { if (!csWallet.isUserPubkey($scope.pubkey)) { UIUtils.alert.error('ERROR.SALT_OR_PASSWORD_NOT_CONFIRMED', 'ERROR.LOGIN_FAILED'); diff --git a/www/js/services/currency-services.js b/www/js/services/currency-services.js index 283c799627e07e8992a7e9970e45f4a96d674c83..24d08c5225487d9adb8c24600b7e63e59af837df 100644 --- a/www/js/services/currency-services.js +++ b/www/js/services/currency-services.js @@ -122,9 +122,7 @@ angular.module('cesium.currency.services', ['ngApi', 'cesium.bma.services']) }); } - function getData(options) { - options = options || {}; - //options.current = angular.isDefined(options.current) ? options.current : false; + function getData() { if (started) { // load only once return $q.when(data); diff --git a/www/js/services/wallet-services.js b/www/js/services/wallet-services.js index 99e2f4fc3a6296b8a7d6fa8742cca654ac727830..109219b0d6f76697da4723dc216bc3418246a03f 100644 --- a/www/js/services/wallet-services.js +++ b/www/js/services/wallet-services.js @@ -125,6 +125,7 @@ angular.module('cesium.wallet.services', ['ngApi', 'ngFileSaver', 'cesium.bma.se authData = res; data.pubkey = res.pubkey; + data.isNew = angular.isDefined(options.isNew) ? options.isNew : data.isNew; if (csSettings.data.keepAuthIdle) { data.keypair = res.keypair || { signSk: null, @@ -506,7 +507,8 @@ angular.module('cesium.wallet.services', ['ngApi', 'ngFileSaver', 'cesium.bma.se // Must be call after loadCurrency() and loadRequirements() finishLoadRequirements = function(currency) { - data.requirements.needCertificationCount = (!data.requirements.needMembership && (data.requirements.certificationCount < currency.parameters.sigQty)) ? + currency = currency || csCurrency.data; + data.requirements.needCertificationCount = (!data.requirements.needMembership && (data.requirements.certificationCount < csCurrency.parameters.sigQty)) ? (currency.parameters.sigQty - data.requirements.certificationCount) : 0; data.requirements.willNeedCertificationCount = (!data.requirements.needMembership && data.requirements.needCertificationCount === 0 && (data.requirements.certificationCount - data.requirements.willExpireCertificationCount) < currency.parameters.sigQty) ? @@ -1234,7 +1236,7 @@ angular.module('cesium.wallet.services', ['ngApi', 'ngFileSaver', 'cesium.bma.se var nbCharSalt = Math.round(record.answer.length / 2); var salt = record.answer.substr(0, nbCharSalt); var pwd = record.answer.substr(nbCharSalt); - return CryptoUtils.connect(salt, pwd) + return CryptoUtils.scryptKeypair(salt, pwd) .then(function (keypair) { record.pubkey = CryptoUtils.util.encode_base58(keypair.signPk); record.keypair = keypair;