diff --git a/lib/bcoin/pool.js b/lib/bcoin/pool.js index 92e8bb59..d5d6378c 100644 --- a/lib/bcoin/pool.js +++ b/lib/bcoin/pool.js @@ -802,11 +802,11 @@ Pool.prototype._handleInv = function _handleInv(hashes, peer, callback) { if (!this.synced) return callback(); + if (!this.options.headers) + return this._handleBlocks(hashes, peer, callback); + utils.forEachSerial(hashes, function(hash, next) { - if (self.options.headers) - self.getHeaders(peer, null, hash, next); - else - self.getData(peer, self.block.type, hash, next); + self.getHeaders(peer, null, hash, next); }, function(err) { if (err) return callback(err); @@ -852,15 +852,10 @@ Pool.prototype._handleBlock = function _handleBlock(block, peer, callback) { peer.destroy(); return callback(err); } - if (peer === self.peers.load) { - self.resolveOrphan(peer, null, block.hash('hex'), function(e) { - self.scheduleRequests(peer); - return callback(e || err); - }); - return; - } - self.scheduleRequests(peer); - return callback(err); + return self.resolveOrphan(peer, null, block.hash('hex'), function(e) { + self.scheduleRequests(peer); + return callback(e || err); + }); } self.rejects.add(block.hash());