HomePhabricator

Merge #13194: Remove template matching and pseudo opcodes

Description

Merge #13194: Remove template matching and pseudo opcodes

Summary:
PR13194 backport https://github.com/bitcoin/bitcoin/pull/13194/files
c814e2e7e81fd01fcb07f4a28435741bdc463801 Remove template matching and pseudo opcodes (Pieter Wuille)

Pull request description:

The current code contains a rather complex script template matching engine, which is only used for 3 particular script types (P2PK, P2PKH, multisig). The first two of these are trivial to match for otherwise, and a specialized matcher for multisig is both more compact and more efficient than a generic one.

The goal is being more flexible, so that for example larger standard multisigs inside SegWit outputs are easier to implement.

As a side-effect, it also gets rid of the pseudo opcodes hack.

Depends on D3808

Test Plan: make check

Reviewers: jasonbcox, Fabien, #bitcoin_abc, deadalnix, nakihito

Reviewed By: jasonbcox, #bitcoin_abc, nakihito

Differential Revision: https://reviews.bitcoinabc.org/D3810

Details