Skip to content

nmc(pe): dual-path won-aux-block broadcaster + contract KAT (item 3, dispatcher leg) - #426

Merged
frstrtr merged 1 commit into
masterfrom
nmc/pe-item3-aux-broadcaster
Jun 24, 2026
Merged

nmc(pe): dual-path won-aux-block broadcaster + contract KAT (item 3, dispatcher leg)#426
frstrtr merged 1 commit into
masterfrom
nmc/pe-item3-aux-broadcaster

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 24, 2026

Copy link
Copy Markdown
Owner

PE item 3, dispatcher leg. nmc::coin::broadcast_won_aux_block — NMC dual-path won-block dispatcher mirroring dgb/bch: embedded P2P relay PRIMARY + external namecoind submitauxblock RPC FALLBACK (fired ALWAYS, never silent-drop). Both legs are std::function sinks; the run-loop binds the live .140 testnet namecoind submitauxblock client in the follow-up slice (item 4 soak gated on it).

5 contract KATs, registered in test/CMakeLists.txt + both build.yml allowlist lines (no #137 NOT_BUILT). Header-only, fenced src/impl/nmc/, no consensus-value change. Local 5/5 green.

Auto-merge OFF — integrator tap.

PE item 3, dispatcher leg. Adds nmc::coin::broadcast_won_aux_block -- the
NMC dual-path won-block dispatcher mirroring dgb::coin::broadcast_won_block:
embedded P2P relay PRIMARY + external namecoind submitauxblock RPC FALLBACK
(fired ALWAYS per the broadcaster-gate dual-path rule), each leg guarded,
landed_first records the race, NEITHER sink => ERROR scream, never
silent-drops a won block. Both legs are std::function sinks so the contract
is build-verifiable now; the run-loop binds the live .140 testnet namecoind
submitauxblock client in the follow-up slice (item 4 soak gated on it).

5 contract KATs (no-sink no-op / p2p-only / rpc-only / dual-path
always-fires-fallback / fallback-no-ack-does-not-mask-p2p). Registered in
test/CMakeLists.txt AND both build.yml --target allowlist lines (no #137
NOT_BUILT sentinel). Header-only, fenced src/impl/nmc/, consumes core/* only;
no consensus-value change, no p2pool-merged-v36 surface touched.
@frstrtr
frstrtr merged commit b0c4ce6 into master Jun 24, 2026
20 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