4 Commits

Author SHA1 Message Date
Anthony Towns
600357306e
versionbits: simplify state transitions
This removes the DEFINED->FAILED transition and changes the
STARTED->FAILED transition to only occur if signalling didn't pass the
threshold. This ensures that it is always possible for activation to
occur, no matter what settings are chosen, or the speed at which blocks
are found.

Github-Pull: #21377
Rebased-From: f054f6bcd2c2ce5fea84cf8681013f85a444e7ea
2021-04-15 20:59:17 -04:00
Anthony Towns
3acf0379e0
versionbits: Add explicit NEVER_ACTIVE deployments
Previously we used deployments that would timeout prior to Bitcoin's
invention, which allowed the deployment to still be activated in unit
tests. This switches those deployments to be truly never active.

Github-Pull: #21377
Rebased-From: 55ac5f568a3b73d6f1ef4654617fb76e8bcbccdf
2021-04-15 20:59:13 -04:00
Anthony Towns
b529222ad1
fuzz: test versionbits delayed activation
Github-Pull: #21377
Rebased-From: dd07e6da48040dc7eae46bc7941db48d98a669fd
2021-04-15 20:58:49 -04:00
Anthony Towns
e775b0a6dd tests: Add fuzzing harness for versionbits
Github-Pull: #21380
Rebased-From: 1639c3b76c3f2b74606f62ecd3ca725154e27f1b
2021-03-21 14:24:41 +10:00