mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-20 15:19:07 +01:00
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](d4a86277ed/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: reACK652424ad16achow101: ACK652424ad16darosior: ACK652424ad16theStack: Code-review ACK652424ad16🎏 Tree-SHA512: 7b30152196cdfdef8b9700b571b7d7d4e94d28fbc5c26ea7532788037efc02e4b1d8de392b0b20507badfdc26f5c125f8356a479604a9149b8aae23a7cf5549f
314 KiB
314 KiB