MCPcopy Create free account
hub / github.com/ElementsProject/elements / ProcessTransaction

Method ProcessTransaction

src/validation.cpp:4199–4211  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4197}
4198
4199MempoolAcceptResult ChainstateManager::ProcessTransaction(const CTransactionRef& tx, bool test_accept)
4200{
4201 AssertLockHeld(cs_main);
4202 CChainState& active_chainstate = ActiveChainstate();
4203 if (!active_chainstate.GetMempool()) {
4204 TxValidationState state;
4205 state.Invalid(TxValidationResult::TX_NO_MEMPOOL, "no-mempool");
4206 return MempoolAcceptResult::Failure(state);
4207 }
4208 auto result = AcceptToMemoryPool(active_chainstate, tx, GetTime(), /*bypass_limits=*/ false, test_accept);
4209 active_chainstate.m_mempool->check(active_chainstate.m_chain.Tip(), active_chainstate.CoinsTip(), active_chainstate.m_chain.Height() + 1);
4210 return result;
4211}
4212
4213bool TestBlockValidity(BlockValidationState& state,
4214 const CChainParams& chainparams,

Callers 10

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

GetTimeFunction · 0.85
GetMempoolMethod · 0.80
InvalidMethod · 0.80
HeightMethod · 0.80
checkMethod · 0.45
TipMethod · 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