From f961247b2db0b81b32e6e953ba386dac689fdf59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Tue, 7 Jun 2016 10:37:06 -0300 Subject: [PATCH] allow single address wallet for auditable reasons --- public/views/create.html | 7 +++++++ public/views/includes/walletInfo.html | 1 + public/views/walletHome.html | 7 +++++-- src/js/controllers/create.js | 1 + src/js/controllers/index.js | 2 ++ src/js/controllers/sidebar.js | 2 +- src/js/services/profileService.js | 5 +++-- test/controllers/create.test.js | 5 +++-- 8 files changed, 23 insertions(+), 7 deletions(-) diff --git a/public/views/create.html b/public/views/create.html index c48be7bf0..91dc62e50 100644 --- a/public/views/create.html +++ b/public/views/create.html @@ -159,6 +159,13 @@ +
+ +
diff --git a/public/views/includes/walletInfo.html b/public/views/includes/walletInfo.html index 18568ea28..abcc6a4a7 100644 --- a/public/views/includes/walletInfo.html +++ b/public/views/includes/walletInfo.html @@ -1,5 +1,6 @@ {{index.m}}-of-{{index.n}} +Auditable diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 703943492..8d243d534 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -330,12 +330,15 @@ -
+
-
+
Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them. Generate new address
+
+ Share this wallet address to receive payments. +
diff --git a/src/js/controllers/create.js b/src/js/controllers/create.js index fdb445c55..cb886819e 100644 --- a/src/js/controllers/create.js +++ b/src/js/controllers/create.js @@ -100,6 +100,7 @@ angular.module('copayApp.controllers').controller('createController', myName: $scope.totalCopayers > 1 ? $scope.myName : null, networkName: $scope.testnetEnabled ? 'testnet' : 'livenet', bwsurl: $scope.bwsurl, + singleAddress: $scope.singleAddressEnabled, walletPrivKey: $scope._walletPrivKey, // Only for testing }; var setSeed = self.seedSourceId == 'set'; diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index bdc34c685..dfcfc0982 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -137,6 +137,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r $timeout(function() { $rootScope.$apply(); self.hasProfile = true; + self.isSingleAddress = false; self.noFocusedWallet = false; self.onGoingProcess = {}; @@ -304,6 +305,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r if (err) { self.updateError = bwsError.msg(err, gettext('Could not update Wallet')); } else { + self.isSingleAddress = !!ret.wallet.singleAddress; if (!opts.quiet) self.setOngoingProcess('scanning', ret.wallet.scanStatus == 'running'); } diff --git a/src/js/controllers/sidebar.js b/src/js/controllers/sidebar.js index 63dcd2353..85ccc9f34 100644 --- a/src/js/controllers/sidebar.js +++ b/src/js/controllers/sidebar.js @@ -28,7 +28,7 @@ angular.module('copayApp.controllers').controller('sidebarController', if (selectedWalletId == currentWalletId) return; self.walletSelection = false; profileService.setAndStoreFocus(selectedWalletId, function() {}); - $ionicScrollDelegate.$getByHandle('transactions').scrollTop(); + $ionicScrollDelegate.scrollTop(); }; self.toggleWalletSelection = function() { diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index b3b4322c2..f90c36af9 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -303,6 +303,7 @@ angular.module('copayApp.services') walletClient.createWallet(name, myName, opts.m, opts.n, { network: opts.networkName, + singleAddress: opts.singleAddress, walletPrivKey: opts.walletPrivKey, }, function(err, secret) { if (err) return bwsError.cb(err, gettext('Error creating wallet'), cb); @@ -352,8 +353,8 @@ angular.module('copayApp.services') // check if exist if (lodash.find(root.profile.credentials, { - 'walletId': walletData.walletId - })) { + 'walletId': walletData.walletId + })) { return cb(gettext('Cannot join the same wallet more that once')); } } catch (ex) { diff --git a/test/controllers/create.test.js b/test/controllers/create.test.js index bf09bfda7..3951acb9c 100644 --- a/test/controllers/create.test.js +++ b/test/controllers/create.test.js @@ -99,12 +99,12 @@ describe('createController', function() { }, }; // TODO: Read from file - beforeEach(function(done){ + beforeEach(function(done) { mocks.init(fixtures, 'createController', {}, done); }) - afterEach(function(done){ + afterEach(function(done) { mocks.clear({}, done); }); @@ -125,6 +125,7 @@ describe('createController', function() { scope.walletName = 'A test wallet'; scope.isTestnet = false; scope.bwsurl = null; + scope.isSingleAddress = false; scope.privateKey = 'legal winner thank year wave sausage worth useful legal winner thank yellow'; scope._walletPrivKey = 'Kz4CFSTgLzoYfMkt97BTBotUbZYXjMts6Ej9HbVfCf5oLmun1BXy';