Changeset View
Changeset View
Standalone View
Standalone View
src/txmempool.cpp
Show First 20 Lines • Show All 564 Lines • ▼ Show 20 Lines | for (indexed_transaction_set::const_iterator it = mapTx.begin(); | ||||
it != mapTx.end(); it++) { | it != mapTx.end(); it++) { | ||||
const CTransaction &tx = it->GetTx(); | const CTransaction &tx = it->GetTx(); | ||||
LockPoints lp = it->GetLockPoints(); | LockPoints lp = it->GetLockPoints(); | ||||
bool validLP = TestLockPointValidity(&lp); | bool validLP = TestLockPointValidity(&lp); | ||||
CValidationState state; | CValidationState state; | ||||
if (!ContextualCheckTransactionForCurrentBlock( | if (!ContextualCheckTransactionForCurrentBlock( | ||||
config.GetChainParams().GetConsensus(), tx, state, flags) || | config.GetChainParams().GetConsensus(), tx, state, flags) || | ||||
!CheckSequenceLocks(tx, flags, &lp, validLP)) { | !CheckSequenceLocks(*this, tx, flags, &lp, validLP)) { | ||||
// Note if CheckSequenceLocks fails the LockPoints may still be | // Note if CheckSequenceLocks fails the LockPoints may still be | ||||
// invalid. So it's critical that we remove the tx and not depend on | // invalid. So it's critical that we remove the tx and not depend on | ||||
// the LockPoints. | // the LockPoints. | ||||
txToRemove.insert(it); | txToRemove.insert(it); | ||||
} else if (it->GetSpendsCoinbase()) { | } else if (it->GetSpendsCoinbase()) { | ||||
for (const CTxIn &txin : tx.vin) { | for (const CTxIn &txin : tx.vin) { | ||||
indexed_transaction_set::const_iterator it2 = | indexed_transaction_set::const_iterator it2 = | ||||
mapTx.find(txin.prevout.GetTxId()); | mapTx.find(txin.prevout.GetTxId()); | ||||
▲ Show 20 Lines • Show All 816 Lines • Show Last 20 Lines |