Repository navigation
Drop Dependabot and the MSRV promise; cite the published papers - #6
Merged
Merged
Conversation
rand must stay on 0.8 to match the Rng trait arkworks 0.6 re-exports, and dtolnay/rust-toolchain@1.86.0 pins the MSRV job rather than an action version, so Dependabot's bumps of either break CI.
CI now tests only the latest stable toolchain, so the rust-version field, the 1.86 job and the bit_width shim it needed are gone, and the lockfile is re-resolved to current releases. Dependabot is removed with its rand and toolchain ignores.
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
RangeProduct and SetProduct passed their u64 constants through F::from unchecked, so a custom circuit over a field under 64 bits silently accepted values congruent to an out-of-field constant. Gadget gains a check_params hook that Flp::new runs per gadget; the two product gadgets check their largest constant and ParallelSum delegates. Range and Membership no longer repeat that check.
…tests CLAUDE.md maps the crate for agents: commands, layout, the prove, query and decide flow, how to add a circuit, and the design facts with the tests that pin them. The README now quotes the query cost alongside proving and verifying, says to use a fresh query per proof, and notes MeanVariance's range check. CI runs on a weekly schedule and tests the parallel feature, and the published package leaves out CI and lint configuration.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-ups to #2, consolidated here (replaces #3, #4 and #5).
CI and dependencies
Rngtrait arkworks 0.6 uses.rust-version = "1.86", the MSRV CI job, and the README line. CI tests the latest stable Rust only.u64::bit_width/usize::bit_widthin place of the private helper that only existed for 1.86.Cargo.lockto current releases. cargo-deny now notes a duplicatesyn(2 and 3, build-time only); it is a warning, not a failure.README
cargo bench --bench flp: proving a 1,024-entry one-hot vector takes about 1.5 ms and verifying it about 0.12 ms on one core of an AMD Ryzen 7 9800X3D.Fix from a full review of the repo
RangeProductandSetProductpassed theiru64constants throughF::fromunchecked, so a custom circuit over a field under 64 bits accepted values congruent to an out-of-field constant (e.g.SetProduct { values: {p} }accepted 0 over Goldilocks).Gadgetnow has acheck_paramshook thatFlp::newruns for every gadget; the two product gadgets check their largest constant andParallelSumdelegates. Pinned bycustom_gadgets_reject_constants_beyond_the_field, which fails if the hook call is removed.Docs and CI
CLAUDE.md: commands, layout, the prove/query/decide flow, how to add a circuit, and design facts with the tests that pin them.--features parallel. The published package excludes CI and lint configuration.Local checks: fmt, clippy (with and without
parallel), 39 tests (with and withoutparallel), the coverage gate, cargo-deny, cargo-machete, docs, the benchmark smoke run, both examples, andcargo publish --dry-runall pass.🤖 Generated with Claude Code