-
Notifications
You must be signed in to change notification settings - Fork 0
Pallas curve signing for ZCash #7
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
base: master
Are you sure you want to change the base?
Conversation
|
PASS [ 43.142s] (3/3) lit_node::test toxiproxy::perf_tests::load_with_no_latency |
|
@mike your PR lives here now 🙂 |
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 adds support for the Pallas curve with Schnorr/RedDSA signing compatible with ZCash Orchard, consolidates all cryptographic curve dependencies into the lit-rust-crypto crate for centralized version management, and upgrades Rust from version 1.86 to 1.91 with corresponding clippy fixes.
Key Changes:
- Adds Pallas curve support (
SchnorrRedPallasBlake2b512) across DKG, signing, backup/recovery, and testing infrastructure - Centralizes curve dependencies (blsful, k256, p256, p384, jubjub, pallas, decaf377, ed448, vsss_rs) into
lit-rust-cryptocrate - Updates dependencies: frost (2.1.0 → 2.2.0), frost-dkg (0.3.3 → 0.5.1), lit-frost (0.3.0 → 0.4.0), and related libraries
- Fixes ~150 clippy violations triggered by Rust 1.91 upgrade
Reviewed Changes
Copilot reviewed 202 out of 206 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| rust-toolchain.toml | Rust version upgrade from 1.86 to 1.91 |
| Cargo.lock | Dependency updates including frost 2.2.0, new pallas support, lit-rust-crypto 0.6.0 |
| lit-node-core/src/traits/encoding/redpallas.rs | New encoding traits for Pallas curve Point and Scalar types |
| lit-node/src/tss/dkg/engine.rs | Added Pallas variant to DKG enums and processing logic |
| lit-node/src/tss/frost/mod.rs | Added Pallas curve case for FROST signing |
| lit-node/src/endpoints/recovery/*.rs | Added Pallas share handling in backup/recovery |
| lit-sdk/src/signature.rs | Added SchnorrRedPallasBlake2b512 scheme support |
| lit-node/tests/integration/signing.rs | Added Pallas to ALL_SIGNING_SCHEMES test constant |
| Various clippy fixes | Removed unnecessary borrows, simplified conditionals, used Error::other() |
| Import reorganization | Moved curve imports to lit_rust_crypto throughout codebase |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

This PR adds the Pallas curve and Schnorr signing compatible with RedDSA/Pallas for ZCash orchard.
It also uses the lit-rust-crypto common crate for centralizing all versions of the curves into one place. This allows removal of all the curves directly all over the place and eliminates the headache of including the correct features for each one.
This also required upgrading to rust version 1.91 which then triggers numerous clippy violations so those are also fixed here. Unfortunately, that makes the changes look like a lot. The Pallas curve additions was about 150 line changes.
This should be merged when deemed appropriate for naga which may or may not be after the release.