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

DO NOT MERGE YET - Code sync #12

Merged
merged 48 commits into from
Sep 11, 2024
Merged

DO NOT MERGE YET - Code sync #12

merged 48 commits into from
Sep 11, 2024

Conversation

jpnovais
Copy link
Collaborator

@jpnovais jpnovais commented Sep 6, 2024

This PR implements issue(s) #

Checklist

  • I wrote new tests for my new core changes.
  • I have successfully ran tests, style checker and build against my new changes locally.
  • I have informed the team of any breaking changes if there are any.

Soleimani193 and others added 30 commits August 1, 2024 16:31
* revised interconnection

* cleaning
* docs: Starts fixing zk-EVM to zkEVM

* docs: fixes zk-EVM and light proof

* Update prover/README.md

Signed-off-by: Julien Marchand <[email protected]>

---------

Signed-off-by: Julien Marchand <[email protected]>
Co-authored-by: Julien Marchand <[email protected]>
* feat: add ECPAIR precompile integration

* chore: go.mod update

* chore: remove debug print

* fix: arithmetization reverse order G2 parts
* reorganize the structure of the keccak module
* rewrite the interface between keccak and the interconnection module
* rewrite the interface between keccak and the ecdsa module

---------

Co-authored-by: AlexandreBelling <[email protected]>
* Update MIMC_hasher.go
* hashNum and Ct columns
* converse transitions
* clean: deimport the importation module and do a bit of renaming
* remove execdatahashing

---------

Co-authored-by: AlexandreBelling <[email protected]>
* add supports for cancellable plonk
* optimize the range-checker assignment
* prover: add verifier checks for the activators
* fixup: set the check to the right column
* remove trailing printf's
* rename package ecrecover to ecdsa
* move everything into ecdsa folder
* refactor the api of the antichamber module
* adjust the arithmetization interface
* rename the ecdsa API to EcdsaZkEvm
* adjust the API of ecadd/ecmul
* simplify the API for keccak
* simplify the API for modexp
* unexport the sha2 blocks
* adjust the ecpairing interface
* NewStateManager returns a pointer
* perfect the zk-evm API
* remove "features" from the config
* remove unused parameter in ecadd/ecmul.Assign
* implements the assignment part of the main zkevm
* add missing settings assignment to the keccak_zkevm
* remove outdated comment in keccak_single_provider
* doc: fixing a wrong comment for keccak
* adds sha2 as part of the zkevm
* skip flacky test in e2e_test for pi-interconnection
* fix bug in lookup compiler when no lookup are parts of the protocol
* fix a handful of bugs in plonk in wizard
* skip second flacky test in the pi-interconnection
* fix bug in ecpair
* remove features from the e2e testing config
* Update rolling_selector.go
* ChainID, unaligned for now
* refactor
* adding local openings
* fetch ChainID's NBytes and refactoring
* NBytesChainID
* refactor: grouping csv assignment
* total number of bytes
* first and last block IDs
* style: adjust the API for the public inputs

---------

Co-authored-by: AlexandreBelling <[email protected]>
* feat: added changes to test pipeline

* feat: added changes to test pipeline

* feat: added changes to test pipeline

* feat: added changes to test pipeline

* feat: added changes to test pipeline

* feat: fixed pipeline for traces-api build and push tag when prover has no changes and fixed print log issue

* feat: separate traces-api testing from build-and-publish workflow

* feat: added changes to test pipeline

* feat: added changes to test pipeline

* feat: added changes to test pipeline
* txsignature-uses-actual-number-of-ecrecover
* use the actual number
* Updating sequencer plugin for the docker setup with old and new traces

---------

Signed-off-by: Arya Tabaie <[email protected]>
Co-authored-by: Arya Tabaie <[email protected]>
Co-authored-by: AlexandreBelling <[email protected]>
* feat: Add the wizard to the zkevm instantiation
* make the l2BridgeAddress part of the witness
* add L2Message in the extractor
* update the backend so that it works with the new zkevm api
* compute the functional inputs
* update rand
* solves a cyclic dependency issue by moving some code of blob decompression into utils
* arrange the way the func inputs are computed from the crafting
* integrate the changes with the aggregation package
* fix invalid go:generate statement
* fixup: invalid import
* update golangci.yml to relax the linting rules (were breaking the CI)
* Coordinator - Remove shadow jar from build

* Coordinator - Replace shadowJar task with jar

* Coordinator - Use distribution plugins distZip job, Dockerfile unzip distribution

* Coordinator - Fix gradle command

* Coordinator - Fix unzip and moving of libs

* Coordinator - Fix unzip and moving of libs 2

