feat(zk-host): enable all configured proving backends#3920
Open
mw2000 wants to merge 13 commits into
Open
Conversation
Discover backend availability from its existing settings so one host can serve mock, dry-run, cluster, and network requests without a selector environment variable. Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve mock-only compatibility for stale partial RPC settings, reuse parsed RPC configuration, and clarify presence-based backend enablement. Co-authored-by: Cursor <cursoragent@cursor.com>
Exercise mock, dry-run, cluster, and network enablement together while making optional string parsing accept borrowed string options directly. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep binary wiring minimal by moving backend validation and shared prover setup into the backend crate, while removing stale selector configuration. Co-authored-by: Cursor <cursoragent@cursor.com>
Treat either S3 setting as cluster intent while keeping the default dry-run deployment free of implicit cluster configuration. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep backend-specific invariants in focused resolvers and derive shared witness RPC settings from the resolved backend configs to prevent drift. Co-authored-by: Cursor <cursoragent@cursor.com>
Removed outdated information about RPC configuration and backend settings.
Report backend-specific validation failures before tolerated mock-only RPC errors, and warn when incomplete RPC settings are intentionally ignored. Co-authored-by: Cursor <cursoragent@cursor.com>
Build independent configured backends in parallel so expensive key setup does not serialize multi-backend startup. Co-authored-by: Cursor <cursoragent@cursor.com>
Drain parallel initialization tasks on failure or cancellation and reject mismatched RPC settings before sharing a witness provider. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep canonical RPC resolution alongside backend configs and consolidate parallel task error handling without changing startup behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
✅ base-std fork tests: all 616 passedbase/base is fully in sync with the base-std spec.
|
Contributor
Review SummaryThe PR cleanly replaces the single-backend Key findings (from inline comments)Correctness / Operator UX (most impactful):
Design / Maintainability:
Testing:
No new issues found beyond existing inline commentsThe existing inline review comments comprehensively cover the significant findings. The overall architecture is sound and the change meaningfully simplifies the operator deployment model. |
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.
Summary
Enables one ZK host to initialize every configured proving backend and route each request to its selected backend. Backend availability is inferred from configuration presence, with shared witness-provider setup centralized in
base-proof-zk-backendand the legacyZK_BACKENDselector removed.