MCPcopy Create free account
hub / github.com/Bitcoin-ABC/bitcoin-abc / ProcessTransaction

Method ProcessTransaction

src/validation.cpp:5137–5152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5135}
5136
5137MempoolAcceptResult
5138ChainstateManager::ProcessTransaction(const CTransactionRef &tx,
5139 bool test_accept) {
5140 AssertLockHeld(cs_main);
5141 Chainstate &active_chainstate = ActiveChainstate();
5142 if (!active_chainstate.GetMempool()) {
5143 TxValidationState state;
5144 state.Invalid(TxValidationResult::TX_NO_MEMPOOL, "no-mempool");
5145 return MempoolAcceptResult::Failure(state);
5146 }
5147 auto result = AcceptToMemoryPool(active_chainstate, tx, GetTime(),
5148 /*bypass_limits=*/false, test_accept);
5149 active_chainstate.GetMempool()->check(
5150 active_chainstate.CoinsTip(), active_chainstate.m_chain.Height() + 1);
5151 return result;
5152}
5153
5154bool TestBlockValidity(
5155 BlockValidationState &state, const CChainParams &params,

Callers 10

BOOST_FIXTURE_TEST_CASEFunction · 0.80
ProcessOrphanTxMethod · 0.80
ProcessMessageMethod · 0.80
BOOST_FIXTURE_TEST_CASEFunction · 0.80
BOOST_FIXTURE_TEST_CASEFunction · 0.80
BOOST_AUTO_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 5

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