Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit
652424ad16test: additional test coverage for script_verify_flags (Anthony Towns)417437eb01script/verify_flags: extend script_verify_flags to 64 bits (Anthony Towns)3cbbcb66efscript/interpreter: make script_verify_flag_name an ordinary enum (Anthony Towns)bddcadee82script/verify_flags: make script_verify_flags type safe (Anthony Towns)a5ead122fescript/interpreter: introduce script_verify_flags typename (Anthony Towns)4577fb2b1erpc: have getdeploymentinfo report script verify flags (Anthony Towns)a3986935f0validation: export GetBlockScriptFlags() (Anthony Towns)5db8cd2d37Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h (Anthony Towns) Pull request description: We currently use 21 of 32 possible bits for `SCRIPT_VERIFY_*` flags, with open PRs that may use 8 more (#29247, #31989, #32247, #32453). The mutinynet fork that has included many experimental soft fork features is [already reusing bits here](https://github.com/benthecarman/bitcoin/blob/d4a86277ed8a0712e03fbbce290e9209165e049c/src/script/interpreter.h#L175-L195). Therefore, bump this to 64 bits. In order to make it easier to update this logic in future, this PR also introduces a dedicated type for the script flags, and disables implicit conversion between that type and the underlying integer type. To make verifying that this change doesn't cause flags to disappear, this PR also resurrects the changes from #28806 so that the script flags that are consensus enforced on each block can be queried via getdeploymentinfo. ACKs for top commit: instagibbs: reACK https://github.com/bitcoin/bitcoin/pull/32998/commits/652424ad162b63d73ecb6bd65bd26946e90c617f achow101: ACK652424ad16darosior: ACK652424ad16theStack: Code-review ACK652424ad16🎏 Tree-SHA512: 7b30152196cdfdef8b9700b571b7d7d4e94d28fbc5c26ea7532788037efc02e4b1d8de392b0b20507badfdc26f5c125f8356a479604a9149b8aae23a7cf5549f
This commit is contained in:
28 files changed
+309
-169
No files matched your search
@@ -213,6 +213,7 @@ class BlockchainTest(BitcoinTestFramework):
|
||||
assert_equal(gdi_result, {
|
||||
"hash": blockhash,
|
||||
"height": height,
|
||||
"script_flags": ["CHECKLOCKTIMEVERIFY","CHECKSEQUENCEVERIFY","DERSIG","NULLDUMMY","P2SH","TAPROOT","WITNESS"],
|
||||
"deployments": {
|
||||
'bip34': {'type': 'buried', 'active': True, 'height': 2},
|
||||
'bip66': {'type': 'buried', 'active': True, 'height': 3},
|
||||
|
||||
Reference in new issue
Block a user