AcceptToMemoryPool

Try to add a transaction to the mempool. This is an internal function and is exposed only for testing. Client code should use ChainstateManager::ProcessTransaction()

Synopsis

Declared in <validation.h>

[[requires_capability(0x7f2e1b929958), requires_capability(0x7f2e275a2b38), requires_capability(0x7f2e36963f38), requires_capability(0x7f2e35450188)]]
MempoolAcceptResult
AcceptToMemoryPool(
    Chainstate& active_chainstate,
    CTransactionRef const& tx,
    int64_t accept_time,
    bool bypass_limits,
    bool test_accept);

Return Value

a MempoolAcceptResult indicating whether the transaction was accepted/rejected with reason.

Parameters

NameDescription
active_chainstate [in]Reference to the active chainstate.
tx [in]The transaction to submit for mempool acceptance.
accept_time [in]The timestamp for adding the transaction to the mempool. It is also used to determine when the entry expires.
bypass_limits [in]When true, don't enforce mempool fee and capacity limits, and set entry_sequence to zero.
test_accept [in]When true, run validation checks but don't submit to mempool.