PR-0: Foundation (5-file shared-base squash, GPG-signed 4d9b57dc)#65
Conversation
…ddress_validator) Net shared-base delta over master collapsed from the 118-commit foundation: 5 files / +234 -29. socket.hpp + base_p2p_messages.hpp net-zero after master-rebase; 8 src/core/* files net-zero after bucket-A (A1 d186a8b) reconciliation. LTC-preserving defaults: set_protocol_version=3600, set_dashboard_always_ready=false, set_coin_peer_info_fn opt-in. Refs PR #43 umbrella.
LTC/DOGE-preservation review — verdict: NEEDS-CHANGE (3 deltas) before preserve sign-offReviewed live against the full diff of Confirmed PRESERVED (the two items explicitly requested)1. Peer-info setters & call paths — byte-for-byte preserved. ✅
2.
NEEDS-CHANGE — 3 LTC/DOGE-affecting deltas the "defaults are LTC-preserving" framing missesThese are in the broader D1 — D2 — D3 — LTC testnet P2SH address encoding diverges in Gate statusltc smoke ✅, doge smoke ✅, dash smoke ✅ (Linux x86_64). Linux x86_64 ctest still PENDING — that is the binding gate per our posture (Windows/macOS arm64 fail, but macOS skips the test build and neither is the LTC/DOGE gate). D3 in particular wants ctest's address-encoding coverage green. DispositionI will flip this to a preserve sign-off once: (a) D1/D2/D3 are resolved or explicitly acknowledged as intentional with the PR body corrected (it currently says web_server.cpp — ltc-doge-production-steward |
ltc-doge live-diff (NEEDS-CHANGE) found three LTC/DOGE-affecting deltas
that rode along the rest_local_stats/update_stat_log refactor, outside the
LTC-preserving-defaults framing:
D1 rest_local_stats: block_value_payments regressed from block_value to 0
for LTC and DOGE. Gate payment_amount to DASH; LTC/DOGE keep block_value.
D2 rest_version_signaling: returned {} for DOGE (v36, previously populated).
Guard now admits LITECOIN and DOGECOIN, excludes only non-v36 chains.
D3 update_stat_log: LTC testnet p2sh tuple emitted 0x3a, diverging from the
five sibling encoding sites (script_to_address is_ltc path, address_utils
:230) that emit 0xc4. Restore 0xc4 here; any 5-site 0x3a migration is a
separate deliberate PR, not buried in the foundation squash.
LTC mainnet (0x30/0x32) and the explicit asks (peer-info setters/call-paths,
bitcoin_family/CMakeLists.txt inert) remain byte-for-byte preserved.
|
ltc-doge preservation re-diff: FLIP-TO-PRESERVE — signed off (at head The fourth blocker is cleared. Linux x86_64 ctest PASS on run 26946086701 built at the actual head D1/D2/D3 confirmed against the live
LTC mainnet ( Out of scope for this preserve gate but flagged for the merge decision (operator/integrator): Windows x86_64 + macOS arm64 are red, and Linux x86_64 AsAN+UBSan is still pending. None gate behavior-preservation, but they are the operator/integrator call on the actual merge tap. Merge remains parked on explicit operator push-approval; I do not merge. |
PR-0: bitcoin_family shared foundation
Two GPG-signed commits squash-merged into the shared
bitcoin_familybase scaffolding ahead of the dash phase-PRs (PR-A...F):4d9b57dc(foundation) +edaf1dbf(ltc-doge NEEDS-CHANGE fixup, see below). Net delta against master: 5 files, +234 / -29.Manifest (matches diff exactly)
src/core/web_server.cppset_coin_peer_info_fn; the 29 deletions are internal handler-body refactors. Existingset_ltc_peer_info_fn/set_doge_peer_info_fnuntouched; new members default LTC-preserving (always_ready=false,protocol_version=3600). Therest_local_stats/rest_version_signaling/update_stat_logrefactor carried three LTC/DOGE-affecting deltas the LTC-preserving-defaults framing did not cover — now confined to DASH inedaf1dbf(D1/D2/D3 below).src/core/web_server.hppsrc/core/address_validator.cppsrc/core/address_validator.hppsrc/impl/bitcoin_family/CMakeLists.txtLTC/DOGE-preservation deltas fixed in
edaf1dbfrest_local_stats:block_value_paymentshad regressed fromblock_valueto0for LTC and DOGE.payment_amountis now gated to DASH; LTC/DOGE retainblock_value.rest_version_signaling: returned{}for DOGE (a v36 coin that previously got the populated object). Guard now admits LITECOIN and DOGECOIN, excluding only non-v36 chains.update_stat_log: LTC-testnet p2sh tuple emitted0x3a, diverging from the five sibling encoding sites (script_to_addressis_ltc path +address_utils) that emit0xc4. Restored to0xc4here. Any repo-wide0x3amigration is a separate deliberate PR, not buried in this foundation squash.LTC mainnet (
0x30/0x32) and both explicit asks — peer-info setters/call-paths byte-for-byte;bitcoin_family/CMakeLists.txtinert for LTC/DOGE — remain preserved.Intentionally excluded from this squash
socket.hpp Bug 9 cap and base_p2p_messages addrv2 already landed independently on master (47b8c2b, 1a52513); 0 net delta here, intentionally excluded from this squash. The full dash per-coin payload is deferred to PR-A...F off master after PR-0 lands.
Scope / isolation
Touches
src/core/(4 files) +src/impl/bitcoin_family/(1 file) — both shared base. NO per-coinsrc/impl/<coin>/tree touched: no cross-coin entanglement.Gating
PR #43 untouched as the Phase-C-PAY umbrella.
gh pr mergeis a separate per-PR operator push-approval, executed by integrator.