@@ -1185,11 +1185,15 @@ int run_node(bool testnet, const std::string& rpc_endpoint,
11851185 << (run_arm.discover_implied ? " discovery=implied-by-opt-in" : " " )
11861186 << " )\n " ;
11871187
1188- // ── E1: OPT-IN embedded coin-network P2P dial (--coin-p2p-connect) ────
1189- // GUARANTEE: with no --coin-p2p-connect on argv, coin_p2p stays null and
1190- // this block is a no-op — the run path is unchanged and the mining-hotel
1191- // prod posture (NodeCoinState unpopulated -> dashd-RPC fallback) is
1192- // untouched. The coin-network wire MAGIC (dashd pchMessageStart: mainnet
1188+ // ── E1: OPT-IN embedded coin-network P2P dial ─────────────────────────
1189+ // GUARANTEE: this block is a no-op unless the invocation asked for a
1190+ // coin-state feed — an explicit --coin-p2p-connect / --coin-p2p-discover,
1191+ // or the --embedded-mainnet opt-in that implies one (#738). With NONE of
1192+ // those on argv, coin_p2p stays null, the run path is unchanged and the
1193+ // mining-hotel prod posture (NodeCoinState unpopulated -> dashd-RPC
1194+ // fallback) is untouched. Arming the feed alone still does NOT move the
1195+ // arm: without --embedded-mainnet, work_source keeps serving the dashd
1196+ // fallback no matter what this block populates. The coin-network wire MAGIC (dashd pchMessageStart: mainnet
11931197 // bf0c6bbd / testnet cee2caff, same constants as the slice-1 launcher
11941198 // dispatch) is DISTINCT from the sharechain PREFIX set above — different
11951199 // layers, never conflated. The client rides the SAME ioc as the
@@ -1345,8 +1349,10 @@ int run_node(bool testnet, const std::string& rpc_endpoint,
13451349 // holds a non-owning const ref to it). It is declared here, in run_node's
13461350 // scope, BEFORE work_source; the explicit stratum_server.reset() after
13471351 // ioc.run() tears the acceptor down while node_coin_state is still alive.
1348- // Default (unpopulated) bundle: populated()==false, so get_work() takes the
1349- // retained dashd-fallback arm -- correct + documented for the 4a standup.
1352+ // Constructed UNPOPULATED: populated()==false, so get_work() takes the
1353+ // retained dashd-fallback arm until a coin-state feed publishes a tip. With
1354+ // no feed armed (run_arm.coin_feed_armed == false) nothing ever publishes
1355+ // one, and the fallback arm is the whole run.
13501356 //
13511357 // E2b (#738) UTXO/fee lane: utxo_lane is declared BEFORE node_coin_state
13521358 // deliberately -- attach() hands the lane's UTXOViewCache pointer to the
0 commit comments