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;