MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / ProcessTransaction

Method ProcessTransaction

src/validation.cpp:4465–4477  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4463}
4464
4465MempoolAcceptResult ChainstateManager::ProcessTransaction(const CTransactionRef& tx, bool test_accept)
4466{
4467 AssertLockHeld(cs_main);
4468 Chainstate& active_chainstate = ActiveChainstate();
4469 if (!active_chainstate.GetMempool()) {
4470 TxValidationState state;
4471 state.Invalid(TxValidationResult::TX_NO_MEMPOOL, "no-mempool");
4472 return MempoolAcceptResult::Failure(state);
4473 }
4474 auto result = AcceptToMemoryPool(active_chainstate, tx, GetTime(), /*bypass_limits=*/ false, test_accept);
4475 active_chainstate.GetMempool()->check(active_chainstate.CoinsTip(), active_chainstate.m_chain.Height() + 1);
4476 return result;
4477}
4478
4479
4480BlockValidationState TestBlockValidity(

Callers 12

ProcessOrphanTxMethod · 0.80
ProcessMessageMethod · 0.80
BOOST_AUTO_TEST_CASEFunction · 0.80
BOOST_FIXTURE_TEST_CASEFunction · 0.80
BOOST_FIXTURE_TEST_CASEFunction · 0.80
BOOST_AUTO_TEST_CASEFunction · 0.80
BOOST_FIXTURE_TEST_CASEFunction · 0.80
testmempoolacceptFunction · 0.80
AssembleBlockFunction · 0.80
BroadcastTransactionFunction · 0.80

Calls 6

AcceptToMemoryPoolFunction · 0.85
GetMempoolMethod · 0.80
InvalidMethod · 0.80
HeightMethod · 0.80
GetTimeFunction · 0.50
checkMethod · 0.45

Tested by 6

BOOST_AUTO_TEST_CASEFunction · 0.64
BOOST_FIXTURE_TEST_CASEFunction · 0.64
BOOST_FIXTURE_TEST_CASEFunction · 0.64
BOOST_AUTO_TEST_CASEFunction · 0.64
BOOST_FIXTURE_TEST_CASEFunction · 0.64