cleanup code

This commit is contained in:
Ivan Socolsky 2015-04-01 17:48:54 -03:00
parent 953356dc26
commit 634daf6450
1 changed files with 14 additions and 25 deletions

View File

@ -1062,10 +1062,10 @@ WalletService.prototype.scan = function(opts, cb) {
var allAddresses = [];
function deriveAddresses(size, isChange, derivator, cb) {
function deriveAddresses(size, derivator, cb) {
async.map(_.range(size), function(i, next) {
setTimeout(function() {
next(null, derivator(isChange));
next(null, derivator());
}, WalletService.scanConfig.DERIVATION_DELAY)
}, cb);
};
@ -1075,12 +1075,12 @@ WalletService.prototype.scan = function(opts, cb) {
bc.getAddressActivity(addresses, cb);
};
function scanBranch(isChange, derivator, cb) {
function scanBranch(derivator, cb) {
var activity = true;
async.whilst(function() {
return activity;
}, 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);
allAddresses.push(addresses);
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'));
var derivators = [];
derivators.push(_.bind(wallet.createAddress, wallet));
if (opts.includeCopayerBranches) {
_.each(wallet.copayers, function(copayer) {
derivators.push(_.bind(copayer.createAddress, copayer, wallet));
});
}
_.each([false, true], function(isChange) {
derivators.push(_.bind(wallet.createAddress, wallet, isChange));
if (opts.includeCopayerBranches) {
_.each(wallet.copayers, function(copayer) {
derivators.push(_.bind(copayer.createAddress, copayer, wallet, isChange));
});
}
});
var branches = _.flatten(
_.map(derivators, function(derivator) {
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);
});
async.each(derivators, function(derivator, next) {
scanBranch(derivator, next);
}, function(err) {
if (err) return cb(err);
self.storage.storeAddressAndWallet(wallet, _.flatten(allAddresses), function(err) {