-
Notifications
You must be signed in to change notification settings - Fork 11
chore: bump SP1 dependencies to v6.0.0-beta.1 #302
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: bump SP1 dependencies to v6.0.0-beta.1 #302
Conversation
- Update all SP1 crates from v5.2.1 to v6.0.0-beta.1 in workspace Cargo.toml - Add network feature to sp1-sdk and update sp1-contract-call branches - Migrate to SP1 v6 async API: ProverClient builder, setup/execute/prove methods - Update Receipt type to SP1RecursionProof with proper type parameters - Wrap ELF in Elf::Static() and Elf::from() for v6 compatibility - Rebuild ELF binary and update V_KEY constant in verifier - Update CI workflows and build scripts with v6.0.0-beta.1 tag - Update justfile recipes and example preloader for new ELF location
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR upgrades the SP1 ecosystem dependencies from v5.2.1 to v6.0.0-beta.1, migrating to the new async API patterns and type changes required by the SP1 v6 beta release.
Changes:
- Updated all SP1 dependencies to v6.0.0-beta.1 with corresponding branch updates for rsp-primitives and sp1-contract-call repositories
- Migrated ProverClient and related methods to async/await patterns including builder, setup, execute, and prove methods
- Updated Receipt types to use SP1RecursionProof with proper type parameters from sp1-hypercube and sp1-primitives
- Wrapped ELF references with Elf::Static() and Elf::from() constructors for v6 compatibility
- Regenerated V_KEY for verifier contracts and updated CI workflows to use v6.0.0-beta.1 toolchain
Reviewed changes
Copilot reviewed 10 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Cargo.toml | Updated workspace dependencies to SP1 v6.0.0-beta.1, added sp1-hypercube and sp1-primitives, switched to development branches for RSP and SP1-CC |
| Cargo.lock | Large-scale dependency updates reflecting the SP1 v6 beta migration with new packages like slop-* crates |
| canoe/sp1-cc/host/src/lib.rs | Migrated to async ProverClient API, updated Receipt type, wrapped ELF with Elf::Static(), changed prove/execute to await, updated API calls |
| canoe/sp1-cc/host/Cargo.toml | Added sp1-hypercube and sp1-primitives dependencies |
| canoe/sp1-cc/vkey-bin/src/main.rs | Added async main with tokio::main, migrated to async ProverClient, wrapped ELF with Elf::from() |
| canoe/sp1-cc/vkey-bin/Cargo.toml | Added tokio dependency with macros and rt-multi-thread features |
| canoe/sp1-cc/verifier/src/lib.rs | Updated V_KEY array with regenerated values for v6 and documentation comments |
| example/preloader/src/main.rs | Migrated to async ProverClient with await, updated to use proving key's verifying_key() method |
| justfile | Updated default sp1_tag parameter to v6.0.0-beta.1 |
| example/preloader/justfile | Updated docker tag to v6.0.0-beta.1 |
| .github/workflows/elf.yml | Updated sp1up version flag to v6.0.0-beta.1, added protobuf-compiler installation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add protobuf-compiler installation to all jobs in rust_ci.yaml - Add protobuf-compiler installation to kurtosis_devnet.yaml - Remove unused sp1-core-executor and sp1-prover from canoe-sp1-cc-host
|
@fakedev9999 Looks good to me, I will wait until everyone is good with merging it. Btw, EigenLabs has an annoying policy to sign all commits (not only the last one) in the PR. I think you can interactively rebase it. |
|
Superseded by #303 (rc.1 with crates.io version specs) |
Summary
Migrate SP1 ecosystem dependencies from v5.2.1 to v6.0.0-beta.1 with full API compatibility updates. Updates ProverClient async methods, Receipt types, ELF handling, and verification keys across the sp1-cc host implementation and tooling.
Changes
SP1RecursionProof<SP1GlobalContext, SP1PcsProofInner>with proper sp1-hypercube and sp1-primitives dependenciesElf::Static()andElf::from()for v6 compatibilityTesting