diff options
author | fanquake <fanquake@gmail.com> | 2022-06-20 10:24:15 +0100 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2022-06-20 10:24:15 +0100 |
commit | 0d8e68d7054466925ecd165a871fc0e3f53cdafa (patch) | |
tree | 7fdddd3545dd2f2a096a046bde4cc10a70a8296b /src/policy/packages.h | |
parent | 9c94f3b3a71b6d1c30471cf6a2a4fbadcc351a3f (diff) |
refactor: move DEFAULT_*_LIMIT assertions from validation to policy
Diffstat (limited to 'src/policy/packages.h')
-rw-r--r-- | src/policy/packages.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/policy/packages.h b/src/policy/packages.h index ba6a3a9a06..564ff50d29 100644 --- a/src/policy/packages.h +++ b/src/policy/packages.h @@ -19,6 +19,15 @@ static constexpr uint32_t MAX_PACKAGE_COUNT{25}; static constexpr uint32_t MAX_PACKAGE_SIZE{101}; static_assert(MAX_PACKAGE_SIZE * WITNESS_SCALE_FACTOR * 1000 >= MAX_STANDARD_TX_WEIGHT); +// If a package is submitted, it must be within the mempool's ancestor/descendant limits. Since a +// submitted package must be child-with-unconfirmed-parents (all of the transactions are an ancestor +// of the child), package limits are ultimately bounded by mempool package limits. Ensure that the +// defaults reflect this constraint. +static_assert(DEFAULT_DESCENDANT_LIMIT >= MAX_PACKAGE_COUNT); +static_assert(DEFAULT_ANCESTOR_LIMIT >= MAX_PACKAGE_COUNT); +static_assert(DEFAULT_ANCESTOR_SIZE_LIMIT >= MAX_PACKAGE_SIZE); +static_assert(DEFAULT_DESCENDANT_SIZE_LIMIT >= MAX_PACKAGE_SIZE); + /** A "reason" why a package was invalid. It may be that one or more of the included * transactions is invalid or the package itself violates our rules. * We don't distinguish between consensus and policy violations right now. |