-
Notifications
You must be signed in to change notification settings - Fork 410
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
v0.8.0 placeholder #455
Merged
v0.8.0 placeholder #455
Conversation
This file contains 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
…form and big.Ints are always non-Mont (#422) * refactor: no non-mont on bls12-377 * refactor: groth16 backend tests pass * refactor: MSM takes Montgomery only - Plonk * fix:`ToBigIntRegular` => `BigInt` * fix: more `ToBigIntRegular` => `BigInt`
* feat: auto generate tiny field * fix: update toBigInt interface for conversion element - big int * fix: revert previous commit
…ency of debug info (#421) * feat: add debug.SymbolTable into constraint system for storage efficiency of debug info * feat: solution takes symbol table only, limit stack size to 2 without debug * perf: don't store stack for assert boolean if no debug flag * fix: fix line number in Example output * fix: remove boolean trace test
* feat: add debug.SymbolTable into constraint system for storage efficiency of debug info * feat: solution takes symbol table only, limit stack size to 2 without debug * perf: don't store stack for assert boolean if no debug flag * perf: restore frontend.WithCapacity usage * fix: fix line number in Example output * fix: remove boolean trace test
* feat: add keccak-f permutation function * docs: add package documentation * test: remove Plonk+FRI test
* feat: add debug.SymbolTable into constraint system for storage efficiency of debug info * feat: solution takes symbol table only, limit stack size to 2 without debug * perf: don't store stack for assert boolean if no debug flag * perf: restore frontend.WithCapacity usage * fix: fix line number in Example output * fix: remove boolean trace test * experiment checkpoint * feat: add api.MAC and api.Compiler().NewBuffer(capacity) * style: clean PR from NewBuffer * revert: revert builder.linearExpression method * fix: don't overwrite buffer when compressing le * style: address some PR comments * perf: engine.Test MulAcc improvment
Previously the result of MulConst had non-zero overflow when multipling a constant by a small constant. This panics Reduce method which assumes that constants have zero overflow. Fixes #431
* feat: add go-ethereum dep for ecdsa compatibility * feat: add emulated SW EC * feat: add ECDSA using emulated SW
* refactor: allow enforcing full-width element * feat: ensure nb of limbs when enforcing modulus-width element * feat: add full limb packing * fix: use full limb packing for quotient computation The method is only used for element equality assertion. But as we allow non-reduced values and add subtraction padding, the quotient k = diff/p may be larger than the modulus. * test: increase expected constraint count
…t building a `Schema` (#444) * feat: added reflectwalk-light package * feat: introduce schema.Walk * refactor: target make everything work but std/math/emulated * refactor: further into the rabbit hole, disabling json tests * checkpoint * refactor: one step further * refactor: all tests OK, walk doesn't like pointer leaves * refactor: code cleaning * perf: replaced list by a simple stack * style: remove todo * style: cosmetic * docs: remove deadcode * build: make staticcheck happier * build: update witness.go.tmpl to match refactoring * fix: re-introduce pointer type handling in schema parse * fix: uncomment tests * refactor: renamed schema.ParseDeprecated to schema.New
* feat: add HashCode to Term * refactor: element constructors * feat: automatic witness element constraining * docs: document Element limbs * fix: different var->element cases in fake-api * test: fromBinary takes varargs not slice * test: count witness constraining * test: update stats
* refactor: step 1 clean up api and builder wrapper * refactor: PackElementLimbs PackFull -> packLimbs * refactor: added field.NewElement * refactor: remove deadcode from builder stuff, update stats with constraining inputs * build: restore golangci-lint conf * refactor: emulated.NewConstant -> emulated.FromConstant * refactor: emulated.FromConstant -> emulated.ValueOf * fix: ensure we alwways constrain witness limbs * fix: fix optimisation test bound with constrained limbs * perf: constraint to modulus width the witness limbs
…` interface (#450) * refactor: replace internal/witness by gnark crypto fr.Vector and decouple schema.Schema * refactor: move benchmarks in groth16 * fix: fix previous commit * style: correct couple of typos * docs: add ExampleWitness and update package doc * docs: update doc * style: fix typo * style: store fr.Vector instead of *fr.Vector in witness * perf: do less work in witness.FromJSON * test: added roundTripJSON witness test * style: use fr.Vector instead of []fr.Element in backend prove / verify apis
…452) * refactor: replace internal/witness by gnark crypto fr.Vector and decouple schema.Schema * refactor: move benchmarks in groth16 * fix: fix previous commit * style: correct couple of typos * docs: add ExampleWitness and update package doc * docs: update doc * style: fix typo * feat: add cs.GetConstraint and pretty printer helpers * style: remove dead commented code * style: store fr.Vector instead of *fr.Vector in witness * perf: do less work in witness.FromJSON * test: added roundTripJSON witness test * style: use fr.Vector instead of []fr.Element in backend prove / verify apis
MiMC on BLS12-377 / number of rounds
* feat: add go-ethereum dep for ecdsa compatibility * feat: add emulated SW EC * feat: add ECDSA using emulated SW * refactor: use gnark-crypto instead of geth (secp256k1, ecdsa) * fix(ecdsa): rebase on gnark-crypto * refactor(test/ecdsa): update following gnark-crypto * test: ecdsa with pre-hashed message * feat: gnark-crypto dependency update * refactor: ValueOf takes any integer-like * chore: remove unused dependencies * refactor: ecdsa package import --------- Co-authored-by: Ivo Kubjas <ivo.kubjas@consensys.net>
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.
need #458