Testnet wallets only work with Glidera Sandbox Accounts
diff --git a/public/views/tab-scan.html b/public/views/tab-scan.html
deleted file mode 100644
index 282c9d767..000000000
--- a/public/views/tab-scan.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- {{'Scan' | translate}}
-
-
-
-
-
-
-
-
-
diff --git a/public/views/walletDetails.html b/public/views/walletDetails.html
index 74ab1f04e..06ca6ca30 100644
--- a/public/views/walletDetails.html
+++ b/public/views/walletDetails.html
@@ -1,4 +1,4 @@
-
+
{{walletDetailsName}}
diff --git a/src/js/controllers/amount.js b/src/js/controllers/amount.js
index e712a8082..ae8d8a935 100644
--- a/src/js/controllers/amount.js
+++ b/src/js/controllers/amount.js
@@ -1,7 +1,6 @@
'use strict';
-angular.module('copayApp.controllers').controller('amountController', function($rootScope, $scope, $filter, $timeout, $ionicScrollDelegate, $ionicNavBarDelegate, gettextCatalog, platformInfo, lodash, configService, rateService, $stateParams, $window, $state, $log, txFormatService) {
- $ionicNavBarDelegate.title(gettextCatalog.getString('Enter Amount'));
+angular.module('copayApp.controllers').controller('amountController', function($rootScope, $scope, $filter, $timeout, $ionicScrollDelegate, gettextCatalog, platformInfo, lodash, configService, rateService, $stateParams, $window, $state, $log, txFormatService) {
var unitToSatoshi;
var satToUnit;
@@ -11,7 +10,7 @@ angular.module('copayApp.controllers').controller('amountController', function($
var SMALL_FONT_SIZE_LIMIT = 13;
var LENGTH_EXPRESSION_LIMIT = 19;
- $scope.init = function() {
+ $scope.$on("$ionicView.enter", function(event, data){
if (!$stateParams.toAddress) {
$log.error('Bad params at amount')
@@ -73,7 +72,7 @@ angular.module('copayApp.controllers').controller('amountController', function($
$timeout(function() {
$ionicScrollDelegate.resize();
}, 100);
- };
+ });
$scope.toggleAlternative = function() {
$scope.showAlternativeAmount = !$scope.showAlternativeAmount;
diff --git a/src/js/controllers/backup.js b/src/js/controllers/backup.js
index 40484bbd8..68a209564 100644
--- a/src/js/controllers/backup.js
+++ b/src/js/controllers/backup.js
@@ -16,25 +16,6 @@ angular.module('copayApp.controllers').controller('backupController',
return false;
};
- $scope.init = function() {
- $scope.deleted = isDeletedSeed();
- if ($scope.deleted) {
- $log.debug('no mnemonics');
- return;
- }
-
- walletService.getKeys(wallet, function(err, k) {
- if (err || !k) {
- $log.error('Could not get keys: ', err);
- $state.go('wallet.preferences');
- return;
- }
- $scope.credentialsEncrypted = false;
- keys = k;
- $scope.initFlow();
- });
- };
-
var shuffledWords = function(words) {
var sort = lodash.sortBy(words);
@@ -222,4 +203,23 @@ angular.module('copayApp.controllers').controller('backupController',
});
};
+ $scope.$on("$ionicView.enter", function(event, data){
+ $scope.deleted = isDeletedSeed();
+ if ($scope.deleted) {
+ $log.debug('no mnemonics');
+ return;
+ }
+
+ walletService.getKeys(wallet, function(err, k) {
+ if (err || !k) {
+ $log.error('Could not get keys: ', err);
+ $state.go('wallet.preferences');
+ return;
+ }
+ $scope.credentialsEncrypted = false;
+ keys = k;
+ $scope.initFlow();
+ });
+ });
+
});
diff --git a/src/js/controllers/buyAmazon.js b/src/js/controllers/buyAmazon.js
index de01dbdc4..70817a1aa 100644
--- a/src/js/controllers/buyAmazon.js
+++ b/src/js/controllers/buyAmazon.js
@@ -19,14 +19,6 @@ angular.module('copayApp.controllers').controller('buyAmazonController',
externalLinkService.open(url, target);
};
- this.init = function() {
- var network = amazonService.getEnvironment();
- $scope.wallets = profileService.getWallets({
- network: network,
- onlyComplete: true
- });
- };
-
this.confirm = function() {
var message = gettextCatalog.getString('Amazon.com Gift Card purchase for ${{amount}} USD', {amount: $scope.fiat});
var ok = gettextCatalog.getString('Buy');
@@ -216,4 +208,12 @@ angular.module('copayApp.controllers').controller('buyAmazonController',
});
};
+ $scope.$on("$ionicView.enter", function(event, data){
+ var network = amazonService.getEnvironment();
+ $scope.wallets = profileService.getWallets({
+ network: network,
+ onlyComplete: true
+ });
+ });
+
});
diff --git a/src/js/controllers/buyGlidera.js b/src/js/controllers/buyGlidera.js
index 988fccb43..a68751d18 100644
--- a/src/js/controllers/buyGlidera.js
+++ b/src/js/controllers/buyGlidera.js
@@ -17,36 +17,6 @@ angular.module('copayApp.controllers').controller('buyGlideraController',
$log.debug('Wallet changed: ' + w.name);
});
- $scope.init = function(accessToken) {
- $scope.network = glideraService.getEnvironment();
-
- $scope.token = accessToken;
- $scope.permissions = null;
- $scope.email = null;
- $scope.personalInfo = null;
- $scope.txs = null;
- $scope.status = null;
- $scope.limits = null;
-
- ongoingProcess.set('connectingGlidera', true);
- glideraService.init($scope.token, function(err, glidera) {
- ongoingProcess.set('connectingGlidera');
- if (err || !glidera) {
- if (err) popupService.showAlert(gettextCatalog.getString('Error'), err);
- return;
- }
- $scope.token = glidera.token;
- $scope.permissions = glidera.permissions;
- $scope.update({fullUpdate: true});
- });
-
- $scope.wallets = profileService.getWallets({
- network: $scope.network,
- n: 1,
- onlyComplete: true
- });
- };
-
$scope.update = function(opts) {
if (!$scope.token || !$scope.permissions) return;
$log.debug('Updating Glidera Account...');
@@ -145,4 +115,34 @@ angular.module('copayApp.controllers').controller('buyGlideraController',
}, 100);
};
+ $scope.$on("$ionicView.enter", function(event, data){
+ $scope.network = glideraService.getEnvironment();
+
+ $scope.token = accessToken;
+ $scope.permissions = null;
+ $scope.email = null;
+ $scope.personalInfo = null;
+ $scope.txs = null;
+ $scope.status = null;
+ $scope.limits = null;
+
+ ongoingProcess.set('connectingGlidera', true);
+ glideraService.init($scope.token, function(err, glidera) {
+ ongoingProcess.set('connectingGlidera');
+ if (err || !glidera) {
+ if (err) popupService.showAlert(gettextCatalog.getString('Error'), err);
+ return;
+ }
+ $scope.token = glidera.token;
+ $scope.permissions = glidera.permissions;
+ $scope.update({fullUpdate: true});
+ });
+
+ $scope.wallets = profileService.getWallets({
+ network: $scope.network,
+ n: 1,
+ onlyComplete: true
+ });
+ });
+
});
diff --git a/src/js/controllers/confirm.js b/src/js/controllers/confirm.js
index 02012599d..4c31fd514 100644
--- a/src/js/controllers/confirm.js
+++ b/src/js/controllers/confirm.js
@@ -4,7 +4,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
var cachedTxp = {};
var isChromeApp = platformInfo.isChromeApp;
- $scope.init = function() {
+ var initConfirm = function() {
if ($stateParams.paypro) {
return setFromPayPro($stateParams.paypro, function(err) {
if (err && !isChromeApp) {
@@ -145,7 +145,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
$stateParams.paypro = null;
$scope._paypro = paypro;
- return $scope.init();
+ return initConfirm();
});
};
@@ -307,4 +307,8 @@ angular.module('copayApp.controllers').controller('confirmController', function(
$scope.cancel = function() {
$state.go('tabs.send');
};
+
+ $scope.$on("$ionicView.enter", function(event, data){
+ initConfirm();
+ });
});
diff --git a/src/js/controllers/export.js b/src/js/controllers/export.js
index 5dd718955..d9e70d5b6 100644
--- a/src/js/controllers/export.js
+++ b/src/js/controllers/export.js
@@ -4,7 +4,7 @@ angular.module('copayApp.controllers').controller('exportController',
function($scope, $timeout, $log, $ionicHistory, backupService, walletService, storageService, profileService, platformInfo, gettextCatalog, $state, $stateParams, popupService) {
var wallet = profileService.getWallet($stateParams.walletId);
- $scope.init = function() {
+ var init = function() {
$scope.formData = {};
$scope.isEncrypted = wallet.isPrivKeyEncrypted();
$scope.isCordova = platformInfo.isCordova;
@@ -158,4 +158,8 @@ angular.module('copayApp.controllers').controller('exportController',
});
};
+ $scope.$on("$ionicView.enter", function(event, data){
+ init();
+ });
+
});
diff --git a/src/js/controllers/glidera.js b/src/js/controllers/glidera.js
index e1703411a..c909e9aa2 100644
--- a/src/js/controllers/glidera.js
+++ b/src/js/controllers/glidera.js
@@ -7,7 +7,7 @@ angular.module('copayApp.controllers').controller('glideraController',
externalLinkService.open(url, target);
};
- $scope.init = function(accessToken) {
+ var initGlidera = function(accessToken) {
$scope.network = glideraService.getEnvironment();
$scope.token = null;
@@ -78,7 +78,7 @@ angular.module('copayApp.controllers').controller('glideraController',
popupService.showAlert(gettextCatalog.getString('Error'), err);
} else if (data && data.access_token) {
storageService.setGlideraToken($scope.network, data.access_token, function() {
- $scope.init(data.access_token);
+ initGlidera(data.access_token);
$timeout(function() {
$scope.$apply();
}, 100);
@@ -113,4 +113,8 @@ angular.module('copayApp.controllers').controller('glideraController',
});
};
+ $scope.$on("$ionicView.enter", function(event, data){
+ initGlidera();
+ });
+
});
diff --git a/src/js/controllers/glideraUri.js b/src/js/controllers/glideraUri.js
index aef209427..0ebcbfae7 100644
--- a/src/js/controllers/glideraUri.js
+++ b/src/js/controllers/glideraUri.js
@@ -23,7 +23,7 @@ angular.module('copayApp.controllers').controller('glideraUriController',
}, 100);
};
- $scope.checkCode = function() {
+ $scope.$on("$ionicView.enter", function(event, data){
if ($stateParams.url) {
var match = $stateParams.url.match(/code=(.+)/);
if (match && match[1]) {
@@ -32,5 +32,5 @@ angular.module('copayApp.controllers').controller('glideraUriController',
}
}
$log.error('Bad state: ' + JSON.stringify($stateParams));
- }
+ });
});
diff --git a/src/js/controllers/sellGlidera.js b/src/js/controllers/sellGlidera.js
index 644b27687..defc5067c 100644
--- a/src/js/controllers/sellGlidera.js
+++ b/src/js/controllers/sellGlidera.js
@@ -18,36 +18,6 @@ angular.module('copayApp.controllers').controller('sellGlideraController',
$log.debug('Wallet changed: ' + w.name);
});
- $scope.init = function(accessToken) {
- $scope.network = glideraService.getEnvironment();
-
- $scope.token = accessToken;
- $scope.permissions = null;
- $scope.email = null;
- $scope.personalInfo = null;
- $scope.txs = null;
- $scope.status = null;
- $scope.limits = null;
-
- ongoingProcess.set('connectingGlidera', true);
- glideraService.init($scope.token, function(err, glidera) {
- ongoingProcess.set('connectingGlidera');
- if (err || !glidera) {
- if (err) popupService.showAlert(gettextCatalog.getString('Error'), err);
- return;
- }
- $scope.token = glidera.token;
- $scope.permissions = glidera.permissions;
- $scope.update({fullUpdate: true});
- });
-
- $scope.wallets = profileService.getWallets({
- network: $scope.network,
- n: 1,
- onlyComplete: true
- });
- };
-
$scope.update = function(opts) {
if (!$scope.token || !$scope.permissions) return;
$log.debug('Updating Glidera Account...');
@@ -217,4 +187,34 @@ angular.module('copayApp.controllers').controller('sellGlideraController',
});
});
};
+
+ $scope.$on("$ionicView.enter", function(event, data){
+ $scope.network = glideraService.getEnvironment();
+
+ $scope.token = accessToken;
+ $scope.permissions = null;
+ $scope.email = null;
+ $scope.personalInfo = null;
+ $scope.txs = null;
+ $scope.status = null;
+ $scope.limits = null;
+
+ ongoingProcess.set('connectingGlidera', true);
+ glideraService.init($scope.token, function(err, glidera) {
+ ongoingProcess.set('connectingGlidera');
+ if (err || !glidera) {
+ if (err) popupService.showAlert(gettextCatalog.getString('Error'), err);
+ return;
+ }
+ $scope.token = glidera.token;
+ $scope.permissions = glidera.permissions;
+ $scope.update({fullUpdate: true});
+ });
+
+ $scope.wallets = profileService.getWallets({
+ network: $scope.network,
+ n: 1,
+ onlyComplete: true
+ });
+ });
});
diff --git a/src/js/controllers/walletDetails.js b/src/js/controllers/walletDetails.js
index 5734e6eac..d481be429 100644
--- a/src/js/controllers/walletDetails.js
+++ b/src/js/controllers/walletDetails.js
@@ -15,49 +15,6 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
externalLinkService.open(url, target);
};
- $scope.init = function() {
- currentTxHistoryPage = 0;
- $scope.completeTxHistory = [];
-
- wallet = profileService.getWallet($stateParams.walletId);
-
- /* Set color for header bar */
- $rootScope.walletDetailsColor = wallet.color;
- $rootScope.walletDetailsName = wallet.name;
- $scope.wallet = wallet;
-
- $scope.requiresMultipleSignatures = wallet.credentials.m > 1;
- $scope.newTx = false;
-
- $ionicNavBarDelegate.title(wallet.name);
-
- $scope.updateAll(function() {
- if ($stateParams.txid) {
- var tx = lodash.find($scope.completeTxHistory, {
- txid: $stateParams.txid
- });
- if (tx) {
- $scope.openTxModal(tx);
- } else {
- $ionicPopup.alert({
- title: gettext('TX not available'),
- });
- }
- } else if ($stateParams.txpId) {
- var txp = lodash.find($scope.txps, {
- id: $stateParams.txpId
- });
- if (txp) {
- $scope.openTxpModal(txp);
- } else {
- $ionicPopup.alert({
- title: gettext('Proposal not longer available'),
- });
- }
- }
- });
- }
-
var setPendingTxps = function(txps) {
/* Uncomment to test multiple outputs */
@@ -232,11 +189,54 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
$scope.updateAll = function(cb) {
$scope.updateStatus(false);
$scope.updateTxHistory(cb);
- }
+ };
$scope.hideToggle = function() {
profileService.toggleHideBalanceFlag(wallet.credentials.walletId, function(err) {
if (err) $log.error(err);
});
- }
+ };
+
+ $scope.$on("$ionicView.enter", function(event, data){
+ currentTxHistoryPage = 0;
+ $scope.completeTxHistory = [];
+
+ wallet = profileService.getWallet($stateParams.walletId);
+
+ /* Set color for header bar */
+ $rootScope.walletDetailsColor = wallet.color;
+ $rootScope.walletDetailsName = wallet.name;
+ $scope.wallet = wallet;
+
+ $scope.requiresMultipleSignatures = wallet.credentials.m > 1;
+ $scope.newTx = false;
+
+ $ionicNavBarDelegate.title(wallet.name);
+
+ $scope.updateAll(function() {
+ if ($stateParams.txid) {
+ var tx = lodash.find($scope.completeTxHistory, {
+ txid: $stateParams.txid
+ });
+ if (tx) {
+ $scope.openTxModal(tx);
+ } else {
+ $ionicPopup.alert({
+ title: gettext('TX not available'),
+ });
+ }
+ } else if ($stateParams.txpId) {
+ var txp = lodash.find($scope.txps, {
+ id: $stateParams.txpId
+ });
+ if (txp) {
+ $scope.openTxpModal(txp);
+ } else {
+ $ionicPopup.alert({
+ title: gettext('Proposal not longer available'),
+ });
+ }
+ }
+ });
+ });
});
diff --git a/src/js/routes.js b/src/js/routes.js
index 0419b05c8..4e0bd1b82 100644
--- a/src/js/routes.js
+++ b/src/js/routes.js
@@ -136,6 +136,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
})
.state('uriglidera', {
url: '/uri-glidera/:url',
+ controller: 'glideraUriController',
templateUrl: 'views/glideraUri.html'
})
.state('uricoinbase', {
@@ -153,6 +154,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/details/{walletId}/{fromOnboarding}',
views: {
'tab-home': {
+ controller: 'walletDetailsController',
templateUrl: 'views/walletDetails.html'
}
},
@@ -238,6 +240,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/amount/:toAddress/:toName/:toEmail',
views: {
'tab-send@tabs': {
+ controller: 'amountController',
templateUrl: 'views/amount.html'
}
}
@@ -246,6 +249,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/confirm/:toAddress/:toName/:toAmount/:toEmail/:description/:paypro',
views: {
'tab-send@tabs': {
+ controller: 'confirmController',
templateUrl: 'views/confirm.html'
}
}
@@ -429,6 +433,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/backup',
views: {
'preferences': {
+ controller: 'backupController',
templateUrl: 'views/backup.html'
}
}
@@ -453,6 +458,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/export',
views: {
'preferences': {
+ controller: 'exportController',
templateUrl: 'views/export.html'
}
}
@@ -671,6 +677,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/glidera',
views: {
'tab-home@tabs': {
+ controller: 'glideraController',
+ controllerAs: 'glidera',
templateUrl: 'views/glidera.html'
}
}
@@ -679,6 +687,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/buy',
views: {
'tab-home@tabs': {
+ controller: 'buyGlideraController',
+ controllerAs: 'buy',
templateUrl: 'views/buyGlidera.html'
}
}
@@ -687,6 +697,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/sell',
views: {
'tab-home@tabs': {
+ controller: 'sellGlideraController',
+ controllerAs: 'sell',
templateUrl: 'views/sellGlidera.html'
}
}
@@ -753,6 +765,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/buy',
views: {
'tab-home@tabs': {
+ controller: 'buyAmazonController',
+ controllerAs: 'buy',
templateUrl: 'views/buyAmazon.html'
}
}