Skip to content
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

refactor: sp1-lib, syscall docs #1189

Merged
merged 33 commits into from
Aug 2, 2024
Merged

refactor: sp1-lib, syscall docs #1189

merged 33 commits into from
Aug 2, 2024

Conversation

jtguibas
Copy link
Contributor

@jtguibas jtguibas commented Jul 26, 2024

Overview

Refactor the sp1-lib crate in zkvm, and add testing for the ecdsa-core patch for k256 to the patch-testing program.

Details

  • Simplify curve modules in sp1-lib. Create an AffinePoint trait which is re-used across curves.
    • Move ecrecover logic to ecdsa-core patch for maintainability ecdsa v0.16.9 sp1-patches/signatures#2. Note: Decision to refactor these crates was driven by the circular dependency caused when trying to patch k256.
    • Remove decompress_pubkey logic from BLS in sp1-lib.
  • Add better documentation and use safer types for syscalls.

Note on SemVer

Includes backwards-incompatible changes in sp1-lib, but because it only causes issues for developers who are creating patches for crates themselves with sp1-lib (which is highly uncommon), we've decided to not update the major version of sp1-lib in this release, although that would follow convention.

@jtguibas jtguibas changed the base branch from main to dev July 26, 2024 17:59
@ratankaliani ratankaliani self-assigned this Jul 29, 2024
@ratankaliani ratankaliani changed the title chore: lib refactor refactor: sp1-zkvm lib Jul 30, 2024
@ratankaliani ratankaliani changed the title refactor: sp1-zkvm lib refactor: sp1-lib, syscall docs Jul 31, 2024
@ratankaliani ratankaliani merged commit f0e6311 into dev Aug 2, 2024
7 checks passed
@ratankaliani ratankaliani deleted the john/lib-refactor branch August 2, 2024 22:08
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.

3 participants