From 19d99247c9bcce7aee23fc7b794ccf3c1ec658a9 Mon Sep 17 00:00:00 2001 From: Gautam Botrel Date: Tue, 21 Jan 2025 09:12:01 -0600 Subject: [PATCH 1/2] build: update to latest bavard, paralellize addchain read (#609) --- field/generator/asm/amd64/build.go | 2 +- field/generator/asm/arm64/build.go | 2 +- field/generator/internal/addchain/addchain.go | 41 +++++++++++-------- go.mod | 12 +++--- go.sum | 23 ++++++----- .../gkr/template/gkr.test.vectors.gen.go.tmpl | 7 +++- internal/generator/gkr/test_vectors/main.go | 7 +++- 7 files changed, 57 insertions(+), 37 deletions(-) diff --git a/field/generator/asm/amd64/build.go b/field/generator/asm/amd64/build.go index afc90223f5..3e383b2106 100644 --- a/field/generator/asm/amd64/build.go +++ b/field/generator/asm/amd64/build.go @@ -80,7 +80,7 @@ func (f *FFAmd64) Define(name string, nbInputs int, fn defineFn) defineFn { for _, ok := f.mDefines[name]; ok; { // name already exist, for code generation purpose we add a suffix // should happen only with e2 deprecated functions - fmt.Println("WARNING: function name already defined, adding suffix") + // fmt.Println("WARNING: function name already defined, adding suffix") i := 0 for { newName := fmt.Sprintf("%s_%d", name, i) diff --git a/field/generator/asm/arm64/build.go b/field/generator/asm/arm64/build.go index 5b8d1893a0..f4fa80e2fb 100644 --- a/field/generator/asm/arm64/build.go +++ b/field/generator/asm/arm64/build.go @@ -95,7 +95,7 @@ func (f *FFArm64) Define(name string, nbInputs int, fn defineFn) defineFn { for _, ok := f.mDefines[name]; ok; { // name already exist, for code generation purpose we add a suffix // should happen only with e2 deprecated functions - fmt.Println("WARNING: function name already defined, adding suffix") + // fmt.Println("WARNING: function name already defined, adding suffix") i := 0 for { newName := fmt.Sprintf("%s_%d", name, i) diff --git a/field/generator/internal/addchain/addchain.go b/field/generator/internal/addchain/addchain.go index 8667ba30ac..9c2f9c635e 100644 --- a/field/generator/internal/addchain/addchain.go +++ b/field/generator/internal/addchain/addchain.go @@ -299,29 +299,38 @@ func initCache() { } // preload pre-computed add chains + var wg sync.WaitGroup + var lock sync.Mutex for _, entry := range files { if entry.IsDir() { continue } - f, err := os.Open(filepath.Join(addChainDir, entry.Name())) - if err != nil { - log.Fatal(err) - } + wg.Add(1) + go func() { + defer wg.Done() + f, err := os.Open(filepath.Join(addChainDir, entry.Name())) + if err != nil { + log.Fatal(err) + } - // decode the addchain.Program - dec := gob.NewDecoder(f) - var p addchain.Program - err = dec.Decode(&p) - _ = f.Close() - if err != nil { - log.Fatal(err) - } - data := processSearchResult(p, filepath.Base(f.Name())) - log.Println("read", filepath.Base(f.Name())) + // decode the addchain.Program + dec := gob.NewDecoder(f) + var p addchain.Program + err = dec.Decode(&p) + _ = f.Close() + if err != nil { + log.Fatal(err) + } + data := processSearchResult(p, filepath.Base(f.Name())) - // save the data - mAddchains[filepath.Base(f.Name())] = data + // save the data + lock.Lock() + mAddchains[filepath.Base(f.Name())] = data + lock.Unlock() + }() } + wg.Wait() + } diff --git a/go.mod b/go.mod index 925b44c359..0732c837bf 100644 --- a/go.mod +++ b/go.mod @@ -3,15 +3,15 @@ module github.com/consensys/gnark-crypto go 1.22 require ( - github.com/bits-and-blooms/bitset v1.14.2 - github.com/consensys/bavard v0.1.25 + github.com/bits-and-blooms/bitset v1.20.0 + github.com/consensys/bavard v0.1.27 github.com/leanovate/gopter v0.2.11 github.com/mmcloughlin/addchain v0.4.0 github.com/spf13/cobra v1.8.1 - github.com/stretchr/testify v1.9.0 - golang.org/x/crypto v0.31.0 - golang.org/x/sync v0.1.0 - golang.org/x/sys v0.28.0 + github.com/stretchr/testify v1.10.0 + golang.org/x/crypto v0.32.0 + golang.org/x/sync v0.10.0 + golang.org/x/sys v0.29.0 gopkg.in/yaml.v2 v2.4.0 ) diff --git a/go.sum b/go.sum index 798885eed6..71460a93f4 100644 --- a/go.sum +++ b/go.sum @@ -44,8 +44,8 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bits-and-blooms/bitset v1.14.2 h1:YXVoyPndbdvcEVcseEovVfp0qjJp7S+i5+xgp/Nfbdc= -github.com/bits-and-blooms/bitset v1.14.2/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/bits-and-blooms/bitset v1.20.0 h1:2F+rfL86jE2d/bmw7OhqUg2Sj/1rURkBn3MdfoPyRVU= +github.com/bits-and-blooms/bitset v1.20.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -55,8 +55,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/consensys/bavard v0.1.25 h1:5YcSBnp03/HvfpKaIQLr/ecspTp2k8YNR5rQLOWvUyc= -github.com/consensys/bavard v0.1.25/go.mod h1:k/zVjHHC4B+PQy1Pg7fgvG3ALicQw540Crag8qx+dZs= +github.com/consensys/bavard v0.1.27 h1:j6hKUrGAy/H+gpNrpLU3I26n1yc+VMGmd6ID5+gAhOs= +github.com/consensys/bavard v0.1.27/go.mod h1:k/zVjHHC4B+PQy1Pg7fgvG3ALicQw540Crag8qx+dZs= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= @@ -250,8 +250,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -281,8 +281,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -384,8 +384,9 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -434,8 +435,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= diff --git a/internal/generator/gkr/template/gkr.test.vectors.gen.go.tmpl b/internal/generator/gkr/template/gkr.test.vectors.gen.go.tmpl index 47336021c0..bc73c9625a 100644 --- a/internal/generator/gkr/template/gkr.test.vectors.gen.go.tmpl +++ b/internal/generator/gkr/template/gkr.test.vectors.gen.go.tmpl @@ -11,6 +11,8 @@ import ( "path/filepath" "reflect" "hash" + + "github.com/consensys/bavard" ) func main() { @@ -36,8 +38,11 @@ func GenerateVectors() error { if !dirEntry.IsDir() { if filepath.Ext(dirEntry.Name()) == ".json" { - fmt.Println("\tprocessing", dirEntry.Name()) path := filepath.Join(testDirPath, dirEntry.Name()) + if !bavard.ShouldGenerate(path) { + continue + } + fmt.Println("\tprocessing", dirEntry.Name()) if err = run(path); err != nil { return err } diff --git a/internal/generator/gkr/test_vectors/main.go b/internal/generator/gkr/test_vectors/main.go index a279b83ea0..6b4784e177 100644 --- a/internal/generator/gkr/test_vectors/main.go +++ b/internal/generator/gkr/test_vectors/main.go @@ -18,6 +18,8 @@ import ( "os" "path/filepath" "reflect" + + "github.com/consensys/bavard" ) func main() { @@ -43,8 +45,11 @@ func GenerateVectors() error { if !dirEntry.IsDir() { if filepath.Ext(dirEntry.Name()) == ".json" { - fmt.Println("\tprocessing", dirEntry.Name()) path := filepath.Join(testDirPath, dirEntry.Name()) + if !bavard.ShouldGenerate(path) { + continue + } + fmt.Println("\tprocessing", dirEntry.Name()) if err = run(path); err != nil { return err } From de0d77f2b4d520350bc54c612828b19ce2146eee Mon Sep 17 00:00:00 2001 From: Ivo Kubjas Date: Tue, 21 Jan 2025 16:15:33 +0100 Subject: [PATCH 2/2] release: v0.15.0 (#611) Co-authored-by: Gautam Botrel --- CHANGELOG.md | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++ CITATION.bib | 9 ++-- README.md | 10 ++-- 3 files changed, 153 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cfa5d42ad..3dec5dbe0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,145 @@ + +## [v0.15.0] - 2025-01-21 +### Build +- generify +- update ci for slack bot ([#538](https://github.com/Consensys/gnark-crypto/issues/538)) +- **deps:** bump golang.org/x/crypto from 0.26.0 to 0.31.0 ([#579](https://github.com/Consensys/gnark-crypto/issues/579)) + +### Chore +- update bavard to 0.1.26 +- update citation +- use errors.New to replace fmt.Errorf with no parameters ([#575](https://github.com/Consensys/gnark-crypto/issues/575)) +- fix some function names in comment ([#569](https://github.com/Consensys/gnark-crypto/issues/569)) +- fix some function names in comment ([#559](https://github.com/Consensys/gnark-crypto/issues/559)) +- ignore gosec false positive +- use golint option to include generated files ([#549](https://github.com/Consensys/gnark-crypto/issues/549)) + +### Docs +- Change copyright year to 2025 (not autogenerated) +- update element package doc ([#572](https://github.com/Consensys/gnark-crypto/issues/572)) +- fix non generated headers ([#571](https://github.com/Consensys/gnark-crypto/issues/571)) +- less verbose Apache 2 header, latest bavard ([#570](https://github.com/Consensys/gnark-crypto/issues/570)) +- document batchAddAfine func ([#555](https://github.com/Consensys/gnark-crypto/issues/555)) +- GSigma -> GSigmaNeg bn254 +- update README ([#533](https://github.com/Consensys/gnark-crypto/issues/533)) + +### Feat +- cleaned iop ([#587](https://github.com/Consensys/gnark-crypto/issues/587)) +- restored sis ([#583](https://github.com/Consensys/gnark-crypto/issues/583)) +- generate uint32 arith only for babybear and koalabear ([#577](https://github.com/Consensys/gnark-crypto/issues/577)) +- restored fft ([#574](https://github.com/Consensys/gnark-crypto/issues/574)) +- hash registry with statestorer ([#564](https://github.com/Consensys/gnark-crypto/issues/564)) +- add `BabyBear` and `KoalaBear` 31bits fields vanilla Go impl ([#558](https://github.com/Consensys/gnark-crypto/issues/558)) +- code gen +- example fflonk +- code gen +- example shplonk +- half-GCD for Eisenstein integers +- implement Eisenstein integers arithmetic +- number of trials for finding the next divisor of r-1 is now limited +- renaming +- fixed size folded polynomials +- renaming +- use GeneratorFullMultiplicativeGroup +- add round trip serialisation test +- renaming gamma -> challenge +- used bufMaxSizePolynomials[:len(polynomials[i])] +- randomise SRS +- code gen +- code gen +- code gen +- code gen +- code gen marshal [][][]frElement +- marshal [][][]frElement +- proof tunes the number of polynomial so it divides r-1 +- add dummy polynomial so the number of poly divides r-1 +- template marshal +- marshal +- marshal fflonk bn254 +- code gen, tests for existence of roots of 1 need to be tuned +- added fflonk in code gen main +- add doc for fflonk +- addition of templates for fflonk +- fixed fflonk folding +- factored extended set +- getIthRootOne ok +- fflonk fold and open +- folding ok +- test roots extraction +- code gen ok +- additions of template files marshal shplonk +- marshal ok +- generator ok +- test ok +- single point to set in open +- TestBuildZtMinusSi ok +- interpolate ok +- interpolator ok +- debugged neg pairing +- sage debugging, open ok +- wrpime ok +- add poly +- naive mul (for combinings polynomials) ok +- build vanishing poly ok +- division ok +- mul by linear factor ok +- **bw6-761:** Miller loop using direct sextic extension ([#608](https://github.com/Consensys/gnark-crypto/issues/608)) + +### Fix +- fixed comments and variable naming ([#603](https://github.com/Consensys/gnark-crypto/issues/603)) +- re-ran go generate for field/ +- buffer sufficient size ([#551](https://github.com/Consensys/gnark-crypto/issues/551)) +- use sqrt in eisenstein halfgcd condition +- consider all possible remainders +- makes linter happy +- apply review suggestions +- check error +- check pairing error +- randomised size poly +- raise error when nbDigest != number of polynomials +- fixed panic +- fixed TestGetIthRootOne template +- fixed srs size +- fixed order computation template +- added condition for existence of t-th roots +- used upper bound of the total size in buf +- fixed test TestMultiplyLinearFactor +- fixed vanishing poly + +### Perf +- make SetBytes not allocate errors in non-fast path ([#599](https://github.com/Consensys/gnark-crypto/issues/599)) +- adds (some) arm NEON assembly for koalabear and babybear ([#588](https://github.com/Consensys/gnark-crypto/issues/588)) +- adds avx512 vector ops for koalabear and babybear fields ([#568](https://github.com/Consensys/gnark-crypto/issues/568)) +- adds (some) `arm64` assembly for 4 and 6 words modulus ([#554](https://github.com/Consensys/gnark-crypto/issues/554)) +- subgroup check ([#557](https://github.com/Consensys/gnark-crypto/issues/557)) +- adds AVX512 implementations of vector.Sum, vector.InnerProduct + assembly refactor ([#547](https://github.com/Consensys/gnark-crypto/issues/547)) +- add Vector::Add, Sub and ScalarMul assembly (and purego) implementations ([#536](https://github.com/Consensys/gnark-crypto/issues/536)) + +### Refactor +- clean up SIS, placeholder ([#596](https://github.com/Consensys/gnark-crypto/issues/596)) +- remove dependency on ecc Encoder in fft domain marshal ([#565](https://github.com/Consensys/gnark-crypto/issues/565)) +- apply review suggestions +- move eisenstein under field/ +- up doc +- kill bls12-378 and bw6-756 curves + +### Style +- clean comments +- nbInstances -> nbPolynomials +- remaing -> remaining + +### Test +- fix windows build +- fix windows build +- half-GCD test with bigger integers + +### Pull Requests +- Merge pull request [#548](https://github.com/Consensys/gnark-crypto/issues/548) from Consensys/docs/pedersen +- Merge pull request [#498](https://github.com/Consensys/gnark-crypto/issues/498) from Consensys/feat/fflonk +- Merge pull request [#543](https://github.com/Consensys/gnark-crypto/issues/543) from Consensys/feat/eisenstein +- Merge pull request [#534](https://github.com/Consensys/gnark-crypto/issues/534) from Consensys/refactor/kill-some-curves + + ## [v0.14.0] - 2024-09-03 ### Build @@ -2378,6 +2520,7 @@ ## v0.0.1 - 2020-03-23 +[v0.15.0]: https://github.com/Consensys/gnark-crypto/compare/v0.14.0...v0.15.0 [v0.14.0]: https://github.com/Consensys/gnark-crypto/compare/v0.13.0...v0.14.0 [v0.13.0]: https://github.com/Consensys/gnark-crypto/compare/v0.12.1...v0.13.0 [v0.12.1]: https://github.com/Consensys/gnark-crypto/compare/v0.12.0...v0.12.1 diff --git a/CITATION.bib b/CITATION.bib index b14f26ca0e..bd4286aeea 100644 --- a/CITATION.bib +++ b/CITATION.bib @@ -1,14 +1,15 @@ -@software{gnark-crypto-v0.7, +@software{gnark-crypto-v0.15, author = {Gautam Botrel and Thomas Piellard and Youssef El Housni and Arya Tabaie and + Gus Gutoski and Ivo Kubjas}, - title = {Consensys/gnark-crypto: v0.7.0}, + title = {Consensys/gnark-crypto: v0.15.0}, month = jan, - year = 2022, + year = 2025, publisher = {Zenodo}, - version = {v0.7.0}, + version = {v0.15.0}, doi = {10.5281/zenodo.5815453}, url = {https://doi.org/10.5281/zenodo.5815453} } \ No newline at end of file diff --git a/README.md b/README.md index 26ae98982a..99c267de41 100644 --- a/README.md +++ b/README.md @@ -78,18 +78,18 @@ If you use `gnark-crypto` in your research a citation would be appreciated. Please use the following BibTeX to cite the most recent release. ```bib -@software{gnark-crypto-v0.14.0, +@software{gnark-crypto-v0.15, author = {Gautam Botrel and Thomas Piellard and Youssef El Housni and Arya Tabaie and Gus Gutoski and Ivo Kubjas}, - title = {Consensys/gnark-crypto: v0.14.0}, - month = sep, - year = 2024, + title = {Consensys/gnark-crypto: v0.15.0}, + month = jan, + year = 2025, publisher = {Zenodo}, - version = {v0.14.0}, + version = {v0.15.0}, doi = {10.5281/zenodo.5815453}, url = {https://doi.org/10.5281/zenodo.5815453} }