From 210c470addb3e094b6169dc86a6a3f10ed7bb087 Mon Sep 17 00:00:00 2001 From: frstrtr Date: Tue, 16 Jun 2026 10:54:19 +0000 Subject: [PATCH 1/2] dgb: tighten coin/node skeleton AuxPoW comment to V36 reality + aux seam signature MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ยง4c skeleton extension (Slice #3). Documents the AuxPoW/merged-mining posture on the dgb::coin::Node minimal-stub: DGB-Scrypt is a standalone Scrypt-only parent in the default build (no AuxPoW path); merged-mining is the DOGE-only stretch, gated behind -DAUX_DOGE=ON and served by the shared src/impl/doge aux module (consumed, not owned). Adds the bind_aux_doge_parsers() declaration only (no body) under #ifdef AUX_DOGE. SAFE-ADDITIVE: comment + #ifdef-gated member declaration, never odr-used in the default build. Single-coin src/impl/dgb only. No share_check version-acceptance path, no stratum, no entrypoint. p2pool-merged-v36 parity preserved. --- src/impl/dgb/coin/node.hpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/impl/dgb/coin/node.hpp b/src/impl/dgb/coin/node.hpp index 7d7a05737..a85981ec4 100644 --- a/src/impl/dgb/coin/node.hpp +++ b/src/impl/dgb/coin/node.hpp @@ -13,6 +13,16 @@ // The ctor keeps btc's (context, config) shape via auto params (no boost // include needed in the stub) so M3 restores the body without re-typing // construction sites. +// +// AuxPoW / merged-mining seam (V36 reality): DGB-Scrypt is a STANDALONE parent in +// the default build and validates Scrypt blocks ONLY -- there is no AuxPoW path in +// the default c2pool-dgb. Merged-mining is the DOGE-only stretch, compiled solely +// under -DAUX_DOGE=ON, where the shared src/impl/doge/coin/aux_* module (owned by +// ltc-doge; dgb CONSUMES, never modifies) supplies the AuxPoW header / raw-block +// parsers that the M3 NodeP2P will bind. The other four DGB algos (SHA256d, Skein, +// Qubit, Odocrypt) are accept-by-continuity / ignored in V36 -- never validated +// here. p2pool-merged-v36 parity preserved. Signature only below; body lands with +// NodeP2P at M3. // --------------------------------------------------------------------------- #include @@ -48,6 +58,13 @@ class Node : public dgb::interfaces::Node } NodeRPC* rpc() { return m_rpc.get(); } + +#ifdef AUX_DOGE + // DOGE merged-mining aux seam (STRETCH; -DAUX_DOGE=ON only). Binds the shared + // src/impl/doge aux module's parsers onto the (M3) coin P2P layer. Declaration + // only -- no body until NodeP2P is ported. Parity: p2pool-merged-v36. + void bind_aux_doge_parsers(); +#endif }; } // namespace coin From 86fa3b9f7450df22073acf899942096e6d115c99 Mon Sep 17 00:00:00 2001 From: frstrtr Date: Tue, 16 Jun 2026 11:01:32 +0000 Subject: [PATCH 2/2] =?UTF-8?q?dgb:=20=C2=A74c=20aux=20seam=20header-only?= =?UTF-8?q?=20type=20alias=20(slice=20#3,=20option=20b)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a header-only AuxChainBackend type alias plus a forward declaration of doge::coin::AuxChainEmbedded under #ifdef AUX_DOGE, naming the shared src/impl/doge aux-module backend that bind_aux_doge_parsers() binds onto the M3 coin P2P layer. No new translation unit; the default Scrypt-only standalone build never defines AUX_DOGE and is unaffected. dgb consumes the doge aux module; it does not own or modify it. Parity: p2pool-merged-v36. --- src/impl/dgb/coin/node.hpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/impl/dgb/coin/node.hpp b/src/impl/dgb/coin/node.hpp index a85981ec4..18e58ad07 100644 --- a/src/impl/dgb/coin/node.hpp +++ b/src/impl/dgb/coin/node.hpp @@ -30,12 +30,33 @@ #include "node_interface.hpp" #include "rpc.hpp" +#ifdef AUX_DOGE +// DOGE merged-mining aux module (STRETCH; -DAUX_DOGE=ON only). dgb CONSUMES the +// shared aux types; ltc-doge owns and is the sole modifier of src/impl/doge/coin/aux_*. +// Forward declaration only at slice #3 -- the real +// include lands with the +// bind_aux_doge_parsers() body at M3. +namespace doge { namespace coin { class AuxChainEmbedded; } } +#endif + namespace dgb { namespace coin { +#ifdef AUX_DOGE +// --------------------------------------------------------------------------- +// DOGE merged-mining aux seam -- header-only type alias (slice #3, option b per +// integrator UID-904). Names the shared src/impl/doge aux-module backend that +// bind_aux_doge_parsers() wires onto the (M3) coin P2P layer. No new TU; no +// effect on the default Scrypt-only standalone build (which never defines +// AUX_DOGE). The structured parsers consumed at M3 bind time are the free +// functions doge::coin::parse_doge_header / parse_doge_headers_message / +// parse_doge_block (auxpow_header.hpp). Parity: p2pool-merged-v36. +using AuxChainBackend = ::doge::coin::AuxChainEmbedded; // IAuxChainBackend impl +#endif + template class Node : public dgb::interfaces::Node {