Implement OP_CHECKTEMPLATEVERIFY #29280

pull reardencode wants to merge 11 commits into bitcoin:master from reardencode:ctv-master changing 24 files +2866 −16
  1. reardencode commented at 5:38 am on January 19, 2024: none
    This pull request forks from #29198 and only includes the implementation of OP_CHECKTEMPLATEVERIFY, its tests (except the functional ones), and standardization of bare OP_CHECKTEMPLATEVERIFY locking scripts.
  2. Add StandardTemplateHash definition 5126ce89c8
  3. Add SignatureChecker method for checking DefaultCheckTemplateVerifyHash. a59bc410ce
  4. Add OP_CHECKTEMPLATEVERIFY Opcode as OP_NOP4
    [TESTS] modify script_tests.json to enable OP_NOP4 as OP_CHECKTEMPLATEVERIFY
    c4ead6ac03
  5. Change printing of NOP4 to CheckTemplateVerify (separate commit for ease of bisecting should downstream software expect to parse NOP4 this now fails) db145da6e4
  6. [Anti-DoS Caching] Precompute the DefaultCheckTemplateVerifyHash bb3a8a3a22
  7. [Refactor] Document and pack the fields in the PrecomputedData ace77b3f7e
  8. [Anti-DoS Caching] No longer Cache CTV Hash at input index 0 df9937c8a9
  9. Make Bare OP_CHECKTEMPLATEVERIFY basic transactions standard 0a0ebd0bfd
  10. [TESTS] add tx_valid.json tests for BIP-119 CheckTemplateVerify bea6a16bc3
  11. [TESTS] Add tx_invalid.json examples for BIP-119 CheckTemplateVerify 7545dfa815
  12. [TESTS] Add CTV Hash Computation Unit Test & Mutation Tester
    Co-authored-by: James O'Beirne <github@au92.org>
    656dd89c4e
  13. DrahtBot commented at 5:38 am on January 19, 2024: contributor

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

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Concept ACK moonsettler

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #30406 (refactor: modernize-use-equals-default by maflcko)
    • #30352 (policy: Add PayToAnchor(P2A), OP_TRUE <0x4e73> as a standard output script for spending by instagibbs)
    • #29843 (policy: Allow non-standard scripts with -acceptnonstdtxn=1 (test nets only) by ajtowns)
    • #29270 (Implement OP_CHECKSIGFROMSTACK(VERIFY) by reardencode)
    • #29269 (Add OP_INTERNALKEY for Tapscript by reardencode)
    • #29247 (Reenable OP_CAT by 0xBEEFCAF3)
    • #29221 (Implement 64 bit arithmetic op codes in the Script interpreter by Christewart)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  14. moonsettler commented at 1:14 pm on January 19, 2024: none
    Concept ACK!
  15. glozow added the label Consensus on Feb 5, 2024
  16. earonesty commented at 1:10 pm on April 10, 2024: none
    Lgtm. It’s the simplest and least controversial and has an extremely broad use case set (not perfect for anything but useful for everything). No need to bikeshed if it’s the best. It’s useful and we need more useful things.
  17. DrahtBot added the label CI failed on Jun 13, 2024
  18. DrahtBot commented at 7:27 am on June 13, 2024: contributor

    🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the documentation.

    Possibly this is due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    Leave a comment here, if you need help tracking down a confusing failure.

    Debug: https://github.com/bitcoin/bitcoin/runs/20644946098

  19. DrahtBot added the label Needs rebase on Jul 11, 2024
  20. DrahtBot commented at 6:53 pm on July 11, 2024: contributor

    🐙 This pull request conflicts with the target branch and needs rebase.

  21. DrahtBot commented at 0:37 am on October 8, 2024: contributor

    ⌛ There hasn’t been much activity lately and the patch still needs rebase. What is the status here?

    • Is it still relevant? ➡️ Please solve the conflicts to make it ready for review and to ensure the CI passes.
    • Is it no longer relevant? ➡️ Please close.
    • Did the author lose interest or time to work on this? ➡️ Please close it and mark it ‘Up for grabs’ with the label, so that it can be picked up in the future.

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: 2024-12-03 15:12 UTC

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