Browse Source

cleanup code

activeAddress
Ivan Socolsky 10 years ago
parent
commit
634daf6450
  1. 39
      lib/server.js

39
lib/server.js

@ -1062,10 +1062,10 @@ WalletService.prototype.scan = function(opts, cb) {
var allAddresses = []; var allAddresses = [];
function deriveAddresses(size, isChange, derivator, cb) { function deriveAddresses(size, derivator, cb) {
async.map(_.range(size), function(i, next) { async.map(_.range(size), function(i, next) {
setTimeout(function() { setTimeout(function() {
next(null, derivator(isChange)); next(null, derivator());
}, WalletService.scanConfig.DERIVATION_DELAY) }, WalletService.scanConfig.DERIVATION_DELAY)
}, cb); }, cb);
}; };
@ -1075,12 +1075,12 @@ WalletService.prototype.scan = function(opts, cb) {
bc.getAddressActivity(addresses, cb); bc.getAddressActivity(addresses, cb);
}; };
function scanBranch(isChange, derivator, cb) { function scanBranch(derivator, cb) {
var activity = true; var activity = true;
async.whilst(function() { async.whilst(function() {
return activity; return activity;
}, function(next) { }, function(next) {
deriveAddresses(WalletService.scanConfig.SCAN_WINDOW, isChange, derivator, function(err, addresses) { deriveAddresses(WalletService.scanConfig.SCAN_WINDOW, derivator, function(err, addresses) {
if (err) return next(err); if (err) return next(err);
allAddresses.push(addresses); allAddresses.push(addresses);
checkActivity(_.pluck(addresses, 'address'), function(err, thereIsActivity) { checkActivity(_.pluck(addresses, 'address'), function(err, thereIsActivity) {
@ -1100,28 +1100,17 @@ WalletService.prototype.scan = function(opts, cb) {
return cb(new ClientError('Wallet is not complete')); return cb(new ClientError('Wallet is not complete'));
var derivators = []; var derivators = [];
derivators.push(_.bind(wallet.createAddress, wallet)); _.each([false, true], function(isChange) {
if (opts.includeCopayerBranches) { derivators.push(_.bind(wallet.createAddress, wallet, isChange));
_.each(wallet.copayers, function(copayer) { if (opts.includeCopayerBranches) {
derivators.push(_.bind(copayer.createAddress, copayer, wallet)); _.each(wallet.copayers, function(copayer) {
}); derivators.push(_.bind(copayer.createAddress, copayer, wallet, isChange));
} });
}
});
var branches = _.flatten( async.each(derivators, function(derivator, next) {
_.map(derivators, function(derivator) { scanBranch(derivator, next);
return _.map([false, true], function(isChange) {
return {
derivator: derivator,
isChange: isChange
};
})
})
);
async.each(branches, function(branch, next) {
scanBranch(branch.isChange, branch.derivator, function(err) {
next(err);
});
}, function(err) { }, function(err) {
if (err) return cb(err); if (err) return cb(err);
self.storage.storeAddressAndWallet(wallet, _.flatten(allAddresses), function(err) { self.storage.storeAddressAndWallet(wallet, _.flatten(allAddresses), function(err) {

Loading…
Cancel
Save