bch: correct 2 stale broadcaster comments -- reconstruction has landed (#744)#789
Merged
Merged
Conversation
#744) Both comments asserted reconstruct_won_block() still returns nullopt because gentx (coinbase) full-body reconstruction had not landed (citing a stale share_check.hpp:472 line). That is no longer true: reconstruct_won_block (node.hpp) calls generate_share_transaction -- the same coinbase builder the verify path uses -- then builds the 80-byte header and serializes the full wire block, returning a complete block on success. nullopt now means only incomplete parent txs (== as_block None) or a build failure, never a not-yet-implemented path. Correct both comments to describe reality: the dual-path broadcaster sink is live and emits a complete block on a won share; the residual gate to 'verified' is a run-path dual-path SOAK (leg C submitblock RPC against a live BCHN plus the P2P relay arm), not missing reconstruction code. Comment-only -- zero code/behavior change, zero p2pool-merged-v36 surface.
frstrtr
marked this pull request as ready for review
July 21, 2026 07:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #744 (fleet dual-path broadcaster gate audit) — the "2 stale misleading BCH comments" cleanup.
What
Both comments asserted
reconstruct_won_block()still returnsnulloptbecause gentx (coinbase) full-body reconstruction had not landed (citing a staleshare_check.hpp:472line). That is no longer true:reconstruct_won_block(src/impl/bch/node.hpp) callsgenerate_share_transaction— the same coinbase builder the verify path uses — then builds the 80-byte header and serializes the full wire block, returning a complete block on success.nulloptnow means only incomplete parent txs (== as_block None) or a build failure.Corrected:
src/impl/bch/node.hpp— thereconstruct_won_blockdoc note.src/impl/bch/pool_standup.hpp— the sink-liveness note; the residual gate to "verified" is a run-path dual-path soak (leg C submitblock RPC against a live BCHN + the P2P relay arm), not missing reconstruction code.Safety
Comment-only — zero code/behavior change, zero p2pool-merged-v36 surface.
Context
Re-audit finding: contrary to the 2026-07-19 note, both BCH arms ARE wired into the
--poolrun path (standup_pool_run→broadcast_won_block, P2P leg + submitblock leg, with a sink-liveness assert). The only real remaining gap is a run-path dual-path soak (shared with LTC/DOGE).Draft — for review, not merge.