* Coordinator - Fix unzip locations
* adding the missing constraints
* minor
* cleaning the assignments
* disconnect the hub from the actual arithmetization
* adds the missing columns from the arithmetization
* fix invalid bound constraint for ecdsa
* adds the settings for all the modules
* deduplicating the columns names between sha2.packing and keccak.packing
* adjust the number of inputs for ecadd and ecmul
* sanity-checks against creating giant columns and giant range-checks
* more informative message about failing to split a global constraint
* fixing a mistake in the multi-limb cmp
* splitter: adding support for periodic sample with larger period
* ecpair: adjust the number of G2 check per circuit
* fix: generate missing twiddles for specific sis instances
* optime the FromAccessor verifier col to make it lighter
* fix: make all fields of ConstCol public
* serialization: add checks to panic when entering a private field
* factorization: remove false edge-case
* added logs for the artefact writing
* lookup: fix ensuring that the zCatalog are processed in deterministic order
* corset.go: remove deadcode
* artefacts: fix the file existence check in wizard.Artefact
* codehash: fix state-manager assignment code hash
* adds sha2 circuit
* ecdsa: fix a few bugs in the assignment part
* implements the tx-signature getter
* config: fix maximal value for the log level
* remove-me: making debugging simpler
* fixup + add some more informations
* batch-interpolate: fix the batch interpolation algorithm
* add more logs in the vortex prover
* fixup: remove the test acceleration
* vector builder: more friendly-message repush last on top of an empty builder
* public input: set the name in the settings automatically
* sha2: address the case where sha2 is never called
* keccak: remove trailing printf
* fix: sha2 failing test

* lookup: fix error message on lookup prover

* const-col: simplify the return of GetColAssignmentAt

* lane: address case where sha2 is never called

* mimccodehash: address the case where the codehash is empty

* multi-limbs: fix incorrect range query

* storage-peek: adjust the storage key decomposition to use less limbs

* fixup: remove trailing printf

* fixup: (from accessors) fix invalid getterAt

* more informative message for the projection queries

* log (dummy verifier): add a log when a query fails

* fix(nbZeroes): address the case where the number of inputs is zero

* fix(sha2): address the case where sha2 is not called

* fix(state-summary): address the fact that read|readzero follow a different pattern of account traces

* fix(state-summary): change the ordering in the state-summary

* fix(mimcCodeHash): reverse the direction of the lookup

* chores(inclusion): make the error more comprehensive by listing all the missing rows

* feat(state-manager): adds constraints for ensuring writes happen after reads

* feat(compressor): revert to the old way of hashing

* fix: comment out the checks that are pertaining to assessed issues in the arithmetization

* chores(projection): sends more insightful logs in the projection query

* style(ecdsa): remove nbTxs from assignTxSignature

* fix(vortex): adds a missing column ignoral

* adding new SIS parameters to the test

* feat(vortex): change the default SIS parameters

* chores(fs): skip the fiat-shamir update when running in dummy.Compile

* fix(vortex): bug when handling shadow columns

* fix(gnark-interpolation): better handling of constant terms

* fix(public-input): fix wrong query addressing

* fix(execution): change the structure of the circuit builder

* fixup

* feat(setup): change the ordering of the circuit generation

* fix(execution): allocate explicitly the L2 message hashes

* fixup

* fixup: remove debugging line

* fix(s3): change the line in the makefile to use include/exclude

* fix(circuit): fix incorrect assignment function

* fix(execution): correct the FinalBlockNumber assignment

* fix(execution): adjust the hashing of the L2 message hashes

* fix the assignment of modexp

* rm gitignore
* feat(gkrmimr): bump gnark to a version that does not need to override the hints

* chores(gnark): point to the master branch for gnark's dependency
* remove GAS and OOB

* v0.4.0-rc1 without GAS and OOB
…3752)

* feat: added FinalizedTagUpdater plugin implementation and workflow

* feat: implemented finalized block update logic and updated docker image and java package tags

* feat: set finalized-tag-updater version back to 0.0.1 and update coordinator config toml for traces-api-version-v2 as v0.3.0-rc2

* feat: moved jreleases.yml into sub folder

* feat: added JRELEASER_USER_HOME pointing to the sub folder

* feat: updated main.yml for filtering finalized-tag-updater changes

* feat: updated main.yml for filtering finalized-tag-updater changes

* feat: updated github-release.yml for jreleaser arguments

* feat: updated github-release.yml for jreleaser arguments with git root search

* feat: removed unused pipeline file and updated filter change file list and updated traces-api image

* feat: updated e2e test for more reliable way to check the result

* feat: updated asset tag with finalized-tag-updater prefix

* feat: changes for PR review

* feat: updated docker compose file for linea-sequencer plugin update

* feat: added e2e tests for finalized-tag-updater in github pipeline

* feat: updated e2e tests for finalized-tag-updater

* feat: added env var in  e2e test pipeline for finalized-tag-updater test

