Skip to content

dgb: M3 wire external-daemon RPC transport into build + real ctor - #151

Merged
frstrtr merged 1 commit into
masterfrom
dgb/m3-rpc-transport-wire
Jun 18, 2026
Merged

dgb: M3 wire external-daemon RPC transport into build + real ctor#151
frstrtr merged 1 commit into
masterfrom
dgb/m3-rpc-transport-wire

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 18, 2026

Copy link
Copy Markdown
Owner

M3 — wire external-daemon RPC transport into the build

Closes the deferred Option-B wiring from #149. The M3 RPC transport (rpc.cpp + the rpc_request.hpp/softfork_check.hpp SSOTs) landed as additive coin-layer source in #149 but was never registered in CMake, so it never compiled into the build — and the node owner still constructed the 1-arg stub NodeRPC.

Changes (src/impl/dgb/ only)

  • coin/CMakeLists.txt: add rpc.cpp + rpc_request.hpp + softfork_check.hpp to dgb_coin_impl so the transport TU compiles and links.
  • coin/node.hpp: capture the io_context in the Node ctor and construct the real NodeRPC(m_context, this, m_config->m_testnet), replacing the stub. This is the external-daemon FALLBACK path V36 mandates persists alongside the embedded daemon; testnet drives NodeRPC::check() chain-identity genesis probe.

Verification (local)

  • dgb_coin + c2pool-dgb build EXIT=0 (rpc.cpp now compiles into libdgb_coin.a, exe links).
  • M3 guard tests 30/30: rpc_request 8, softfork 8, genesis 7, dgb_share 5, subsidy 2.

CI notes

  • No new test target → no build.yml allowlist change needed; rpc.cpp compiles via the existing dgb smoke (builds c2pool-dgb → links dgb_coin).
  • Touches the live transport TU → ASan+UBSan gate is the acceptance check (as integrator flagged for the transport path).

p2pool-dgb-scrypt parity preserved. HOLD merge for operator push-approval.

The M3 RPC transport (rpc.cpp + rpc_request/softfork SSOTs) landed as
additive coin-layer source in #149 but was never registered in CMake, so
it never compiled into the build, and the node owner still constructed the
1-arg stub ctor. This closes that deferred Option-B wiring.

- coin/CMakeLists.txt: add rpc.cpp + rpc_request.hpp + softfork_check.hpp
  to dgb_coin_impl so the transport TU is compiled and linked.
- coin/node.hpp: capture the io_context in the Node ctor and construct the
  real NodeRPC(m_context, this, m_config->m_testnet), replacing the stub.
  This is the external-daemon FALLBACK path V36 mandates persists alongside
  the embedded daemon; testnet drives NodeRPC::check()s chain-identity
@frstrtr
frstrtr merged commit 607ee17 into master Jun 18, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant