btc(v36): segwit gate consumes PoolConfig SSOT (FLAG 2) + FLAG 4 comment refresh - #123
Merged
Conversation
share_check.hpp gated segwit serialization/merkle paths on the namespace-local btc::SEGWIT_ACTIVATION_VERSION (share_types.hpp = 17) instead of PoolConfig::SEGWIT_ACTIVATION_VERSION (= 33, jtoomim bitcoin.py:35) — the declared single source of truth. Retire the share_types-local constant, route is_segwit_activated() and all six share_check.hpp gate sites at PoolConfig, and add the config_pool.hpp include to share_types.hpp (no cycle: config_pool has no share_types dep). Low live risk (only legacy v17/v32 fall in the 17..32 gap; the live sharechain is v35/v36) but a genuine structural divergence — the gate now agrees with config across all paths. Also refresh the stale COMBINED_DONATION_SCRIPT comment (FLAG 4): BTC now runs v36-active shares; its donation leg intentionally stays the V35 P2PK (forrestv canonical BTC-mainnet donation) while the COMBINED P2SH remains LTC-only. Comment-only; no byte change. No build (capacity-return hold); staged read-only for operator-gated review.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
FLAG 2 — segwit activation single-source-of-truth (BTC-only)
V36 pre-scan (#119 follow-up) surfaced a structural divergence:
share_check.hppgated all segwit serialization/merkle paths on the namespace-localbtc::SEGWIT_ACTIVATION_VERSION(share_types.hpp= 17) rather than the declared SSOTPoolConfig::SEGWIT_ACTIVATION_VERSION(= 33, jtoomimbitcoin.py:35).Change (per-coin isolated — touches only
src/impl/btc/)share_types.hpp: retire the local= 17constant; routeis_segwit_activated()atPoolConfig::SEGWIT_ACTIVATION_VERSION; addconfig_pool.hppinclude (no cycle —config_poolhas noshare_typesdep).share_check.hpp: all 6 gate sitesbtc::SEGWIT_ACTIVATION_VERSION->btc::PoolConfig::SEGWIT_ACTIVATION_VERSION.config_pool.hpp(FLAG 4, comment-only): refresh the staleCOMBINED_DONATION_SCRIPTcomment ("BTC stays at v35") to reflect v36-active BTC shares; donation leg intentionally stays V35 P2PK (forrestv canonical), COMBINED P2SH remains LTC-only. No byte change.Risk
Low live risk — only legacy v17..v32 fall in the gap; the live sharechain is v35/v36. Genuine structural fix: the gate now agrees with config across every path.
Status
base
fd8f99ca(master) · commitc40869df(signed)