HomePhabricator

Merge #12885: Reduce implementation code inside CScript

Description

Merge #12885: Reduce implementation code inside CScript

Summary:
54a5a21 [MOVEONLY] Turn CScript::GetOp2 into a function and move to cpp (Pieter Wuille)
6a7456a [MOVEONLY] Move CSCript::FindAndDelete to interpreter (Pieter Wuille)
33a8ecf Delete unused non-const-iterator CSCript::GetOp overloads (Pieter Wuille)
2fb168b Make iterators in CScript::FindAndDelete const (Pieter Wuille)

Pull request description:

This PR moves `FindAndDelete` and `GetOp2` out of CScript (the first is only used inside the interpreter and moved there, the second does not actually depend on any script specifics and works on any vector). Furthermore, all non-const-iterator versions of GetOp are replaced by const ones, removing a number of methods in the process.

The longer term goal here is making the script interpreter independent from the CScript representation.

Note for reviewers: both `FindAndDelete` and `GetScriptOp` are consensus critical.

Tree-SHA512: c4ccf91c0b33c37cff0d474aa8dd2dab25b5b7655e2ed69a9b15e29daf0a67b21d51c23e1defb3a72ec762bd6138de96f69c6db1fb9c1fe1e976e421261aedb7

Backport of Core PR12885
https://github.com/bitcoin/bitcoin/pull/12885/

Test Plan:

make check

Reviewers: deadalnix, Fabien, jasonbcox, O1 Bitcoin ABC, #bitcoin_abc

Reviewed By: deadalnix, O1 Bitcoin ABC, #bitcoin_abc

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

Details

Provenance
Wladimir J. van der Laan <laanwj@gmail.com>Authored on Apr 23 2018, 19:08
nakihitoCommitted on Sep 18 2019, 15:54
nakihitoPushed on Sep 18 2019, 19:39
Reviewer
Restricted Owners Package
Differential Revision
D3968: Merge #12885: Reduce implementation code inside CScript
Parents
rSTAGING555fded986aa: net: split up addresses/ban dumps in preparation for moving them
Branches
Unknown
Tags
Unknown