Skip to content

Commit 47c7a02

Browse files
authored
dgb: §4c AuxPoW comment tightening + aux seam signature
* dgb: tighten coin/node skeleton AuxPoW comment to V36 reality + aux seam signature §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. * dgb: §4c aux seam header-only type alias (slice #3, option b) 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. --------- Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
1 parent edf9cd2 commit 47c7a02

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

src/impl/dgb/coin/node.hpp

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,50 @@
1313
// The ctor keeps btc's (context, config) shape via auto params (no boost
1414
// include needed in the stub) so M3 restores the body without re-typing
1515
// construction sites.
16+
//
17+
// AuxPoW / merged-mining seam (V36 reality): DGB-Scrypt is a STANDALONE parent in
18+
// the default build and validates Scrypt blocks ONLY -- there is no AuxPoW path in
19+
// the default c2pool-dgb. Merged-mining is the DOGE-only stretch, compiled solely
20+
// under -DAUX_DOGE=ON, where the shared src/impl/doge/coin/aux_* module (owned by
21+
// ltc-doge; dgb CONSUMES, never modifies) supplies the AuxPoW header / raw-block
22+
// parsers that the M3 NodeP2P will bind. The other four DGB algos (SHA256d, Skein,
23+
// Qubit, Odocrypt) are accept-by-continuity / ignored in V36 -- never validated
24+
// here. p2pool-merged-v36 parity preserved. Signature only below; body lands with
25+
// NodeP2P at M3.
1626
// ---------------------------------------------------------------------------
1727

1828
#include <memory>
1929

2030
#include "node_interface.hpp"
2131
#include "rpc.hpp"
2232

33+
#ifdef AUX_DOGE
34+
// DOGE merged-mining aux module (STRETCH; -DAUX_DOGE=ON only). dgb CONSUMES the
35+
// shared aux types; ltc-doge owns and is the sole modifier of src/impl/doge/coin/aux_*.
36+
// Forward declaration only at slice #3 -- the real
37+
// <impl/doge/coin/aux_chain_embedded.hpp> include lands with the
38+
// bind_aux_doge_parsers() body at M3.
39+
namespace doge { namespace coin { class AuxChainEmbedded; } }
40+
#endif
41+
2342
namespace dgb
2443
{
2544

2645
namespace coin
2746
{
2847

48+
#ifdef AUX_DOGE
49+
// ---------------------------------------------------------------------------
50+
// DOGE merged-mining aux seam -- header-only type alias (slice #3, option b per
51+
// integrator UID-904). Names the shared src/impl/doge aux-module backend that
52+
// bind_aux_doge_parsers() wires onto the (M3) coin P2P layer. No new TU; no
53+
// effect on the default Scrypt-only standalone build (which never defines
54+
// AUX_DOGE). The structured parsers consumed at M3 bind time are the free
55+
// functions doge::coin::parse_doge_header / parse_doge_headers_message /
56+
// parse_doge_block (auxpow_header.hpp). Parity: p2pool-merged-v36.
57+
using AuxChainBackend = ::doge::coin::AuxChainEmbedded; // IAuxChainBackend impl
58+
#endif
59+
2960
template <typename ConfigType>
3061
class Node : public dgb::interfaces::Node
3162
{
@@ -48,6 +79,13 @@ class Node : public dgb::interfaces::Node
4879
}
4980

5081
NodeRPC* rpc() { return m_rpc.get(); }
82+
83+
#ifdef AUX_DOGE
84+
// DOGE merged-mining aux seam (STRETCH; -DAUX_DOGE=ON only). Binds the shared
85+
// src/impl/doge aux module's parsers onto the (M3) coin P2P layer. Declaration
86+
// only -- no body until NodeP2P is ported. Parity: p2pool-merged-v36.
87+
void bind_aux_doge_parsers();
88+
#endif
5189
};
5290

5391
} // namespace coin

0 commit comments

Comments
 (0)