Bot releases are visible (Hide)
Full Changelog: https://github.com/Consensys/gnark/compare/v0.9.0...v0.9.1
Published by gbotrel about 1 year ago
assert.CheckCircuit(...)
by @gbotrel in https://github.com/Consensys/gnark/pull/825
api.Select
for 2 to 1 mux by @aybehrouz in https://github.com/Consensys/gnark/pull/625
Full Changelog: https://github.com/Consensys/gnark/compare/v0.8.1...v0.9.0
Published by gbotrel about 1 year ago
api.Select
for 2 to 1 mux by @aybehrouz in https://github.com/Consensys/gnark/pull/625
Full Changelog: https://github.com/Consensys/gnark/compare/v0.8.1...v0.9.0-alpha
Published by ivokub over 1 year ago
Update gnark-crypto dependency to include security fix.
README.md
by @aybehrouz in https://github.com/Consensys/gnark/pull/478
Full Changelog: https://github.com/Consensys/gnark/compare/v0.8.0...v0.8.1
Published by gbotrel over 1 year ago
api.Commit()
following BSB22 @Tabaie in https://github.com/ConsenSys/gnark/pull/405
api.MulAcc(..)
by @gbotrel in https://github.com/ConsenSys/gnark/pull/427
gnark
toolsgnark/profile
outputs pprof compatible circuit profiling data by @gbotrel in https://github.com/ConsenSys/gnark/pull/352
api.IsZero
generate less constraints by @gbotrel in https://github.com/ConsenSys/gnark/pull/356
witness.Witness
interface by @gbotrel in https://github.com/ConsenSys/gnark/pull/450
api.Tag
and api.Counter
by @gbotrel in https://github.com/ConsenSys/gnark/pull/353
gnark-crypto/iop
by @ThomasPiellard in https://github.com/ConsenSys/gnark/pull/451
reflectwalk
to walk through circuit structures without building a Schema
by @gbotrel in https://github.com/ConsenSys/gnark/pull/444
Full Changelog: https://github.com/ConsenSys/gnark/compare/v0.7.1...v0.8.0
Published by gbotrel over 2 years ago
frontend.Compile
now takes a builder instead of backendID as parameterstd/signature/eddsa
Verify
api now takes explicit hash and curve objectsPublished by gbotrel over 2 years ago
api.DivUnchecked
with PlonK between 2 constants was incorrectstd/algebra/twistededwards
takes ~2K less constraints (Groth16). Bandersnatch benefits from same improvments.Published by gbotrel over 2 years ago
Published by gbotrel over 2 years ago
ccs.GetSchema()
- the schema of a circuit is required for witness json (de)serializationccs.GetConstraints()
- returns a list of human-readable constraintsccs.IsSolved()
- moved from groth16 / plonk to the CompiledConstraintSystem interfacewitness.Public()
to return Public part of the witnessCmp
in the circuit APIReadAndProve
and ReadAndVerify
(plonk)ReadAndProve
and ReadAndVerify
(groth16)Published by gbotrel almost 3 years ago
Important: next release (v0.7.0) will be compatible with Go1.18+ only
circuit.Define(curveID, api)
-> circuit.Define(api)
; added api.Curve()
to retrieve curve infoapi.Constant(...)
was removed. Can now directy assign values with =
operator in the circuit definition and the witness assignment.frontend.Variable
is now an alias for interface{}
gnark/test
. Instead of taking a CompiledConstraintSystem
it takes a Circuit
as input, enabling easier tests accross curves and proving schemes through the use of test/TestingOption
(WithBackends(backend.GROTH16)
, WithCurves(ecc.BN254)
, ...)api.NewHint
handles multiple outputs and custom solver Hint
definition has changedFromInterface
supports uintXX and intXX types closes #197
-tags=debug
providedapi.Tag
and api.AddCounter
to measure number of constraints in portion of circuitapi.DivUnchecked
does not handle zero divisor. api.Div
does.frontend.IsConstant
and ConstantValue
apisapi.Lookup2
method (2-bit lookup)frontend.API
interface instead of building on top of the R1CS
builderRun
for running circuit test configurations as subtestsLog
method for logging in subtestsbig.Int
test execution engineAssertIsBoolean
in plonk (mul by constant failed)Published by gbotrel almost 3 years ago
Define(... cs *frontend.ConstraintSystem)
now takes an interface Define( ... api frontend.API)
backend/
(instead of backend/groth16
and backend/plonk
)api.DivUnchecked
and api.Div
. DivUnchecked
will accept 0 / 0 == 0 as valid.api.Sub
takes a variadic list of input (same as api.Add
)fr.Element
bit sizestd/
frontend.Compile
now check that all secret and public inputs are constrained. Check can be ignore through compile option (frontend.IgnoreUnconstrainedInputs
)test/
package with a test execution engine cross checking constraint system with big.Int
arithmeticFuzzing
witness and cross checking constraint system output with test execution engineapi.AssertIsLessOrEqual
: reduced redundant constraints in range checkPublished by gbotrel about 3 years ago
cs.NewHint
#139
cs.AssertIsDifferent
#131
cs.Println
and debugInfo
#142
frontend.Compile
to ensure constraint validitywitness.WriteSequence
to export expected witness sequencegroth16.Prove
and plonk.Prove
takes backend.ProverOption
as parametercompiled.SparseR1CS
and compiled.R1CS
R1CS
and SparseR1CS
r1c.SolvingMethod
in favor of cs.NewHint
cs.IsZero
doesn't need curveID anymorefrontend.Compile
is deterministiccs.Println
and debugInfo
tracesintegration_test.go