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(0x7f2e1b92a0c8), requires_capability(0x7f2e275a32a8), requires_capability(0x7f2e369646a8), requires_capability(0x7f2e354508f8)]]
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

Name

Description

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.

Created with MrDocs