chain: getLocator refactor.

This commit is contained in:
Christopher Jeffrey 2017-06-16 00:13:29 -07:00
parent fb8b9fac2b
commit b8c788c207
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -1867,12 +1867,9 @@ Chain.prototype._getLocator = co(function* getLocator(start) {
height = entry.height;
main = yield entry.isMainChain();
while (hash) {
hashes.push(hash);
if (height === 0)
break;
hashes.push(hash);
while (height > 0) {
height -= step;
if (height < 0)
@ -1885,11 +1882,14 @@ Chain.prototype._getLocator = co(function* getLocator(start) {
// If we're on the main chain, we can
// do a fast lookup of the hash.
hash = yield this.db.getHash(height);
assert(hash);
} else {
entry = yield entry.getAncestor(height);
assert(entry);
hash = entry.hash;
}
hashes.push(hash);
}
return hashes;