remove history cache from export
This commit is contained in:
parent
761964ea3a
commit
b433120121
4 changed files with 11 additions and 52 deletions
|
|
@ -39,10 +39,6 @@
|
||||||
|
|
||||||
<h4></h4>
|
<h4></h4>
|
||||||
|
|
||||||
<ion-toggle ng-model="metaDataEnabled" toggle-class="toggle-balanced" class="r0">
|
|
||||||
<span class="toggle-label" translate>Include address book and history cache</span>
|
|
||||||
</ion-toggle>
|
|
||||||
|
|
||||||
<ion-toggle ng-model="noSignEnabled" toggle-class="toggle-balanced" class="r0">
|
<ion-toggle ng-model="noSignEnabled" toggle-class="toggle-balanced" class="r0">
|
||||||
<span class="toggle-label" translate>Do not include private key</span>
|
<span class="toggle-label" translate>Do not include private key</span>
|
||||||
</ion-toggle>
|
</ion-toggle>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('exportController',
|
angular.module('copayApp.controllers').controller('exportController',
|
||||||
function($rootScope, $scope, $timeout, $log, backupService, fingerprintService, configService, storageService, profileService, platformInfo, notification, go, gettext, gettextCatalog) {
|
function($scope, $timeout, $log, backupService, fingerprintService, configService, storageService, profileService, platformInfo, notification, go, gettext, gettextCatalog) {
|
||||||
var isWP = platformInfo.isWP;
|
var isWP = platformInfo.isWP;
|
||||||
var isAndroid = platformInfo.isAndroid;
|
var isAndroid = platformInfo.isAndroid;
|
||||||
var isCordova = platformInfo.isCordova;
|
|
||||||
|
$scope.error = null;
|
||||||
|
$scope.success = null;
|
||||||
var fc = profileService.focusedClient;
|
var fc = profileService.focusedClient;
|
||||||
$scope.isEncrypted = fc.isPrivKeyEncrypted();
|
$scope.isEncrypted = fc.isPrivKeyEncrypted();
|
||||||
$scope.touchidSuccess = null;
|
$scope.touchidSuccess = null;
|
||||||
|
|
@ -32,14 +34,13 @@ angular.module('copayApp.controllers').controller('exportController',
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.downloadWalletBackup = function() {
|
$scope.downloadWalletBackup = function() {
|
||||||
$scope.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) {
|
$scope.getAddressbook(function(err, localAddressBook) {
|
||||||
if (err) {
|
if (err) {
|
||||||
$scope.error = true;
|
$scope.error = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var opts = {
|
var opts = {
|
||||||
noSign: $scope.noSignEnabled,
|
noSign: $scope.noSignEnabled,
|
||||||
historyCache: txsFromLocal,
|
|
||||||
addressBook: localAddressBook
|
addressBook: localAddressBook
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -48,43 +49,12 @@ angular.module('copayApp.controllers').controller('exportController',
|
||||||
$scope.error = true;
|
$scope.error = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$rootScope.$emit('Local/BackupDone');
|
|
||||||
notification.success(gettext('Success'), gettext('Encrypted export file saved'));
|
notification.success(gettext('Success'), gettext('Encrypted export file saved'));
|
||||||
go.walletHome();
|
go.walletHome();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.getMetaData = function(metaData, cb) {
|
|
||||||
if (metaData == false) return cb();
|
|
||||||
$scope.getHistoryCache(function(err, txsFromLocal) {
|
|
||||||
if (err) return cb(err);
|
|
||||||
|
|
||||||
$scope.getAddressbook(function(err, localAddressBook) {
|
|
||||||
if (err) return cb(err);
|
|
||||||
|
|
||||||
return cb(null, txsFromLocal, localAddressBook)
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.getHistoryCache = function(cb) {
|
|
||||||
storageService.getTxHistory(fc.credentials.walletId, function(err, txs) {
|
|
||||||
if (err) return cb(err);
|
|
||||||
|
|
||||||
var localTxs = [];
|
|
||||||
|
|
||||||
try {
|
|
||||||
localTxs = JSON.parse(txs);
|
|
||||||
} catch (ex) {
|
|
||||||
$log.warn(ex);
|
|
||||||
}
|
|
||||||
if (!localTxs[0]) return cb(null, null);
|
|
||||||
|
|
||||||
return cb(null, localTxs);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.getAddressbook = function(cb) {
|
$scope.getAddressbook = function(cb) {
|
||||||
storageService.getAddressbook(fc.credentials.network, function(err, addressBook) {
|
storageService.getAddressbook(fc.credentials.network, function(err, addressBook) {
|
||||||
if (err) return cb(err);
|
if (err) return cb(err);
|
||||||
|
|
@ -101,14 +71,13 @@ angular.module('copayApp.controllers').controller('exportController',
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.getBackup = function(cb) {
|
$scope.getBackup = function(cb) {
|
||||||
$scope.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) {
|
$scope.getAddressbook(function(err, localAddressBook) {
|
||||||
if (err) {
|
if (err) {
|
||||||
$scope.error = true;
|
$scope.error = true;
|
||||||
return cb(null);
|
return cb(null);
|
||||||
}
|
}
|
||||||
var opts = {
|
var opts = {
|
||||||
noSign: $scope.noSignEnabled,
|
noSign: $scope.noSignEnabled,
|
||||||
historyCache: txsFromLocal,
|
|
||||||
addressBook: localAddressBook
|
addressBook: localAddressBook
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -117,7 +86,6 @@ angular.module('copayApp.controllers').controller('exportController',
|
||||||
$scope.error = true;
|
$scope.error = true;
|
||||||
} else {
|
} else {
|
||||||
$scope.error = false;
|
$scope.error = false;
|
||||||
$rootScope.$emit('Local/BackupDone');
|
|
||||||
}
|
}
|
||||||
return cb(ew);
|
return cb(ew);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ angular.module('copayApp.services')
|
||||||
|
|
||||||
var a = angular.element('<a></a>');
|
var a = angular.element('<a></a>');
|
||||||
var blob = new NewBlob(ew, 'text/plain;charset=utf-8');
|
var blob = new NewBlob(ew, 'text/plain;charset=utf-8');
|
||||||
a.attr('href',window.URL.createObjectURL(blob));
|
a.attr('href', window.URL.createObjectURL(blob));
|
||||||
a.attr('download', filename);
|
a.attr('download', filename);
|
||||||
a[0].click();
|
a[0].click();
|
||||||
return cb();
|
return cb();
|
||||||
|
|
@ -49,7 +49,6 @@ angular.module('copayApp.services')
|
||||||
root.addMetadata = function(b, opts) {
|
root.addMetadata = function(b, opts) {
|
||||||
|
|
||||||
b = JSON.parse(b);
|
b = JSON.parse(b);
|
||||||
if (opts.historyCache) b.historyCache = opts.historyCache;
|
|
||||||
if (opts.addressBook) b.addressBook = opts.addressBook;
|
if (opts.addressBook) b.addressBook = opts.addressBook;
|
||||||
return JSON.stringify(b);
|
return JSON.stringify(b);
|
||||||
}
|
}
|
||||||
|
|
@ -62,7 +61,7 @@ angular.module('copayApp.services')
|
||||||
try {
|
try {
|
||||||
opts = opts || {};
|
opts = opts || {};
|
||||||
var b = fc.export(opts);
|
var b = fc.export(opts);
|
||||||
if (opts.historyCache || opts.addressBook) b = root.addMetadata(b, opts);
|
if (opts.addressBook) b = root.addMetadata(b, opts);
|
||||||
|
|
||||||
var e = sjcl.encrypt(password, b, {
|
var e = sjcl.encrypt(password, b, {
|
||||||
iter: 10000
|
iter: 10000
|
||||||
|
|
|
||||||
|
|
@ -464,7 +464,7 @@ angular.module('copayApp.services')
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
root.setMetaData = function(walletClient, addressBook, historyCache, cb) {
|
root.setMetaData = function(walletClient, addressBook, cb) {
|
||||||
storageService.getAddressbook(walletClient.credentials.network, function(err, localAddressBook) {
|
storageService.getAddressbook(walletClient.credentials.network, function(err, localAddressBook) {
|
||||||
var localAddressBook1 = {};
|
var localAddressBook1 = {};
|
||||||
try {
|
try {
|
||||||
|
|
@ -475,10 +475,7 @@ angular.module('copayApp.services')
|
||||||
var mergeAddressBook = lodash.merge(addressBook, localAddressBook1);
|
var mergeAddressBook = lodash.merge(addressBook, localAddressBook1);
|
||||||
storageService.setAddressbook(walletClient.credentials.network, JSON.stringify(addressBook), function(err) {
|
storageService.setAddressbook(walletClient.credentials.network, JSON.stringify(addressBook), function(err) {
|
||||||
if (err) return cb(err);
|
if (err) return cb(err);
|
||||||
storageService.setTxHistory(JSON.stringify(historyCache), walletClient.credentials.walletId, function(err) {
|
return cb(null);
|
||||||
if (err) return cb(err);
|
|
||||||
return cb(null);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -563,13 +560,12 @@ angular.module('copayApp.services')
|
||||||
str = JSON.parse(str);
|
str = JSON.parse(str);
|
||||||
|
|
||||||
var addressBook = str.addressBook || {};
|
var addressBook = str.addressBook || {};
|
||||||
var historyCache = str.historyCache || [];
|
|
||||||
|
|
||||||
root.addAndBindWalletClient(walletClient, {
|
root.addAndBindWalletClient(walletClient, {
|
||||||
bwsurl: opts.bwsurl
|
bwsurl: opts.bwsurl
|
||||||
}, function(err, walletId) {
|
}, function(err, walletId) {
|
||||||
if (err) return cb(err);
|
if (err) return cb(err);
|
||||||
root.setMetaData(walletClient, addressBook, historyCache, function(error) {
|
root.setMetaData(walletClient, addressBook, function(error) {
|
||||||
if (error) $log.warn(error);
|
if (error) $log.warn(error);
|
||||||
return cb(err, walletId);
|
return cb(err, walletId);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue