-
Notifications
You must be signed in to change notification settings - Fork 91
Prover/limitless standardization #857
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
Prover/limitless standardization #857
Conversation
…umns that caches itself
…imitless-standardization
implements the predivision optimize the logderivative implementation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## prover/limitless-top-level-rebased #857 +/- ##
=========================================================================
+ Coverage 67.82% 98.53% +30.70%
=========================================================================
Files 326 32 -294
Lines 13412 953 -12459
Branches 1355 230 -1125
=========================================================================
- Hits 9097 939 -8158
+ Misses 3753 14 -3739
+ Partials 562 0 -562
🚀 New features to boost your workflow:
|
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.
Copilot reviewed 118 out of 119 changed files in this pull request and generated no comments.
Files not reviewed (1)
- prover/go.mod: Language not supported
Comments suppressed due to low confidence (3)
prover/maths/common/smartvectors/smartvectors.go:335
- Changing the behavior to return (nil, false) for vectors of length <= 1 may break downstream logic if callers expected a constant vector. Consider adding a comment or review caller assumptions to ensure this change is intended.
if len(w) <= 1 {
prover/crypto/mimc/gkrmimc/factory.go:242
- Using %d to format big.Int values may cause formatting issues; consider using %s or %v to safely print big integers.
utils.Panic("Not the BLS field %d != %d", f, field.Modulus())
prover/.golangci.yml:7
- [nitpick] Disabling gofmt in the linter configuration may lead to inconsistent formatting; verify that formatting is being enforced through other means to avoid style issues.
# - gofmt
1a3db29
into
prover/limitless-top-level-rebased
* feat(precompiles): parametrize better the nb of input per instance * test(affinity): adds a test with the affinity * fix(limitless): debug the affinity system * feat(recursion): uses the fixed number of row parameter * fix(gnark-verifier): fix the gnark verifier * fix(lane): change a constraint in the lane package to make it work * chores(zkevm.bin): updates the zkevm.bin to work with d855c03 * fix(permutation); fix compilation error coming from conflict and clean the folder * feat(mimc): implements an external hasher builder * clean(plonk-in-wizard): reorganize the package handling plonk in wizard * reorg(counterPrecomputed): creates a specific type of precomputed columns that caches itself * feat(plonk): implements the external-checker feature * feat(mimc): adds a selector feature for the MiMC query * feat(distribution): uses the external hasher to build the recursion circuit. * feat(distribution): grouping the LPP modules * feat(test): adds back the LPP part of the tests * feat(wizard): adds verify until round * fix(arcane): remove the NormalizeOffset * clean(dist): sanity check the intermediate proof * chores(gnark): updates gnark version to latest main and port the values * feat(stackframe): implements a helper to return callframes of the calling context * perf(smartvectors): adds a routine to optimize the right padded vectors * org(factory): hasher factory does not require an API to return a hasher * feat(modexp): adds a limit for the modexp 4096 * fix the hash-checker implements the predivision optimize the logderivative implementation * feat(smart-vectors): implements iterators for smart-vectors * feat(field): adds a FromBool method * perf(polyeval): adds a fast-path to PolyEval when all inputs are constants where we don't need to allocate * feat(smartvectors): adds iterators and GetPtr functionalities to the interface * perf(mimc): revamp the mimc compiler to be more space-efficient * feat(dedicated): adds a bit decomposition wizard * feat(ternary): adds a ternary wizard * feat(hashing): adds an horizontal hash dedicated wizard * feat(merkle): adds a flat-merkle proof dedicated wizard * feat(utils): adds SpliceExact Bytes32.SetField and a few iterators functions * feat(dedicated): adds a [Last] method * perf(zkevm): makes the vector allocation faster * perf(symbolic): skips the copy-slice when the result of a chunk is full-zero * perf(logerivsum): makes the log derivative sum assignment more efficient * feat(dist): improves the distributed wizard * feat: review the public input fetching * feat(ts-fetcher): duplicate columns to have clean module separation * fix(maintest): runs the normal proof more efficiently * chores(gkr): reflect the API changes in the gkr frontend to gkrmimc * chores(go.mod): update gnark version to v0.12.1-0.20250409125015-1e252ace2ab9 * chores(tests): skip the big tests of the distributed prover so that they are not run by the CI * fix(lint): fix ineffectual assignment * back with the old linter * fix(tests): fix the padding sanity-checks in the limb decomposition
This PR does a large number of changes focusing on:
Checklist