* feat: used finalized-tag-updater in the default local stack and updated the plugin to better handle errors

* feat: updated sequencer run command

* feat: fixed coordinator unit tests

* feat: changed the finalized tag update e2e test for no finalization on L1 case

* feat: updated error handling in FinalizationUpdatePoller and updated linea-tracer plugin version
* fix nosec g115
* fix gofmt
* fix all staticcheck errors
* delegate more range checking to util funcs

---------

Co-authored-by: Arya Tabaie <[email protected]>
* bug fix for total no of transactions
* two typos in comments
* lookup query to help with the security justification
jonesho and others added 18 commits August 23, 2024 19:20
…… (#3840)

* feat: updated finalized-tag-updater version and name to allow display in besu log

* feat: comment out the auto build and release step for finalized-tag-updater
…ps.go (#3838)

* Fix: Prover keccak/base-conversion wrong loop boundary check in lookups.go
* fix nextPowerOfTwo panic msg

---------

Signed-off-by: AlexandreBelling <[email protected]>
Co-authored-by: Arya Tabaie <[email protected]>
* bump gnark version; no test_vector_utils

* chore: run go mod tidy

---------

Co-authored-by: Arya Tabaie <[email protected]>
Co-authored-by: Ivo Kubjas <[email protected]>
* fix size-0 edge cases
* feat configurable slack
* feat divide aggregation PI in two

---------

Co-authored-by: Arya Tabaie <[email protected]>
* feat(statemanager): adds a generic interface for traces

* feat(shomei): checks the ordering of the traces shomei

* feat(shomei): check the ordering of the account segments

* chores(shomei): adds the type of account segment in the error trace

* style(shomei): remove systematic error log

* fix(shomei): sort the state-access to match shomei's expectations

* fix(mock): EOA has codeHash equal to emptyStorageHash instead of emptyCodeHash

* fix(ringsis): fix the failing CI tests for MiMC

* fix(serialization): fix the CI for the serialization test

* fix(shomei): fix read zero shomei

* fix(shomei): rename test to TestStateSummaryReadNonZeroShomei

* fix reuse of the same circuit

---------

Co-authored-by: Arya Tabaie <[email protected]>
* fix: update get started doc for node version

* fix: update pnpm version in the doc

* fix: update synctx node engines version
* uses cbor instead of json for serialization
* fix(serialization):use deterministic encoding
* coordinator: fix logs fetch when JSON-RPC error is returned;

* coordinator: removes unnecessary dependencies

* coordinator: removes debug println

* coordinator: improve test assertions
* Implements an evaluation board and organizes the code to evaluate an expression
* bench(expr): Creates a unit-benchmark to help optimizing the expressions
* adds the cbor attribute
* commit zip file instead of the plain cbor object
* feat bypass wizard option

* docs mark unspecified wizard parameters

* revert add MockKeccakWizard back in

---------

Signed-off-by: Arya Tabaie <[email protected]>
Co-authored-by: Arya Tabaie <[email protected]>
…lob handling fails (#3848)

* [3816] BlobCompressionProofCoordinator will retry/requeue blob when blob handling fails

* fix test

* fix spotless

* Remove redundant error log in BlobCompressionProofCoordinator

* Use log warn instead or error on retry
* coordinator: Generic prover client WIP preparation to support prover switch between versions

* coordinator: WIP prover clients use GenericFileBasedProverClient

* coordinator: rename FileBasedProverConfig params

* coordinator: adds tests for GenericFileBasedProverClientTest

* coordinator: removes unnecessary annotation

* coordinator: removes legacy prover clients

* coordinator: small simplification

* coordinator: adds tests for ExecutionProofRequestDataDecorator

* coordinator: removes unused class ProverErrorType.kt

* Revert "coordinator: removes unused class ProverErrorType.kt"

This reverts commit e8ffbfb7a45c7e0e6287d2a0751ba94d0141529b.

* coordinator: naming consistency

* coordinator: adapt Blob coordinator to new prover interface

* coordinator: rename RequestResponse file

* coordinator: adapt to new prover aggregation client interface

* coordinator: adapt to new prover batch execution client interface

* coordinator: remove unnecessary prover client code

* coordinator: naming consistency

* Coordinator prover client v2 routing (#3872)

* coordinator: support for multi-prover

* coordinator: prover client inprove request reuse

* coordinator: small code readability improvement

* coordinator: small code readability improvement

* coordinator: small classes and comment renaming

* improve error handling in app stop

* remove duplicated default argument

* fix typo

* update coordinator image tag

* fix typo and add test assertion

* fix comment

* fix merge on BlobCompressionProofCoordinatorTest
@jpnovais jpnovais merged commit dfb10dd into main Sep 11, 2024
20 of 26 checks passed
@jpnovais jpnovais deleted the code-sync branch September 11, 2024 13:12
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.