dash: sharechain pool-node wire-message layer (S8 pool-node leaf 2) - #582
Merged
Conversation
This was referenced Jun 27, 2026
Merged
DASH lacked the p2pool sharechain pool-node wire layer that btc/dgb/ltc all carry. This is leaf 2 (after peer #580): the message envelope itself. src/impl/dash/messages.hpp — namespace dash port of the shared p2pool-family messages layer (src/impl/ltc/messages.hpp): version/ping/addrme/getaddrs/ addrs/shares/sharereq/sharereply/have_tx BEGIN_MESSAGE definitions + the pool-node dispatch type-list. The envelope is byte-parity with the family layer; share VERSION/transition (16->36) lives inside chain::RawShare, not the message frame, so the pool-node wire contract is coin-uniform. Mirrors the analog; no new contract invented. test/test_dash_poolnode_messages.cpp — 10 KATs: per-message pack/make round-trips (version field-by-field, ping empty, addrme LE-layout pin, getaddrs, addrs, v16+v36 shares envelope, sharereq, sharereply enum, have_tx) + Handler type-list instantiation. 10/10 green, non-hollow. Strictly fenced to src/impl/dash/ + additive test wiring (CMakeLists add_executable/link + build.yml allowlist x2); no bitcoin_family/src/core/ other-coin touch. peer.hpp coverage stays in #580 (test_dash_peer).
frstrtr
force-pushed
the
dash/s8-poolnode-messages
branch
from
June 27, 2026 19:42
4e8a7bc to
a9db540
Compare
…rrent master to clear stale-base CI
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.
S8 pool-node leaf 2 of N (after peer #580). Adds the DASH sharechain pool-node wire-message envelope — the layer btc/dgb/ltc carry but DASH lacked, blocking the full gate (b) bind/dial-crosses-shares path.
What
src/impl/dash/messages.hpp— namespace-dashport of the shared p2pool-family messages layer (src/impl/ltc/messages.hpp): version/ping/addrme/getaddrs/addrs/shares/sharereq/sharereply/have_tx + pool-node dispatch type-list. Envelope is byte-parity with the family; share VERSION/transition (16->36) lives insidechain::RawShare, not the frame, so the wire contract is coin-uniform.test/test_dash_poolnode_messages.cpp— 10 KATs (per-message pack/make round-trips + Handler type-list instantiation). 10/10 green, non-hollow, on Linux x86_64.Fence: strictly
src/impl/dash/+ additive test wiring (CMakeLists add_executable/link + build.yml allowlist x2). No bitcoin_family/src/core/other-coin touch. peer.hpp coverage stays in #580 (test_dash_peer); this leaf is independent of peer.hpp in code.Leaf plan: peer (#580) -> messages (this) -> share_messages -> share_tracker -> node. Independently mergeable off master; allowlist unions trivially with #580.
GPG-signed 4e8a7bc. Held for integrator verify + operator tap — no self-merge.