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

feat: groth16 solidity use calldatacopy for commitments #1097

Merged
merged 6 commits into from
Apr 18, 2024

Conversation

bernard-wagner
Copy link
Contributor

@bernard-wagner bernard-wagner commented Apr 5, 2024

Description

Addresses some causes for Stack too deep or memoryguard was present compiler errors by using assembly to copy calldata to an array. Tracked as part of issue #1094 .

@CLAassistant
Copy link

CLAassistant commented Apr 5, 2024

CLA assistant check
All committers have signed the CLA.

@bernard-wagner bernard-wagner marked this pull request as draft April 6, 2024 09:11
@bernard-wagner bernard-wagner marked this pull request as ready for review April 8, 2024 06:13
Copy link
Collaborator

@ivokub ivokub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution! Looks good. I additionally re-enabled a few checks which failed previously with Solidity verifier as it was commiting to many public inputs.

I'll wait for the CI to finish and then merge.

@ivokub ivokub merged commit c38cdd3 into Consensys:master Apr 18, 2024
4 of 5 checks passed
Tabaie added a commit that referenced this pull request Apr 22, 2024
commit 6d37cb5
Author: Arya Tabaie <arya.pourtabatabaie@gmail.com>
Date:   Mon Apr 22 16:44:27 2024 -0500

    refac remove UnpackIntoBytes

commit 18f235c
Author: Arya Tabaie <arya.pourtabatabaie@gmail.com>
Date:   Mon Apr 22 15:26:12 2024 -0500

    update compilation test sizes

commit b2dfec7
Merge: c902244 b33c093
Author: ThomasPiellard <thomas.piellard@consensys.net>
Date:   Mon Apr 22 15:57:16 2024 +0200

    Merge pull request #1044 from Consensys/feat/plonk_update

    Feat/plonk update

commit b33c093
Merge: 5af51c3 c902244
Author: ThomasPiellard <thomas.piellard@consensys.net>
Date:   Mon Apr 22 15:55:21 2024 +0200

    Merge branch 'master' into feat/plonk_update

commit c902244
Author: Gautam Botrel <gautam.botrel@gmail.com>
Date:   Fri Apr 19 21:54:24 2024 -0500

    fix: plonk.SRSSize takes constraint.ConstraintSystem as input, not constraint.System

commit 3c506fd
Author: Ivo Kubjas <ivo.kubjas@consensys.net>
Date:   Thu Apr 18 16:35:16 2024 +0200

    feat: expmod with variable modulus (#1090)

    * chore: remove unused arguments

    * feat: allow non-default modulus

    * feat: implement non-default modulus arithmetic

    * test: tests for non-default arithmetic

    * remove debug calls

    * chore: clean only if set

    * feat: add zero check with custom modulus

    * feat: change quotient length in case of var modulus

    * refactor: subtraction padding into callable function

    * feat: implement variable modulus subtraction

    * feat: implement variable modulus equality assertion

    * test: variable modulus tests

    * feat: implement custom mod exp

    * refactor: rename methods

    * refactor: use single impl of mulmod and checkzero

    * feat: add automatic lazy reduction for var-mod addition

    * refactor: make var-mod sub private

    It is difficult to implement automatic reduction here due to the
    recursive dependency of methods. As the goal is to provide only very
    limited API for now, then make it private for now.

    * refactor: move parameters

    * refactor: move var-mod methods to Field

    * refactor: subPaddingHint to hints file

    * docs: add package documentation

    * feat: implement fixed-mod exp

    * test: make tests cheaper to run

    * fix: handle mul hint edge case when modulus is zero

    * feat: implement expmod precompile

    * perf: select first bit in expmod instead of mul

    * docs: indicate implementation of Expmod

    ---------

    Co-authored-by: Youssef El Housni <youssef.elhousni@consensys.net>

commit c38cdd3
Author: bernard-wagner <bernard-wagner@users.noreply.github.com>
Date:   Thu Apr 18 13:04:16 2024 +0200

    feat: groth16 solidity use calldatacopy for commitments (#1097)

    * feat: groth16 solidity use calldatacopy for commitments

    * consistently use publicAndCommitmentCommittedOffset

    * do not redeclare publicAndCommitmentCommitted

    * contiguous segments

    * only if index exists

    * test: re-enable solidity checks

    ---------

    Co-authored-by: Ivo Kubjas <ivo.kubjas@consensys.net>

commit 5af51c3
Author: Youssef El Housni <youssef.housni21@gmail.com>
Date:   Mon Apr 15 18:41:21 2024 -0400

    test: update stats

commit bdcdb27
Author: Youssef El Housni <youssef.housni21@gmail.com>
Date:   Mon Apr 15 18:31:58 2024 -0400

    perf(pairing/bw6): optimize Miller loop

commit 704bb4d
Author: Youssef El Housni <youssef.housni21@gmail.com>
Date:   Fri Apr 12 18:16:42 2024 -0400

    test: update stats

commit 747d11f
Author: Youssef El Housni <youssef.housni21@gmail.com>
Date:   Fri Apr 12 18:00:57 2024 -0400

    perf(pairing/bw6,bls12-381): optimize Mul014By014

commit c73574c
Author: Youssef El Housni <youssef.housni21@gmail.com>
Date:   Fri Apr 12 13:45:23 2024 -0400

    perf(std/plonk): small optim

commit 5886ddb
Merge: 79aece1 c4d989b
Author: Youssef El Housni <youssef.elhousni@consensys.net>
Date:   Fri Apr 12 12:04:50 2024 -0400

    Merge branch 'master' into feat/plonk_update

commit 79aece1
Author: Youssef El Housni <youssef.housni21@gmail.com>
Date:   Thu Apr 11 20:01:57 2024 -0400

    perf(std/plonk): small optims

commit 4dc4a07
Author: Youssef El Housni <youssef.housni21@gmail.com>
Date:   Thu Apr 11 19:17:20 2024 -0400

    perf(std/plonk): save 1 neg

commit a69f445
Merge: 3fd24ea 1836468
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Thu Apr 11 10:01:24 2024 +0200

    Merge branch 'feat/plonk_update' of github.com:Consensys/gnark into feat/plonk_update

commit 3fd24ea
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Thu Apr 11 10:01:18 2024 +0200

    feat: modified comment

commit 65f6f46
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Thu Apr 11 09:30:08 2024 +0200

    feat: updated comment in fold_state

commit 1836468
Merge: 2b63a66 acd3529
Author: Gautam Botrel <gautam.botrel@gmail.com>
Date:   Wed Apr 10 20:17:24 2024 -0500

    Merge branch 'master' into feat/plonk_update

commit 2b63a66
Author: Ivo Kubjas <ivo.kubjas@consensys.net>
Date:   Wed Apr 10 20:42:48 2024 +0000

    perf: fold H before big MSM

commit 24bca50
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Wed Apr 10 15:05:49 2024 +0200

    feat: moved claimed values of linearised polynomial out of the proof

commit 0803a5f
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Wed Apr 10 11:20:00 2024 +0200

    feat: re enable test bs12->bw6

commit 1b03f76
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Wed Apr 10 11:16:37 2024 +0200

    feat: code gen

commit f4f402e
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Wed Apr 10 11:14:38 2024 +0200

    feat: change sign in comment

commit 2026b9d
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Wed Apr 10 11:08:10 2024 +0200

    feat: code gen

commit 1e20b9e
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Wed Apr 10 11:07:35 2024 +0200

    fix: bn254 -> {{ toLower .Curve }}

commit 61d9424
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Mon Apr 8 19:59:58 2024 +0200

    feat: replaced precompiles opcode with constants

commit 47b9ec8
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Mon Apr 8 19:58:23 2024 +0200

    feat: addition of precompiles as constants

commit ad52500
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Mon Apr 8 19:55:52 2024 +0200

    feat: used  to compute offsets in state

commit 626b1a7
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Mon Apr 8 19:52:27 2024 +0200

    fix: fixed type

commit 3437008
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Mon Apr 8 19:45:40 2024 +0200

    feat: used  in template for proof offsetss

commit b0aed98
Merge: 2d91f29 9761428
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Mon Apr 8 18:09:29 2024 +0200

    Merge branch 'master' into feat/plonk_update

commit 2d91f29
Merge: ae58b42 ce0186e
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Wed Mar 20 10:35:15 2024 +0100

    Merge branch 'master' into feat/plonk_update

commit ae58b42
Merge: 8f32eab 781de03
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Wed Mar 13 09:01:54 2024 +0100

    Merge branch 'master' into feat/plonk_update

commit 8f32eab
Merge: 3abd77d 7fc72ae
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Tue Feb 13 09:29:13 2024 +0100

    Merge branch 'master' into feat/plonk_update

commit 3abd77d
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Mon Feb 5 21:47:40 2024 +0100

    fix: verifier works

commit 5ee479d
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Feb 2 23:00:18 2024 +0100

    fix: fixed size slice

commit e9b89bd
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Feb 2 17:23:17 2024 +0100

    fix: fixed formula in comments

commit 019da3d
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Feb 2 17:20:56 2024 +0100

    feat: modified algebraic relation

commit b381aa9
Merge: 5f06013 a824c48
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Feb 2 10:27:31 2024 +0100

    Merge branch 'master' into feat/plonk_update

commit 5f06013
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 19:05:20 2024 +0100

    fix: fixed compute_gamma_kzg

commit d87ca3c
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 18:51:25 2024 +0100

    fix: fixed offset opening at zeta-omega

commit 99398b2
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 18:01:25 2024 +0100

    fix: fixed typo

commit e84d083
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 17:59:18 2024 +0100

    feat: pairing precompile error handled

commit f39e31e
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 17:03:39 2024 +0100

    fix: fixed verify_opening_linearised_polynomial

commit c0e403b
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 12:08:59 2024 +0100

    fix: fixed proof size

commit 80f3a1e
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 12:02:28 2024 +0100

    feat: code gen

commit 42f5e71
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 12:01:28 2024 +0100

    fix: fixed generator

commit d544aca
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 12:00:31 2024 +0100

    fix: fixed comment derive alpha

commit ba50ca2
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 11:58:50 2024 +0100

    feat: clean MarshalSolidity

commit f6f0d87
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 26 11:57:49 2024 +0100

    fix: fixed MarshalSolidity

commit 5218925
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Thu Jan 25 17:04:21 2024 +0100

    feat: fix unmarshalling solidity

commit 5ec808d
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Tue Jan 23 15:12:46 2024 +0100

    feat: code gen plonk upgrade

commit 3faae35
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Tue Jan 23 14:57:47 2024 +0100

    fix: verifier ok

commit 58a4539
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Mon Jan 22 15:11:46 2024 +0100

    feat: renaming zhZeta

commit f8ab0e4
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Mon Jan 22 12:00:29 2024 +0100

    feat: opening of h0, h1, h2 ok

commit 03ddda0
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 19 19:39:13 2024 +0100

    feat: using batch inversion

commit 6f39e5e
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 19 16:59:25 2024 +0100

    feat: remove foldedHDigest

commit e4ff8ce
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 19 16:32:16 2024 +0100

    feat: add quotient to the linearised polynomial

commit ca41676
Author: Thomas Piellard <thomas.piellard@consensys.net>
Date:   Fri Jan 19 13:32:17 2024 +0100

    feat: multiply s1, s2 by alpha
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants