BM-3066: Feature gate any risc0 specific stuff in boundless-market#2050
Open
bobbobbio wants to merge 14 commits into
Open
BM-3066: Feature gate any risc0 specific stuff in boundless-market#2050bobbobbio wants to merge 14 commits into
bobbobbio wants to merge 14 commits into
Conversation
Adds `SetInclusionReceipt` as an associated type and `fetch_set_inclusion_receipt` as an async method on `ZkvmOps`, keeping risc0 imports confined to the risc0 module. `Risc0ZkvmOps` now owns an `Option<SetVerifierService>` (wired in via `with_set_verifier`) and implements the method. `Client::fetch_set_inclusion_receipt` delegates to `zkvm_ops` and returns `Z::SetInclusionReceipt` instead of the concrete risc0 type. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The field was only used by fetch_set_inclusion_receipt, which now delegates to ZkvmOps. Client::new() now takes an Address directly instead of a full SetVerifierService. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace Risc0Digest::from_hex with crate::Digest::from_hex, which already exists and has a From impl for the risc0 type. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Production code only calls LocalExecutor methods (execute_program, insert_execution_data). The Prover methods were only needed in one test, which now accesses the concrete Risc0LocalExecutor directly via a new Risc0ZkvmOps::local_executor() accessor. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All risc0_* crates are now optional and activated by the new `risc0` feature. The feature is included in `default` so nothing changes for existing dependents. blake3-groth16 now implies risc0. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ExecutorResp, ProverError, and ProofResult remain ungated as they are generic types not coupled to any specific zkvm. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace Selector::* enum discriminants with their literal u32 values so SelectorExt needs no risc0 deps. Gate TryFrom<Selector> impl and the internals of with_set_builder_image_id; without risc0 the method is a no-op returning self unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
e2b9c6f to
49eb2b2
Compare
Gate risc0_zkvm imports and the risc0_ethereum_contracts re-exports. ReceiptClaim::ok() predicate eval falls back to None without risc0. Makes `TxnErr::SetVerifierErr` variant and `IRiscZeroSetVerifierErrors::abi_decode` call conditional on `all(feature = "risc0", not(target_os = "zkvm"))`, so `cargo check -p boundless-market --no-default-features` now compiles cleanly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
try_extract_cycle_count falls back to None without risc0, with a debug log message consistent with the other early-return paths. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a regression guard that ensures boundless-market compiles without the risc0 feature enabled, preventing accidental re-introduction of ungated risc0 imports. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ProofResult, PreflightErrorKind, PreflightCache, ImageUploadCacheKey, ImageUploadCache, and PriorityRequestorCheck are only consumed by risc0/ code, so gate their definitions (and the moka Cache import) behind accordingly. Eliminates all dead_code warnings from `cargo check -p boundless-market --no-default-features`. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
49eb2b2 to
62b7a38
Compare
capossele
approved these changes
Jul 2, 2026
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.
This moves some remaining things to be behind the ZkvmOps and features gates the rest.
It adds a new risc0 feature to
boundless-marketand makes the risc0 crates optional based on that feature.