diff --git a/src/bench/verify_script.cpp b/src/bench/verify_script.cpp index 8d7e92a0556b7..062f9a01dc2cd 100644 --- a/src/bench/verify_script.cpp +++ b/src/bench/verify_script.cpp @@ -24,7 +24,7 @@ static void VerifyScriptBench(benchmark::Bench& bench) { ECC_Context ecc_context{}; - const uint32_t flags{SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH}; + const script_verify_flags flags{SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH}; const int witnessversion = 0; // Key pair. diff --git a/src/binana.py b/src/binana.py index 8fde665f03105..ed3cdcd6e1db7 100755 --- a/src/binana.py +++ b/src/binana.py @@ -45,7 +45,7 @@ def get_binana_info(path): return data def gen_binana_h(data, header, depjson): - script_verify_bit = 30 # count backwards; 31 is assumed unused in unit tests + script_verify_bit = 60 # count backwards; note: 63 is assumed unused in unit tests defines = {a: [] for a in "DEPLOYMENTS DEPLOYMENTS_SIGNET DEPLOYMENTS_REGTEST DEPLOYMENTS_GBT VERIFY_FLAGS VERIFY_FLAGS_NAMES STANDARD_VERIFY_FLAGS OPCODES OPCODE_NAMES SUCCESS_OPCODES SCRIPTERR SCRIPTERR_STRING SCRIPTERR_TEST_NAMES CONSENSUS_CHECKS POLICY_CHECKS".split()} @@ -90,7 +90,7 @@ def gen_binana_h(data, header, depjson): if b.get("scriptverify", False): jsoninfo["script_flags"].append(dep) - defines["VERIFY_FLAGS"].append(f'SCRIPT_VERIFY_{dep} = (1U << {script_verify_bit}),') + defines["VERIFY_FLAGS"].append(f'SCRIPT_VERIFY_{dep} = (1ULL << {script_verify_bit}),') script_verify_bit -= 1 defines["VERIFY_FLAGS_NAMES"].append(f'{{ "{dep}", SCRIPT_VERIFY_{dep} }},') @@ -102,7 +102,7 @@ def gen_binana_h(data, header, depjson): discourage = False if b.get("scriptverify", False) and b.get("scriptverify_discourage", False): discourage = True - defines["VERIFY_FLAGS"].append(f'SCRIPT_VERIFY_DISCOURAGE_{dep} = (1U << {script_verify_bit}),') + defines["VERIFY_FLAGS"].append(f'SCRIPT_VERIFY_DISCOURAGE_{dep} = (1ULL << {script_verify_bit}),') script_verify_bit -= 1 defines["VERIFY_FLAGS_NAMES"].append(f'{{ "DISCOURAGE_{dep}", SCRIPT_VERIFY_DISCOURAGE_{dep} }},') diff --git a/src/bitcoin-util.cpp b/src/bitcoin-util.cpp index 9f2441f5db3bb..ae76050c300ce 100644 --- a/src/bitcoin-util.cpp +++ b/src/bitcoin-util.cpp @@ -183,13 +183,13 @@ static std::string sigver2str(SigVersion sigver) return "unknown"; } -static uint32_t parse_verify_flags(const std::string& strFlags) +static script_verify_flags parse_verify_flags(const std::string& strFlags) { if (strFlags.empty() || strFlags == "MANDATORY") return MANDATORY_SCRIPT_VERIFY_FLAGS; if (strFlags == "STANDARD") return STANDARD_SCRIPT_VERIFY_FLAGS; if (strFlags == "NONE") return 0; - unsigned int flags = 0; + script_verify_flags flags = 0; std::vector words = util::SplitString(strFlags, ','); for (const std::string& word : words) @@ -220,7 +220,7 @@ static int EvalScript(const ArgsManager& argsman, const std::vector { UniValue result{UniValue::VOBJ}; - uint32_t flags{0}; + script_verify_flags flags{0}; PrecomputedTransactionData txdata; ScriptExecutionData execdata; diff --git a/src/consensus/params.h b/src/consensus/params.h index 6f2163531ea94..edaf5d220aa10 100644 --- a/src/consensus/params.h +++ b/src/consensus/params.h @@ -7,6 +7,7 @@ #define BITCOIN_CONSENSUS_PARAMS_H #include +#include