Skip to content

Commit

Permalink
Get rid of SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM
Browse files Browse the repository at this point in the history
Summary: as per title

Test Plan: make check && test/functional/test_runner.py

Reviewers: deadalnix, schancel, #bitcoin_abc

Reviewed By: deadalnix, #bitcoin_abc

Subscribers: teamcity

Differential Revision: https://reviews.bitcoinabc.org/D1446
  • Loading branch information
sickpig committed May 24, 2018
1 parent e73b8d6 commit aa4cd96
Show file tree
Hide file tree
Showing 7 changed files with 2 additions and 31 deletions.
3 changes: 1 addition & 2 deletions src/policy/policy.h
Expand Up @@ -56,8 +56,7 @@ static const unsigned int STANDARD_SCRIPT_VERIFY_FLAGS =
SCRIPT_VERIFY_MINIMALDATA | SCRIPT_VERIFY_NULLDUMMY |
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | SCRIPT_VERIFY_CLEANSTACK |
SCRIPT_VERIFY_NULLFAIL | SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY |
SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | SCRIPT_VERIFY_LOW_S |
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM;
SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | SCRIPT_VERIFY_LOW_S;

/** For convenience, standard but not mandatory verify flags. */
static const unsigned int STANDARD_NOT_MANDATORY_VERIFY_FLAGS =
Expand Down
7 changes: 1 addition & 6 deletions src/script/interpreter.h
Expand Up @@ -87,12 +87,7 @@ enum {
// See BIP112 for details
SCRIPT_VERIFY_CHECKSEQUENCEVERIFY = (1U << 10),

// Making v1-v16 witness program non-standard
//
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM = (1U << 12),

// Segwit script only: Require the argument of OP_IF/NOTIF to be exactly
// 0x01 or empty vector
// Require the argument of OP_IF/NOTIF to be exactly 0x01 or empty vector
//
SCRIPT_VERIFY_MINIMALIF = (1U << 13),

Expand Down
2 changes: 0 additions & 2 deletions src/script/script_error.cpp
Expand Up @@ -82,8 +82,6 @@ const char *ScriptErrorString(const ScriptError serror) {
"operation";
case SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS:
return "NOPx reserved for soft-fork upgrades";
case SCRIPT_ERR_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM:
return "Witness version reserved for soft-fork upgrades";
case SCRIPT_ERR_PUBKEYTYPE:
return "Public key is neither compressed or uncompressed";
case SCRIPT_ERR_CLEANSTACK:
Expand Down
1 change: 0 additions & 1 deletion src/script/script_error.h
Expand Up @@ -62,7 +62,6 @@ typedef enum ScriptError_t {

/* softfork safeness */
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS,
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM,

/* misc */
SCRIPT_ERR_NONCOMPRESSED_PUBKEY,
Expand Down
16 changes: 0 additions & 16 deletions src/test/data/tx_valid.json
Expand Up @@ -321,22 +321,6 @@
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x60 0x14 0x4c9c3dfac4207d5d8cb89df5722cb3d712385e3f", 1000]],
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01e803000000000000015100000000", "P2SH"],

["1 byte push should not be considered a witness scriptPubKey"],
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x60 0x01 0x01", 1000]],
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01e803000000000000015100000000", "P2SH,DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM"],

["41 bytes push should not be considered a witness scriptPubKey"],
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x60 0x29 0xff25429251b5a84f452230a3c75fd886b7fc5a7865ce4a7bb7a9d7c5be6da3dbff0000000000000000", 1000]],
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01e803000000000000015100000000", "P2SH,DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM"],

["The witness version must use OP_1 to OP_16 only"],
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x01 0x10 0x02 0x0001", 1000]],
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01e803000000000000015100000000", "P2SH,DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM"],

["The witness program push must be canonical"],
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x60 0x4c02 0x0001", 1000]],
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01e803000000000000015100000000", "P2SH,DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM"],

["Non witness Single|AnyoneCanPay hash input's position"],
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG", 1000],
["0000000000000000000000000000000000000000000000000000000000000100", 1, "0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG", 1001]],
Expand Down
2 changes: 0 additions & 2 deletions src/test/script_tests.cpp
Expand Up @@ -79,8 +79,6 @@ static ScriptErrorDesc script_errors[] = {
{SCRIPT_ERR_MINIMALIF, "MINIMALIF"},
{SCRIPT_ERR_SIG_NULLFAIL, "NULLFAIL"},
{SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS, "DISCOURAGE_UPGRADABLE_NOPS"},
{SCRIPT_ERR_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM,
"DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM"},
{SCRIPT_ERR_NONCOMPRESSED_PUBKEY, "NONCOMPRESSED_PUBKEY"},
{SCRIPT_ERR_ILLEGAL_FORKID, "ILLEGAL_FORKID"},
{SCRIPT_ERR_MUST_USE_FORKID, "MISSING_FORKID"},
Expand Down
2 changes: 0 additions & 2 deletions src/test/scriptflags.cpp
Expand Up @@ -28,8 +28,6 @@ static std::map<std::string, uint32_t> mapFlagNames = {
{"NULLFAIL", SCRIPT_VERIFY_NULLFAIL},
{"CHECKLOCKTIMEVERIFY", SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY},
{"CHECKSEQUENCEVERIFY", SCRIPT_VERIFY_CHECKSEQUENCEVERIFY},
{"DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM",
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM},
{"COMPRESSED_PUBKEYTYPE", SCRIPT_VERIFY_COMPRESSED_PUBKEYTYPE},
{"SIGHASH_FORKID", SCRIPT_ENABLE_SIGHASH_FORKID},
{"REPLAY_PROTECTION", SCRIPT_ENABLE_REPLAY_PROTECTION},
Expand Down

0 comments on commit aa4cd96

Please sign in to comment.