dgb: unify SEGWIT_ACTIVATION_VERSION to single SSOT (oracle=35, frstrtr/p2pool-dgb-scrypt; merged-v36 byte-compat WAIVED) - #141
Conversation
bbbb0e0 to
4953870
Compare
|
Adjudicated vs the canonical DGB oracle (frstrtr/p2pool-dgb-scrypt). CORRECTION to the earlier head (bbbb0e0 unified to 17 — wrong direction). Two-oracle split confirmed:
Master split-brain: config_pool.hpp=35 but share_types.hpp hardcoded 17; the consensus gate in share_check.hpp resolved to the share_types value (17), diverging from the oracle. New head 4953870 collapses to one SSOT in config_pool.hpp (=35); share_types.hpp + params.hpp derive from it. Consensus-relevant: shares with version in [17,35) are no longer spuriously segwit-validated against the canonical network. Rest of config_pool.hpp re-verified fully conformant to the oracle (SHARE_PERIOD=15, SPREAD=24, LOOKBEHIND=100, BLOCK_MAX=32M/128M, IDENTIFIER 4b62545b1a631afe, PREFIX 1c0553f23ebfcffe, SOFTFORKS). Build EXIT=0 (target c2pool-dgb). GPG-signed. HOLD merge. |
…=35) Master carried a split-brain: config_pool.hpp=35 but share_types.hpp hardcoded 17, and the consensus gate in share_check.hpp resolved to the share_types value (17) — diverging from the canonical DGB oracle frstrtr/p2pool-dgb-scrypt (digibyte.py SEGWIT_ACTIVATION_VERSION=35). The 17 value is the merged-v36/farsider350 figure, byte-compat for which is WAIVED for DGB per operator 2026-06-17. Collapse to one SSOT in config_pool.hpp (=35); share_types.hpp and params.hpp derive from it. Effective segwit-share gate now conforms to the oracle. Consensus-relevant: shares with version in [17,35) are no longer spuriously segwit-validated against the canonical network.
4953870 to
8b39291
Compare
What
Unify DGB SEGWIT_ACTIVATION_VERSION to a single source of truth at the oracle-canonical value 17.
Why
Split-brain found during #161 inst#4 version-gate SSOT audit: the real consensus gate (share_types.hpp + the 6 constexpr gates in share_check.hpp) already read 17, matching BOTH oracles (p2pool-dgb-scrypt and p2pool-merged-v36 @42ccca53). A stale 35 sat in the consumer-less params.hpp:66 field — a typo from my earlier c51f39b.
Inverse-correction applied: corrected config 35->17 FIRST, then unified onto the single SSOT, so convergence lands on the oracle value with zero behavior change rather than propagating the error.
Scope / classification
HOLD merge — gated on operator tap (surfaced on #161 thread).