-
Notifications
You must be signed in to change notification settings - Fork 36.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
There's two types of flags: consensus and script #9271
Conversation
5a72152
to
950616a
Compare
c3c7ff6
to
7a90173
Compare
good |
hajs |
12bd793
to
711d92a
Compare
Updated code and description. EDIT: sorry! still failing tests for a supposedly simple POC! Also sorry for maybe making more commits than necessary, squash suggestions very wecomed, specially if they contain suggestions about the new commit message. |
9b1a273
to
a813b0a
Compare
cc44a6f
to
e12cd59
Compare
e12cd59
to
1c0a3d9
Compare
Rebased, still don't understand why the script_tests.cpp are failing. |
1c0a3d9
to
f2fc1c6
Compare
Needed rebase, rebased on top of #10427 |
f2fc1c6
to
b6a84fc
Compare
Needed rebase, even though the first commit of #10192 hasn't been merged yet (that will need rebase too). |
...to make sure only consensus flags as an interface to bitcoinconsensus TODO: Decouple the bits in consensus flags from the ones in the interpreter flags
this also helps test ScriptFlagsFromConsensus
- Replacing GetBlockScriptFlags - Use GetConsensusFlags and ScriptFlagsFromConsensus from ConnectBlock and LimitMempoolSize
...and use it from GetConsensusFlags() Nothing can be deployed the block after genesis (ie BIP30: Don't look for ancestors of the genesis block)
b6a84fc
to
6bd6a57
Compare
Closing for now |
Replaces #7779
Unlike the previous, this distinguishes between consensus flags and the subset of them that are only related to script. We can decouple them from each other.
There's extra exploration in https://github.com/jtimon/bitcoin/commits/0.13-consensus-flags
Things to explore:
Calling GetConsensusFlags from ContextualCheckBlock or "upwards" should look bad in benchmarks (although maybe not so much since bip9 is cached and ISM has been eliminated), but would complete GetConsensusFlags().
Moving GetConsensusFlags "upwards" can reduce the impact of unifying logic from both ConnectBlock and ContextualCheckBlock in GetConsensusFlags.