[#ProcessNewPackage] = ProcessNewPackage :mrdocs: 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>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- [[requires_capability(0x7f2e1b92a0c8), requires_capability(0x7f2e275a32a8), requires_capability(0x7f2e369646a8), requires_capability(0x7f2e354508f8)]] xref:PackageMempoolAcceptResult.adoc[PackageMempoolAcceptResult] ProcessNewPackage( xref:Chainstate.adoc[Chainstate]& active_chainstate, xref:CTxMemPool.adoc[CTxMemPool]& pool, xref:Package.adoc[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 [cols="1,4"] |=== | 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. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#