Add script edge cases to script assets #297

pull benthecarman wants to merge 2 commits into bitcoin-core:main from benthecarman:script-assets-legacy-edge-cases changing 1 files +28 −1
  1. benthecarman commented at 7:25 PM on October 7, 2026: none

    Adds 27 cases dumped by feature_taproot.py: 25 from the new legacy/ spenders in bitcoin/bitcoin#36455, legacy/p2sh-stack-size from bitcoin/bitcoin#36465, and the previously pruned sighash/hashtype0_byte_scriptpath.

    These are appended by hand rather than through the minimizer recipe in src/test/fuzz/script_assets_test_minimizer.cpp, since a coverage merge would drop them again. Each catches an interpreter bug the rest of the file misses.

    These were discovered by finding gaps in alternate implementations (bitcoin-s and rbitcoin)

  2. Add script edge cases to script assets
    Add 26 cases dumped by feature_taproot.py: 25 from the new legacy/
    spenders, and the previously pruned
    sighash/hashtype0_byte_scriptpath.
    
    Append them by hand, since a coverage merge would drop them again.
    Each catches an interpreter bug the rest of the file misses.
    2ffd33b616
  3. Add P2SH stack size case to script assets
    Add the case dumped by the new legacy/p2sh-stack-size spender. The
    P2SH scriptPubKey runs on the stack the scriptSig leaves, so its
    20-byte push makes a scriptSig that leaves 1,000 items fail, while
    999 items is valid.
    
    An implementation that only compares the redeemScript hash accepts
    the 1,000-item spend, and no other case in the file catches it.
    dee80e6bba
Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/qa-assets. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-10-10 23:25 UTC

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