BIP360 P2MR for Quantum-Resistance Migration: Validation, Policy, and Functional Tests #35106

pull arturschuch wants to merge 1 commits into bitcoin:master from arturschuch:bip360-p2mr-migration changing 16 files +306 −11
  1. arturschuch commented at 2:28 PM on April 18, 2026: none

    Summary

    • add BIP360 P2MR script/type/policy plumbing
    • add witness-v2 P2MR functional coverage
    • fix P2MR control-path merkle parsing in the interpreter

    Key Changes

    • script/interpreter: P2MR commitment verification path for witness v2
    • policy: standardness and mempool input checks for P2MR spends
    • solver/sign/rpc/wallet wiring for the new script type
    • tests: unit updates plus feature_p2mr.py registered in functional test runner

    Validation

    • ctest --output-on-failure -j6 (pass)
    • focused functional tests (pass):
      • feature_p2mr.py
      • feature_taproot.py
      • mempool_accept.py
      • mempool_packages.py
      • mempool_package_limits.py
    • test_runner.py --extended --jobs=6 (pass; environment-dependent skips only)
    • previously skipped actionable tests now enabled and passed:
      • tool_bench_sanity_check.py
      • tool_bitcoin_chainstate.py
      • wallet_backwards_compatibility.py
      • wallet_migration.py
      • mempool_compatibility.py
      • feature_coinstatsindex_compatibility.py
      • feature_unsupported_utxo_db.py
  2. Add BIP360 P2MR validation, policy, and functional coverage 45a557c9ea
  3. DrahtBot commented at 2:28 PM on April 18, 2026: contributor

    ♻️ Automatically closing for now based on heuristics. Please leave a comment, if this was erroneous. Generally, please focus on creating high-quality, original content that demonstrates a clear understanding of the project's requirements and goals.

    📝 Moderators: If this is spam, please replace the title with ., so that the thread does not appear in search results.

  4. DrahtBot closed this on Apr 18, 2026

  5. DrahtBot commented at 2:29 PM on April 18, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

    LLM Linter (✨ experimental)

    Possible places where named args for integral literals may be used (e.g. func(x, /*named_arg=*/0) in C++, and func(x, named_arg=0) in Python):

    • AddCoins(coins, CTransaction{tx_create}, 0, false) in src/test/transaction_tests.cpp
    • AddCoins(coins, CTransaction{tx_create}, 0, false) in src/test/transaction_tests.cpp

    Possible places where comparison-specific test macros should replace generic comparisons:

    • [test/functional/feature_p2mr.py] assert ( "bad-witness-nonstandard" in res["reject-reason"] or "bad-txns-nonstandard-inputs" in res["reject-reason"] or (...) ) -> Replace with assert_equal(<that_boolean_expression>, True) (or compute cond = ... then assert_equal(cond, True)) to use the comparison-specific helper instead of a bare assert.

    <sup>2026-04-18 14:29:10</sup>


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-21 09:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me