Validate (and maybe submit) a package to the mempool. See doc/policy/packages.md for full details on package validation rules.
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);
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.
| 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. |