From c9fbaae0dad268e13c7f1685cdecf4bb6714384f Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Wed, 7 Dec 2016 18:03:32 -0800 Subject: [PATCH] chaindb: fix getCoinView. --- lib/blockchain/chaindb.js | 8 ++++---- lib/mempool/mempool.js | 12 ++---------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/lib/blockchain/chaindb.js b/lib/blockchain/chaindb.js index 06590aed..896d83e1 100644 --- a/lib/blockchain/chaindb.js +++ b/lib/blockchain/chaindb.js @@ -857,15 +857,15 @@ ChainDB.prototype.hasCoins = function hasCoins(hash) { ChainDB.prototype.getCoinView = co(function* getCoinView(tx, callback) { var view = new CoinView(); var prevout = tx.getPrevout(); - var i, prev, coins; + var i, hash, coins; for (i = 0; i < prevout.length; i++) { - prev = prevout[i]; - coins = yield this.getCoins(prev); + hash = prevout[i]; + coins = yield this.getCoins(hash); if (!coins) { coins = new Coins(); - coins.hash = prev.hash; + coins.hash = hash; view.add(coins); continue; } diff --git a/lib/mempool/mempool.js b/lib/mempool/mempool.js index 52b1ac4c..370c7ba1 100644 --- a/lib/mempool/mempool.js +++ b/lib/mempool/mempool.js @@ -1309,19 +1309,11 @@ Mempool.prototype.injectCoins = function injectCoins(tx, view) { for (i = 0; i < tx.inputs.length; i++) { input = tx.inputs[i]; prevout = input.prevout; - - if (!view.has(prevout.hash)) { - missing.push(prevout.hash); - continue; - } - coin = view.getCoin(prevout.hash, prevout.index); if (!coin) { - throw new VerifyError(tx, - 'duplicate', - 'bad-txns-inputs-spent', - 0); + missing.push(prevout.hash); + continue; } input.coin = coin;