Skip to content

fuzz: move Core-oracle harness out of rbitcoin-net (X-07) - #416

Merged
reardencode merged 2 commits into
masterfrom
fuzz/x07-out-of-net
Sep 11, 2026
Merged

fuzz: move Core-oracle harness out of rbitcoin-net (X-07)#416
reardencode merged 2 commits into
masterfrom
fuzz/x07-out-of-net

Conversation

@rearden-grok

@rearden-grok rearden-grok Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Suggested-order step 6 / inventory X-07 (also N-07 / N-13): the Core-oracle differential harness and fuzz-only compact/v2 recipe helpers no longer compile into rbitcoin-net / the node.

  • block_diff (verdict-only submitblock / mempool / reorg compare) lives in fuzz/src/block_diff.rs.
  • Compact recipe + v2 encode wrappers (prepare_cmpct_fuzz_*, CmpctFuzzCase, encode_ping_v2 / cmpctblock / …) live in fuzz/src/cmpct_fuzz.rs.
  • Recipe fixtures moved to fuzz/fixtures/. scripts/fuzz-run.sh still seeds from there. fuzz.yml is unchanged (still cargo fuzz against the fuzz package).
  • Net still exposes shipped surfaces the targets need: ChainHub::accept_*, try_reconstruct, shortid_map_from_txs, prefilled_indexes_ok, classify_v2_cmpct_peer, encode_v2_contents, drain_pending_now, PendingBlocks.
  • Coverage is workspace rbitcoin-net production, not the fuzz crate (TESTING.md). Remaining net pins: reconstruct / classify / v2 sendcmpct fixture / cmpct_h1_two_tx.

Production default stays Mainnet. Fixtures stay Tiny. Do not merge unless asked.

Test plan

  • cargo check --manifest-path fuzz/Cargo.toml --bin block_differential
  • cargo check --manifest-path fuzz/Cargo.toml --bin cmpct_differential
  • cargo test --manifest-path fuzz/Cargo.toml --lib (moved harness + recipe fixtures)
  • cargo test -p rbitcoin-net --lib try_reconstruct_empty_mempool_two_tx_is_index_1 / classify_v2_ping_and_empty_other / v2_sendcmpct_fixture_matches_encode / cmpct_h1_two_tx_fixture_matches_mined
  • scripts/fuzz-run.test.sh

Do not merge unless asked.

rbitcoin-grok[bot] added 2 commits September 10, 2026 16:59
block_diff and the BIP152/v2 encode wrappers compiled into rbitcoin-net
though only fuzz targets used them. They now live in the fuzz crate.
Net keeps shipped surfaces (ChainHub accept, try_reconstruct,
encode_v2_contents, drain_pending_now, PendingBlocks). Recipe fixtures
moved to fuzz/fixtures/; fuzz-run.sh still seeds from there.
fuzz/ stays a cargo-fuzz workspace so bitcoinconsensus is not in the
product graph. Never-compiled rbitcoin-log test targets path to
fuzz/src and fuzz/fuzz_targets so workspace fmt still visits them.
@reardencode
reardencode merged commit 90f5723 into master Sep 11, 2026
16 checks passed
@rearden-grok
rearden-grok Bot deleted the fuzz/x07-out-of-net branch September 11, 2026 10:57
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