both bch and btc wallets now backed up on first use
This commit is contained in:
parent
a2e7b80594
commit
9759e25a75
8 changed files with 87 additions and 49 deletions
|
|
@ -2,7 +2,13 @@
|
|||
|
||||
angular.module('copayApp.controllers').controller('backupController',
|
||||
function($scope, $timeout, $log, $state, $stateParams, $ionicHistory, lodash, profileService, bwcService, walletService, ongoingProcess, popupService, gettextCatalog, $ionicModal, firebaseEventsService) {
|
||||
$scope.wallet = profileService.getWallet($stateParams.walletId);
|
||||
if ($stateParams.bchWalletId && $stateParams.btcWalletId) {
|
||||
$scope.wallet = profileService.getWallet($stateParams.bchWalletId);
|
||||
$scope.btcWallet = profileService.getWallet($stateParams.btcWalletId);
|
||||
} else {
|
||||
$scope.wallet = profileService.getWallet($stateParams.walletId);
|
||||
}
|
||||
|
||||
$scope.viewTitle = $scope.wallet.name || $scope.wallet.credentials.walletName;
|
||||
$scope.n = $scope.wallet.n;
|
||||
var keys;
|
||||
|
|
@ -92,7 +98,8 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.home');
|
||||
} else $state.go('onboarding.disclaimer', {
|
||||
walletId: $stateParams.walletId,
|
||||
bchWalletId: $stateParams.bchWalletId,
|
||||
btcWalletId: $stateParams.btcWalletId,
|
||||
backedUp: true
|
||||
});
|
||||
});
|
||||
|
|
@ -138,6 +145,9 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
}
|
||||
|
||||
profileService.setBackupFlag($scope.wallet.credentials.walletId);
|
||||
if ($scope.btcWallet) {
|
||||
profileService.setBackupFlag($scope.btcWallet.credentials.walletId);
|
||||
}
|
||||
return cb();
|
||||
}, 1);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
angular.module('copayApp.controllers').controller('backupRequestController', function($scope, $state, $stateParams, $ionicConfig, popupService, gettextCatalog) {
|
||||
|
||||
$scope.walletId = $stateParams.walletId;
|
||||
$scope.bchWalletId = $stateParams.bchWalletId;
|
||||
$scope.btcWalletId = $stateParams.btcWalletId;
|
||||
|
||||
$scope.$on("$ionicView.enter", function() {
|
||||
$ionicConfig.views.swipeBackEnabled(false);
|
||||
|
|
@ -27,7 +28,8 @@ angular.module('copayApp.controllers').controller('backupRequestController', fun
|
|||
popupService.showConfirm(title, message, okText, cancelText, function(val) {
|
||||
if (val) {
|
||||
$state.go('onboarding.disclaimer', {
|
||||
walletId: $scope.walletId,
|
||||
bchWalletId: $scope.bchWalletId,
|
||||
btcWalletId: $scope.btcWalletId,
|
||||
backedUp: false
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,15 @@
|
|||
|
||||
angular.module('copayApp.controllers').controller('backupWarningController', function($scope, $state, $timeout, $stateParams, $ionicModal) {
|
||||
|
||||
$scope.walletId = $stateParams.walletId;
|
||||
$scope.fromState = $stateParams.from == 'onboarding' ? $stateParams.from + '.backupRequest' : $stateParams.from;
|
||||
if ($stateParams.from == 'onboarding') {
|
||||
$scope.bchWalletId = $stateParams.bchWalletId;
|
||||
$scope.btcWalletId = $stateParams.btcWalletId;
|
||||
$scope.fromState = $stateParams.from + '.backupRequest' ;
|
||||
} else {
|
||||
$scope.walletId = $stateParams.walletId;
|
||||
$scope.fromState = $stateParams.from;
|
||||
}
|
||||
|
||||
$scope.toState = $stateParams.from + '.backup';
|
||||
|
||||
$scope.openPopup = function() {
|
||||
|
|
@ -19,17 +26,30 @@ angular.module('copayApp.controllers').controller('backupWarningController', fun
|
|||
$scope.close = function() {
|
||||
$scope.warningModal.remove();
|
||||
$timeout(function() {
|
||||
$state.go($scope.toState, {
|
||||
walletId: $scope.walletId
|
||||
});
|
||||
if ($stateParams.from == 'onboarding') {
|
||||
$state.go($scope.toState, {
|
||||
bchWalletId: $scope.bchWalletId,
|
||||
btcWalletId: $scope.btcWalletId
|
||||
});
|
||||
} else {
|
||||
$state.go($scope.toState, {
|
||||
walletId: $scope.walletId
|
||||
});
|
||||
}
|
||||
}, 200);
|
||||
};
|
||||
}
|
||||
|
||||
$scope.goBack = function() {
|
||||
$state.go($scope.fromState, {
|
||||
walletId: $scope.walletId
|
||||
});
|
||||
if ($stateParams.from == 'onboarding') {
|
||||
$state.go($scope.toState, {
|
||||
bchWalletId: $scope.bchWalletId,
|
||||
btcWalletId: $scope.btcWalletId
|
||||
});
|
||||
} else {
|
||||
$state.go($scope.fromState, {
|
||||
walletId: $scope.walletId
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
});
|
||||
|
|
|
|||
|
|
@ -2,7 +2,11 @@
|
|||
|
||||
angular.module('copayApp.controllers').controller('collectEmailController', function($scope, $state, $log, $timeout, $http, $httpParamSerializer, $ionicConfig, profileService, configService, walletService, appConfigService, emailService) {
|
||||
|
||||
var wallet, walletId;
|
||||
var bchWalletId;
|
||||
var btcWalletId;
|
||||
var bchWallet;
|
||||
var btcWallet;
|
||||
|
||||
$scope.data = {};
|
||||
// Get more info: https://mashe.hawksey.info/2014/07/google-sheets-as-a-database-insert-with-apps-script-using-postget-methods-with-ajax-example/
|
||||
var URL = "https://script.google.com/macros/s/AKfycbyuuLpN7UvtMMHv2BNLfZ7N2m4y4N6MeTpGRGFvnkGHFr9SM60/exec";
|
||||
|
|
@ -27,8 +31,11 @@ angular.module('copayApp.controllers').controller('collectEmailController', func
|
|||
});
|
||||
|
||||
$scope.$on("$ionicView.beforeEnter", function(event, data) {
|
||||
walletId = data.stateParams.walletId;
|
||||
wallet = profileService.getWallet(walletId);
|
||||
bchWalletId = data.stateParams.bchWalletId;
|
||||
btcWalletId = data.stateParams.btcWalletId;
|
||||
|
||||
bchWallet = profileService.getWallet(bchWalletId);
|
||||
btcWallet = profileService.getWallet(btcWalletId);
|
||||
$scope.data.accept = true;
|
||||
});
|
||||
|
||||
|
|
@ -56,7 +63,7 @@ angular.module('copayApp.controllers').controller('collectEmailController', func
|
|||
enabled: enabled,
|
||||
email: enabled ? $scope.data.email : null
|
||||
});
|
||||
|
||||
|
||||
if ($scope.data.accept) collectEmail();
|
||||
|
||||
$timeout(function() {
|
||||
|
|
@ -67,7 +74,8 @@ angular.module('copayApp.controllers').controller('collectEmailController', func
|
|||
|
||||
$scope.goNextView = function() {
|
||||
$state.go('onboarding.backupRequest', {
|
||||
walletId: walletId
|
||||
bchWalletId: bchWalletId,
|
||||
btcWalletId: btcWalletId
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,8 @@ angular.module('copayApp.controllers').controller('disclaimerController', functi
|
|||
|
||||
$scope.goBack = function() {
|
||||
$state.go('onboarding.backupRequest', {
|
||||
walletId: $stateParams.walletId
|
||||
bchWalletId: $stateParams.bchWalletId,
|
||||
btcWalletId: $stateParams.btcWalletId
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ angular.module('copayApp.controllers').controller('tourController',
|
|||
$scope.createDefaultWallet = function() {
|
||||
ongoingProcess.set('creatingWallet', true);
|
||||
$timeout(function() {
|
||||
profileService.createDefaultWallet(function(err, walletClient) {
|
||||
profileService.createDefaultWallet(function(err, walletClients) {
|
||||
if (err) {
|
||||
$log.warn(err);
|
||||
|
||||
|
|
@ -60,18 +60,16 @@ angular.module('copayApp.controllers').controller('tourController',
|
|||
}, 2000);
|
||||
};
|
||||
ongoingProcess.set('creatingWallet', false);
|
||||
var wallet = walletClient;
|
||||
var walletId = wallet.credentials.walletId;
|
||||
var bchWallet = walletClients[0];
|
||||
var btcWallet = walletClients[1];
|
||||
|
||||
var bchWalletId = bchWallet.credentials.walletId;
|
||||
var btcWalletId = btcWallet.credentials.walletId;
|
||||
|
||||
$state.go('onboarding.collectEmail', {
|
||||
walletId: walletId
|
||||
bchWalletId: bchWalletId,
|
||||
btcWalletId: btcWalletId
|
||||
});
|
||||
|
||||
/*
|
||||
$state.go('onboarding.backupRequest', {
|
||||
walletId: walletId
|
||||
});
|
||||
*/
|
||||
});
|
||||
}, 300);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -774,7 +774,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
}
|
||||
})
|
||||
.state('onboarding.collectEmail', {
|
||||
url: '/collectEmail/:walletId',
|
||||
url: '/collectEmail/:bchWalletId/:btcWalletId',
|
||||
views: {
|
||||
'onboarding': {
|
||||
templateUrl: 'views/onboarding/collectEmail.html',
|
||||
|
|
@ -783,7 +783,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
}
|
||||
})
|
||||
.state('onboarding.backupRequest', {
|
||||
url: '/backupRequest/:walletId',
|
||||
url: '/backupRequest/:bchWalletId/:btcWalletId',
|
||||
views: {
|
||||
'onboarding': {
|
||||
templateUrl: 'views/onboarding/backupRequest.html',
|
||||
|
|
@ -792,7 +792,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
}
|
||||
})
|
||||
.state('onboarding.backupWarning', {
|
||||
url: '/backupWarning/:from/:walletId',
|
||||
url: '/backupWarning/:from/:walletId/:bchWalletId/:btcWalletId',
|
||||
views: {
|
||||
'onboarding': {
|
||||
templateUrl: 'views/backupWarning.html',
|
||||
|
|
@ -801,7 +801,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
}
|
||||
})
|
||||
.state('onboarding.backup', {
|
||||
url: '/backup/:walletId',
|
||||
url: '/backup/:walletId/:bchWalletId/:btcWalletId',
|
||||
views: {
|
||||
'onboarding': {
|
||||
templateUrl: 'views/backup.html',
|
||||
|
|
@ -810,7 +810,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
}
|
||||
})
|
||||
.state('onboarding.disclaimer', {
|
||||
url: '/disclaimer/:walletId/:backedUp/:resume',
|
||||
url: '/disclaimer/:bchWalletId/:btcWalletId/:backedUp/:resume',
|
||||
views: {
|
||||
'onboarding': {
|
||||
templateUrl: 'views/onboarding/disclaimer.html',
|
||||
|
|
|
|||
|
|
@ -427,12 +427,6 @@ angular.module('copayApp.services')
|
|||
}, function(err, secret) {
|
||||
if (err) return bwcError.cb(err, gettextCatalog.getString('Error creating wallet'), cb);
|
||||
|
||||
if (opts.btcOpts) {
|
||||
opts.btcOpts.singleAddress = opts.singleAddress;
|
||||
opts.btcOpts.mnemonic = walletClient.credentials.mnemonic;
|
||||
root.createWallet(opts.btcOpts, null);
|
||||
}
|
||||
|
||||
return cb(null, walletClient, secret);
|
||||
});
|
||||
});
|
||||
|
|
@ -489,7 +483,6 @@ angular.module('copayApp.services')
|
|||
return root.wallet[walletId];
|
||||
};
|
||||
|
||||
|
||||
root.deleteWalletClient = function(client, cb) {
|
||||
var walletId = client.credentials.walletId;
|
||||
|
||||
|
|
@ -728,12 +721,12 @@ angular.module('copayApp.services')
|
|||
root.createDefaultWallet = function(cb) {
|
||||
var defaults = configService.getDefaults();
|
||||
|
||||
var opts = {};
|
||||
opts.m = 1;
|
||||
opts.n = 1;
|
||||
opts.networkName = 'livenet';
|
||||
opts.coin = 'bch';
|
||||
opts.bwsurl = defaults.bwscash.url;
|
||||
var bchOpts = {};
|
||||
bchOpts.m = 1;
|
||||
bchOpts.n = 1;
|
||||
bchOpts.networkName = 'livenet';
|
||||
bchOpts.coin = 'bch';
|
||||
bchOpts.bwsurl = defaults.bwscash.url;
|
||||
|
||||
var btcOpts = {};
|
||||
btcOpts.m = 1;
|
||||
|
|
@ -741,9 +734,15 @@ angular.module('copayApp.services')
|
|||
btcOpts.networkName = 'livenet';
|
||||
btcOpts.coin = 'btc';
|
||||
btcOpts.bwsurl = defaults.bws.url;
|
||||
opts.btcOpts = btcOpts;
|
||||
|
||||
root.createWallet(opts, cb);
|
||||
root.createWallet(bchOpts, function(bchErr, bchWalletClient) {
|
||||
if (bchErr) return cb(bchErr);
|
||||
btcOpts.mnemonic = bchWalletClient.credentials.mnemonic;
|
||||
root.createWallet(btcOpts, function(btcErr, btcWalletClient) {
|
||||
if (btcErr) return cb(btcErr);
|
||||
return cb(null, [bchWalletClient, btcWalletClient]);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
root.setDisclaimerAccepted = function(cb) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue