Skip to content
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

Gc 304 companion #454

Merged
merged 94 commits into from
Feb 14, 2023
Merged
Show file tree
Hide file tree
Changes from 89 commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
46079a3
refactor: no non-mont on bls12-377
Tabaie Dec 20, 2022
0ff8bd5
refactor: groth16 backend tests pass
Tabaie Dec 20, 2022
f515c8c
refactor: MSM takes Montgomery only - Plonk
Tabaie Dec 20, 2022
401993c
fix:`ToBigIntRegular` => `BigInt`
Tabaie Dec 20, 2022
5d56b7a
fix: more `ToBigIntRegular` => `BigInt`
Tabaie Dec 20, 2022
3da7cf7
feat: experiments with solving
Tabaie Dec 20, 2022
9f83d5d
Merge branch 'refactor/no-mont-method' into feat/gkr-api
Tabaie Dec 20, 2022
f042372
Merge branch 'develop' into feat/gkr-api
Tabaie Dec 20, 2022
986f62a
chore: some efforts from before christmas break
Tabaie Jan 4, 2023
62df360
refactor: all in one package
Tabaie Jan 4, 2023
be58426
feat: development done for bn254. to test and generify
Tabaie Jan 4, 2023
b95229e
test: fails. pointer issue
Tabaie Jan 5, 2023
d72713e
feat: "generic" top sort
Tabaie Jan 5, 2023
8bdbca7
refactor: improved, simplified solver; compiler to match
Tabaie Jan 6, 2023
41cb30d
refactor: use mostly no-ptr data. better information silos
Tabaie Jan 9, 2023
743633b
fix: inconsistencies re assignments alignment
Tabaie Jan 10, 2023
3938c2c
feat: simple compilation test passes
Tabaie Jan 10, 2023
cae4b07
test: solver error found
Tabaie Jan 11, 2023
0fbf163
fix: solving works on the simplest example
Tabaie Jan 11, 2023
4087f5f
test: with dependency. err: inputs are modified
Tabaie Jan 11, 2023
defabf6
fix: solver works. prover doesn't. possibly deeper gkr issue
Tabaie Jan 12, 2023
6097684
bench: merkle tree
Tabaie Jan 12, 2023
5acf5cb
refactor: hint-lite, has import cycle
Tabaie Jan 18, 2023
d4b924b
fix: import cycle
Tabaie Jan 18, 2023
4d29684
test: basic permutation tests passing
Tabaie Jan 18, 2023
41a1615
test: end-to-end: can't use test engine (for now)
Tabaie Jan 18, 2023
6d041ea
fix: propagating gkrInfo
Tabaie Jan 18, 2023
fc82d97
test: "doubling" circuit passes
Tabaie Jan 19, 2023
97a2001
fix: race condition
Tabaie Jan 19, 2023
e8ed957
test: with dependency
Tabaie Jan 19, 2023
1fe140a
fix: small mimc test
Tabaie Jan 19, 2023
9105cba
bench: gkr inefficient
Tabaie Jan 19, 2023
80136cb
feat: support more operations
Tabaie Jan 20, 2023
7f494a2
fix: minor stuff, some code generation
Tabaie Jan 20, 2023
0792b1e
feat: codegen
Tabaie Jan 20, 2023
7f995ae
feat: yet more codegen
Tabaie Jan 20, 2023
0470d22
fix: no gkr for tinyfield
Tabaie Jan 20, 2023
4b0e716
Merge branch 'develop' into feat/gkr-api
Tabaie Jan 20, 2023
b607cca
fix: no defineGkrHints for tinyfield and more
Tabaie Jan 20, 2023
37d5aaa
fix: mod tidy
Tabaie Jan 21, 2023
1a55319
Merge branch 'develop' into feat/gkr-api
Tabaie Jan 23, 2023
6f885a9
fix: go mod tidy
Tabaie Jan 23, 2023
6466829
refactor: some cleanup - bn254 only
Tabaie Jan 23, 2023
095ce40
fix: a small bug and some new benchmarks
Tabaie Jan 24, 2023
cd98156
perf: replace Add(Mul) by MulAdd
gbotrel Jan 24, 2023
f5d3e0b
perf: add frontend.WithCompressThreshold in compile test opts
gbotrel Jan 24, 2023
9dd1f2b
perf: replace intSet by bitset
gbotrel Jan 24, 2023
85cf4f7
perf: use cpt in topo sort
gbotrel Jan 24, 2023
a4fe824
build: make linter happy
gbotrel Jan 24, 2023
c3a7f27
build: reran go generate
gbotrel Jan 24, 2023
2f02f72
perf: factorize MultiLin.Evaluate hot loop
gbotrel Jan 24, 2023
788d6cf
revert: bn254/gkr changes
Tabaie Jan 24, 2023
9b79c62
build: generify bn254/gkr changes
Tabaie Jan 24, 2023
25fc396
test: more instances
Tabaie Jan 25, 2023
0f45f16
perf: reflect new gc gkr opts and parallelize solving
Tabaie Jan 28, 2023
9e91467
fix: bn254 mem pool
Tabaie Jan 28, 2023
844ddff
test: only the gkr solver
Tabaie Jan 28, 2023
1eeb1dc
fix: solving bug - bn254
Tabaie Jan 30, 2023
4362350
build: generify
Tabaie Jan 30, 2023
9863c26
fix: dumping error and solver test
Tabaie Jan 30, 2023
4a91d83
fix: avoid overlogging
Tabaie Jan 30, 2023
966797d
fix: log correction
Tabaie Jan 30, 2023
a373626
feat: string to integer and its use in fiat-shamir
Tabaie Jan 30, 2023
677fcc2
fix: eddsa works
Tabaie Jan 30, 2023
cd3d8ee
fix: when using mimc for merkle tree, leaves should be fr.Elements
Tabaie Feb 2, 2023
5b36581
Merge branch 'develop' into gc-304-companion
Tabaie Feb 2, 2023
018e334
revert: no SignNum and VerifyNum
Tabaie Feb 2, 2023
0f08086
fix: new mimc round count
Tabaie Feb 2, 2023
b39b837
style: mimc.Sum documentation
Tabaie Feb 2, 2023
f9e5574
Merge pull request #455 from ConsenSys/develop
gbotrel Feb 7, 2023
acc78d5
Merge branch 'develop' into gc-304-companion
Tabaie Feb 9, 2023
208fb2a
fix: hard coded hashes in emulated groth16 tests
Tabaie Feb 9, 2023
60d7bbb
fix: update stats
Tabaie Feb 9, 2023
5ae8448
Merge branch 'develop' into feat/gkr-api
Tabaie Feb 10, 2023
e9cf239
build: gnark-crypto@develop
Tabaie Feb 10, 2023
2aef7ea
fix: reflect gkr changes in gnark-crypto
Tabaie Feb 10, 2023
af7cbb5
fix: witness-related functions no longer return ptrs
Tabaie Feb 10, 2023
8d1a2ac
Merge branch 'feat/gkr-api' into gc-304-companion
Tabaie Feb 10, 2023
23d6939
fix: pad eddsa test messages
Tabaie Feb 10, 2023
6a20a0b
fix: remove printfs
Tabaie Feb 10, 2023
02d2005
Merge branch 'feat/gkr-api' into gc-304-companion
Tabaie Feb 10, 2023
508d70a
refactor: updated gkr test vectors from gc
Tabaie Feb 10, 2023
9d6d298
refactor: replace map hash with const hash in gkr tests
Tabaie Feb 10, 2023
56e6d00
Merge branch 'master' into gc-304-companion
Tabaie Feb 10, 2023
4a181f3
style: gofmt
Tabaie Feb 10, 2023
8feb774
build: update go.mod gnark-crypto dev
gbotrel Feb 13, 2023
31d74dd
fix: fix Vector pointer type update in witness package
gbotrel Feb 10, 2023
e310cbb
fix: cherry pick witness update commit + ran go generate
gbotrel Feb 13, 2023
179c0b5
fix: match hardcoded-string prefix with gnark-crypto
Tabaie Feb 13, 2023
5ace112
revert: no gkr api on this branch!
Tabaie Feb 13, 2023
c8da378
fix: remove fr dependence in Merkle test
Tabaie Feb 13, 2023
ed69fdf
refactor: hardcoded_strings.String -> constant.HashedBytes
Tabaie Feb 13, 2023
f8e8553
style: remove unnecessary added new lines
Tabaie Feb 13, 2023
977eb81
refactor: remove std/utils package from this PR
gbotrel Feb 14, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion backend/hint/registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
var registry = make(map[ID]Function)
var registryM sync.RWMutex

// Register registers an hint function in the global registry.
// Register registers a hint function in the global registry.
func Register(hintFns ...Function) {
registryM.Lock()
defer registryM.Unlock()
Expand Down
22 changes: 21 additions & 1 deletion backend/witness/witness.go
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,27 @@ func (w *witness) WriteTo(wr io.Writer) (n int64, err error) {
n += 4

// write the vector
m, err := w.vector.(io.WriterTo).WriteTo(wr)
var m int64
switch t := w.vector.(type) {
case fr_bn254.Vector:
m, err = t.WriteTo(wr)
case fr_bls12377.Vector:
m, err = t.WriteTo(wr)
case fr_bls12381.Vector:
m, err = t.WriteTo(wr)
case fr_bw6761.Vector:
m, err = t.WriteTo(wr)
case fr_bls24317.Vector:
m, err = t.WriteTo(wr)
case fr_bls24315.Vector:
m, err = t.WriteTo(wr)
case fr_bw6633.Vector:
m, err = t.WriteTo(wr)
case tinyfield.Vector:
m, err = t.WriteTo(wr)
default:
panic("invalid input")
}
n += m
return n, err
}
Expand Down
276 changes: 276 additions & 0 deletions constraint/bls12-377/gkr.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion constraint/bls12-377/r1cs.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion constraint/bls12-377/solution.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading