Skip to content

Conversation

@fakedev9999
Copy link
Contributor

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

  • Update workspace Cargo.toml with SP1 v6.0.0-beta.1 and corresponding branches for rsp-primitives and sp1-contract-call
  • Migrate to SP1 v6 async API: builder pattern, setup/execute/prove methods now async
  • Update Receipt type to SP1RecursionProof<SP1GlobalContext, SP1PcsProofInner> with proper sp1-hypercube and sp1-primitives dependencies
  • Wrap ELF references with Elf::Static() and Elf::from() for v6 compatibility
  • Rebuild ELF binary and generate new V_KEY for verifier contracts
  • Update CI workflows, justfile recipes, and example preloader for v6.0.0-beta.1 toolchain tag

Testing

  • Workspace builds and passes clippy with no errors
  • All async migrations follow v6 API patterns from sp1-sdk
  • ELF binary successfully built and V_KEY updated in verifier

- 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
Copilot AI review requested due to automatic review settings February 5, 2026 03:05
Copy link

Copilot AI left a 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
@bxue-l2
Copy link
Collaborator

bxue-l2 commented Feb 5, 2026

@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.

@fakedev9999
Copy link
Contributor Author

Superseded by #303 (rc.1 with crates.io version specs)

@fakedev9999 fakedev9999 closed this Feb 6, 2026
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.

2 participants