ProcessNewPackage

Validate (and maybe submit) a package to the mempool. See doc/policy/packages.md for full details on package validation rules.

Synopsis

Declared in <validation.h>

[[requires_capability(0x7f951395a318), requires_capability(0x7f9501e99748), requires_capability(0x7f95253382e8), requires_capability(0x7f95150ba848)]]
PackageMempoolAcceptResult
ProcessNewPackage(
    Chainstate& active_chainstate,
    CTxMemPool& pool,
    Package const& txns,
    bool test_accept,
    std::optional<CFeeRate> const& client_maxfeerate);

Return Value

a PackageMempoolAcceptResult which includes a MempoolAcceptResult for each transaction. If a transaction fails, validation will exit early and some results may be missing. It is also possible for the package to be partially submitted.

Parameters

NameDescription
active_chainstate [in]Reference to the active chainstate.
pool [in]The mempool the package is validated against.
txns [in]The transactions that make up the package.
test_accept [in]When true, run validation checks but don't submit to mempool.
client_maxfeerate [in]If exceeded by an individual transaction, rest of (sub)package evaluation is aborted. Only for sanity checks against local submission of transactions.