diff --git a/lib/bcoin/blockdb.js b/lib/bcoin/blockdb.js index b72d7460..12982782 100644 --- a/lib/bcoin/blockdb.js +++ b/lib/bcoin/blockdb.js @@ -371,24 +371,24 @@ BlockDB.prototype.removeBlock = function removeBlock(hash, callback) { }); next(); - }, function(err) { + }); + }, function(err) { + if (err) + return callback(err); + batch.write(function(err) { if (err) return callback(err); - batch.write(function(err) { + // TODO: Add check to make sure we + // can ONLY remove the last block. + assert(block._fileOffset >= 0); + assert(block._fileOffset < self.data.size); + // XXX This seems to be truncating too much right now + return callback(null, block); + self.data.truncateAsync(block._fileOffset, function(err) { if (err) return callback(err); - // TODO: Add check to make sure we - // can ONLY remove the last block. - assert(block._fileOffset >= 0); - assert(block._fileOffset < self.data.size); - // XXX This seems to be truncating too much right now + self.emit('remove block', block); return callback(null, block); - self.data.truncateAsync(block._fileOffset, function(err) { - if (err) - return callback(err); - self.emit('remove block', block); - return callback(null, block); - }); }); }); });