-
Notifications
You must be signed in to change notification settings - Fork 442
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
feat: elliptic-curves
p256/k256 integration, universal Fp
ops hooks
#2027
Conversation
Can you update the documentation with the new patches as well? Or create another PR which shows the updated patch tags? |
|
//! Weierstrass precompiles. | ||
//! | ||
//! In summary, SP1 overrides curve arithmetic entirely, and patches upstream field operations | ||
//! to be more effcient in the VM, such as `sqrt` or `inverse`. |
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.
typos:
//! to be more effcient in the VM, such as `sqrt` or `inverse`. | |
//! to be more efficient in the VM, such as `sqrt` or `inverse`. |
type FIELD_BYTES_SIZE = U32; | ||
|
||
/// A [`CurveArithmetic`] implementation for SP1 acceleration. | ||
/// Patched crates will implement this trait to expose thier field element type to us. |
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.
typos:
/// Patched crates will implement this trait to expose thier field element type to us. | |
/// Patched crates will implement this trait to expose their field element type to us. |
/// | ||
/// This "newtype" is needed due to some limitations of GATs. | ||
/// | ||
/// Specfically, its impossible to generically implement |
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.
typos:
/// Specfically, its impossible to generically implement | |
/// Specifically, its impossible to generically implement | |
++ b/crates/zkvm/lib/src/ecdsa/projective.rs |
// type `Scalar = <C as CurveArithmetic>::Scalar`, | ||
// | ||
// For more information: | ||
// see the rationale in the documention of `<C as ECDSACruve>::ScalarImpl`. |
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.
typos:
// see the rationale in the documention of `<C as ECDSACruve>::ScalarImpl`. | |
// see the rationale in the documentation of `<C as ECDSACruve>::ScalarImpl`. |
No description provided.