dash: refresh WebServer coin-node seam comment (PR-C, SAFE-COSMETIC)#68
Merged
Conversation
Owner
Author
|
Bucket-review verdict (ltc-doge-production-steward, LTC + DOGE production perspective): APPROVE — SAFE-COSMETIC confirmed. Read the full diff first-hand: +4/-4, all eight lines inside the
Formal GH note: workstation gh = |
frstrtr
added a commit
that referenced
this pull request
Jun 6, 2026
) * ci: add SAFE-COSMETIC label-gated auto-merge workflow Operator-sanctioned exception (2026-06-06) to per-push approval for comment/whitespace/doc-only PRs. Merges a PR labeled SAFE-COSMETIC into master once all six required Linux contexts pass: Linux x86_64, Linux x86_64 (AsAN+UBSan), and the ltc/doge/dash/btc coin smokes. Gate matches BARE check-run names (the REST API form), not the CI / ... UI form, verified against live PR #68 check data. Guarded by a fail-closed SAFE_COSMETIC_ENABLED repo-variable kill-switch, label presence, base==master, and non-draft/open state. * ci(safe-cosmetic): add head-SHA-bound HMAC authorization gate Require a valid integrator HMAC authorization comment, bound to the PR head SHA, before the SAFE-COSMETIC auto-merge fires. The gate recomputes HMAC-SHA256(INTEGRATOR_LABEL_KEY, "<repo>:<pr>:<head-sha>") and merges only when a comment of the exact shape SAFE-COSMETIC-AUTH: <hmac> head=<head-sha> matches the current head. A new push changes the head SHA and silently invalidates any prior signature, so authorizations cannot be replayed across PRs or SHAs. Enforced only once a PR is otherwise green; on a green PR lacking valid authorization the gate fails closed: strips the label, posts a refusal, and fails the job. SAFE_COSMETIC_ENABLED kill-switch retained as an AND gate; bare check-run names and the (AsAN+UBSan) literal unchanged.
frstrtr
added a commit
that referenced
this pull request
Jun 7, 2026
The block-replay test harness (test/CMakeLists.txt:318) was added in 9ea5733/f38b9caa but never wired into the build.yml --target lists, so ctest referenced an executable that was never built — failing the Linux x86_64 and ASan+UBSan jobs on every PR based on dash-spv-embedded (incl. PR #68). SAFE-ADDITIVE: adds an already-green target to two CI target lists; no source change. Win/macOS failures are the separate shared GTest-guard CMake issue, tracked elsewhere.
frstrtr
added a commit
that referenced
this pull request
Jun 8, 2026
Apple Clang (macOS arm64) requires INetwork complete at every make_socket instantiation site; ltc_coin instantiates it where only ICommunicator is visible, producing an incomplete-type error. Split the INetwork cross-cast and weak_from_this() liveness probe into a non-template make_socket_for_communicator() defined in socket.cpp, where factory.hpp makes INetwork complete. The inline template now needs only ICommunicator (complete in the header), preserving the factory.hpp<->socket.hpp cycle break and keeping Socket semantics identical for all coins (managed weak_node + was_managed for INetwork nodes, empty/false for legacy unmanaged nodes). PR #68 Fix C; resolves the 3rd (macOS arm64) defect after Fix A (3cef6cf) and Fix B (f74d4f1). Linux x86_64 GCC build green across core/ltc_coin and all test targets.
The old comment justified skipping set_coin_rpc() by the absence of an ICoinRPC seam. The coin-node seam (core::coin::ICoinNode) is now being extracted via the web_server rewire, so that rationale is stale. Restate the intent: dash deliberately leaves the WebServer coin-node seam unset (nullptr by design) and owns its own GBT/submitblock pipeline via the stratum handler. Comment-only; no behavior change.
bf7a9bc to
9d6228f
Compare
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.
Comment-only cleanup on src/impl/dash/main_dash.cpp (the WebServer coin-node seam block).
Reconcile (ltc-doge-production-steward, 2026-06-05) closed PR-C as stale-comment cleanup: no ICoinNode inherit, no stub, no all-coin RED window. The dash nullptr config is unchanged — no set_coin_node, stratum_port(0) — so both Cluster-A crossings stay skipped.
The old comment justified skipping set_coin_rpc() by the absence of an ICoinRPC seam; the coin-node seam (core::coin::ICoinNode) is now being extracted via the web_server rewire, so that rationale is stale. The comment now states the intent directly: dash deliberately leaves the WebServer coin-node seam unset (nullptr by design) and owns its own GBT/submitblock pipeline via the stratum handler.
Scope: 1 file, comment-only, no behavior change. Signed commit.