Based on #19438 which makes switching a deployment between signalled and buried/flag-day straightforward.
versionbits: correct doxygen comments898d54177d
versionbits: Use dedicated lock instead of cs_mainc5ed42fab9
[refactor] Add deploymentstatus.h
Provides DeploymentEnabled, DeploymentActiveAt, and DeploymentActiveAfter
helpers for checking the status of buried deployments. Can be overloaded
so the same syntax works for non-buried deployments, allowing future
soft forks to be changed from signalled to buried deployments without
having to touch the implementation code.
Replaces IsWitnessEnabled and IsScriptWitnessEnabled.
ad5adb398a
[refactor] Add versionbits deployments to deploymentstatus.h
Adds support for versionbits deployments to DeploymentEnabled,
DeploymentActiveAfter and DeploymentActiveAt. Also moves versionbitscache
from validation to deploymentstatus.
073ae5b33c
[refactor] SoftForkPushBack and deploymentinfo
rpc/blockchain.cpp: Rename BIP9SoftForkPushBack and BuriedSoftForkPushBack
to SoftForkPushBack and have the compiler figure out which one to use
based on the deployment type. Avoids having to update the file when
burying a deployment.
deploymentinfo: Rename versionbitsinfo to deploymentinfo and add
names of buried deployments, so they don't need to be duplicated in
VBDeploymentInfo and getblockchaininfo.
aa1deb7507
[refactor] versionbits: make VersionBitsCache a full class
Moves the VersionBits* functions to be methods of the cache class,
and makes the cache and its lock private to the class.
3ce2405c58
[refactor] move ComputeBlockVersion from validation to VersionBitsCache
This also changes ComputeBlockVersion to take the vbcache lock once,
rather than once for each deployment.
3a32ec4a05
Switch taproot to buried deploymentb8413a6362
gbt: encourage signalling by vbit 2 prior to taproot activation6e08b0852c
consensus: enable taproot at flag day height 747936 -- DO NOT RUN69e36bc152
DrahtBot added the label
Build system
on Mar 6, 2021
DrahtBot added the label
Consensus
on Mar 6, 2021
DrahtBot added the label
Mining
on Mar 6, 2021
DrahtBot added the label
P2P
on Mar 6, 2021
DrahtBot added the label
RPC/REST/ZMQ
on Mar 6, 2021
DrahtBot added the label
Validation
on Mar 6, 2021
DrahtBot
commented at 6:33 pm on March 6, 2021:
member
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Conflicts
Reviewers, this pull request conflicts with the following ones:
#21575 (refactor: Create blockstorage module by MarcoFalke)
#21467 (Move external signer out of wallet module by Sjors)
#21401 (Refactor versionbits deployments to avoid potential uninitialized variables by achow101)
#21391 ([Bundle 5/n] Prune g_chainman usage in RPC modules by dongcarl)
#21377 (Speedy trial support for versionbits by ajtowns)
#10102 ([experimental] Multiprocess bitcoin by ryanofsky)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
michaelfolkson
commented at 10:23 pm on March 6, 2021:
contributor
Light Concept NACK.
I prefer the Speedy Trial activation method which you have started on in a different PR. I also think (I could be wrong) a flag day activation stands much less chance of being merged given harding’s F7 argument and Rusty’s “Developers should not activate” argument amongst others.
Having said that, if a flag day was to have overwhelming consensus I wouldn’t Concept NACK it.
luke-jr
commented at 1:44 am on April 8, 2021:
member
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2024-12-21 15:12 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me