From b1f15b218be8dfd1d2dbd375d469794bb7326748 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 13 Jun 2013 22:28:03 +0200 Subject: Remove broken option to skip input checking for wallet txn. --- src/main.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 98921e1423..f0c08d273f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -694,7 +694,7 @@ void CTxMemPool::pruneSpent(const uint256 &hashTx, CCoins &coins) } } -bool CTxMemPool::accept(CValidationState &state, CTransaction &tx, bool fCheckInputs, bool fLimitFree, +bool CTxMemPool::accept(CValidationState &state, CTransaction &tx, bool fLimitFree, bool* pfMissingInputs) { if (pfMissingInputs) @@ -751,7 +751,6 @@ bool CTxMemPool::accept(CValidationState &state, CTransaction &tx, bool fCheckIn } } - if (fCheckInputs) { CCoinsView dummy; CCoinsViewCache view(dummy); @@ -968,15 +967,15 @@ int CMerkleTx::GetBlocksToMaturity() const } -bool CMerkleTx::AcceptToMemoryPool(bool fCheckInputs, bool fLimitFree) +bool CMerkleTx::AcceptToMemoryPool(bool fLimitFree) { CValidationState state; - return mempool.accept(state, *this, fCheckInputs, fLimitFree, NULL); + return mempool.accept(state, *this, fLimitFree, NULL); } -bool CWalletTx::AcceptWalletTransaction(bool fCheckInputs) +bool CWalletTx::AcceptWalletTransaction() { { LOCK(mempool.cs); @@ -987,10 +986,10 @@ bool CWalletTx::AcceptWalletTransaction(bool fCheckInputs) { uint256 hash = tx.GetHash(); if (!mempool.exists(hash) && pcoinsTip->HaveCoins(hash)) - tx.AcceptToMemoryPool(fCheckInputs, false); + tx.AcceptToMemoryPool(false); } } - return AcceptToMemoryPool(fCheckInputs, false); + return AcceptToMemoryPool(false); } return false; } @@ -1865,7 +1864,7 @@ bool SetBestChain(CValidationState &state, CBlockIndex* pindexNew) BOOST_FOREACH(CTransaction& tx, vResurrect) { // ignore validation errors in resurrected transactions CValidationState stateDummy; - mempool.accept(stateDummy, tx, true, false, NULL); + mempool.accept(stateDummy, tx, false, NULL); } // Delete redundant memory transactions that are in the connected branch @@ -3507,7 +3506,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) bool fMissingInputs = false; CValidationState state; - if (mempool.accept(state, tx, true, true, &fMissingInputs)) + if (mempool.accept(state, tx, true, &fMissingInputs)) { RelayTransaction(tx, inv.hash, vMsg); mapAlreadyAskedFor.erase(inv); @@ -3530,7 +3529,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Use a dummy CValidationState so someone can't setup nodes to counter-DoS based on orphan resolution (that is, feeding people an invalid transaction based on LegitTxX in order to get anyone relaying LegitTxX banned) CValidationState stateDummy; - if (mempool.accept(stateDummy, tx, true, true, &fMissingInputs2)) + if (mempool.accept(stateDummy, tx, true, &fMissingInputs2)) { printf(" accepted orphan tx %s\n", inv.hash.ToString().c_str()); RelayTransaction(tx, inv.hash, vMsg); -- cgit v1.2.3