Skip to content

Commit

Permalink
Merge release v2.0.1-hotfix.1 into main (#492)
Browse files Browse the repository at this point in the history
* Port last opcode fix from fork 4 to forks 3, 2, 1

* Remove unused bOpcodeCalled from FullTracer

* Fix last bug in FullTracer

* Fork 5 infrastructure

* Generalizing prover

* Adding new rapidSnark and ffiasm files for FFlonk optimizations

* Change version to v1.1.2-RC2-fork.4

* Deleting a pointer inside the destructor

* Protect grpc input from invalid values

* update goldilocks

* disable avx512 compilation

* Check hash db service parameters

* Fix missing line in security fixes

* Config option to limit the number of aggregator client streams

* Fix aggregator client max streams condition

* Exit without showing call trace in aggregator client

* Minor changes to eval_command.cpp

* Merge from develop

* add fork_5 files

* Fix full tracer fix from release 1.1.3 branch

* Fix prevStep in FullTracer::onOpcode()

* Optimizing threads for calculate witness

* Fix memory leaks

* Repaired inconsistency in Build Const Tree

* First version of multi write sending only last state

* Delete unused node hashes

* SMT refactor hashSaveZero() and hashSaveOne()

* Create Database::saveStateRoot()

* Removing batch from linearHash

* Remove update from Database and HashDB

* add fork 5 rom to docker image

* Add HashDB.SemiFlush()

* Init 2 variables in Database::sendData()

* Add multiWrite.Lock() to Database:dbSenderThread()

* Fix program insertion in Database::sendData() query

* Call ctx.pHashDB->semiFlush() from FullTracer::onFinishTx(), in all forks

* Remove config.dbMultiWriteSinglehash

* Port contract.gas FullTracer fixes from JS

* Add contract.type to executor.proto response data

* Cache last EC points addition result

* Added address as oputput of ecrecover

* First test passed

* New executor.proto: external request ID, effective gas price.  Fix STOP missing opcode.

* When exitProces() notify the rest of threads, not to start new activities

* All test passing

* Report evaluation counter in main SM executor logError method

* Added benchmark

* Create prover_e2e.yml GHA for CI

* add v2.0.0-RC1-fork.5 files

* change self hosted machine

* Rename variables

* First, draft implementation of C Executor

* add exit 0 to Control the number of streams does not exceed the maximum

* Fix aggregator service get final proof

* Return ZKR_DB_ERROR in Database::readRemote() catch

* add snarkjs to prover_e2e.yml test

* remove sleep

* add sleep again

* Fix aggregator service get final proof request ID

* remove sleep

* add remove old proofs to e2e CI GHA

* Port release 1.1.5 fixes to develop

* Delete unnecessary files from fork 5 main state machine

* Added operation with Jacobian coordinates

* improved sqrt, eliminated Tonelli

* Read all ROM constants for CExecutor

* Add checking of the Sqr result

* new v2.0.0-RC1-fork.5 files

* First version of unit test; set runUnitTest=true to activate

* Avoid intermediate copies

* Reduce code

* Batching coefficient bits.

* Encode FullTracer trace to save space

* Update fork 5 FullTracer onUpdateStorage to remove zeros

* Remove branch from docker file

* Fix FullTracer log index

* Minor optimizations

* Create GetStringIncrementTest and call it from unit test

* Preevaluation for the AddPointEc

* Cleaned code

* Code cleaned...

* Mv ecrecover to src

* RLP decode.  Batch decode.

* Ecrecover saving partial results

* Delete ROM-based code.  Improve file distribution of batch decoder.

* Sqrt without tonelli

* Fix logs order.  Merge huge TX fixes from release.

* Fix OOC errors while no_counters=1 has been requested

* Don't check counters if no_counters

* Delete ctx.outLogs, unused

* Database cache memory leak fix, and unit test

* C executor txHash and signHash implementation

* Added address as oputput of ecrecover

* First test passed

* All test passing

* Added benchmark

* Rename variables

* Added operation with Jacobian coordinates

* improved sqrt, eliminated Tonelli

* Add checking of the Sqr result

* Avoid intermediate copies

* Reduce code

* Batching coefficient bits.

* Minor optimizations

* Preevaluation for the AddPointEc

* Code cleaned...

* Mv ecrecover to src

* Ecrecover saving partial results

* Optimizing Jacobian operations for case z2=1

* Implement Account::GetBalance()

* mulPointEcJacobian1bit_save and _assert

* Shared sqrtF3mod4 function

* Add nonce check and upcate to C-Executor

* Generate zeroKey only once

* Add comment

* Add ECRecover call into main_exec_c.cpp

* Added ECRecover_precalc

* Integrated ECRecover_precal into the main_executor

* check if pEntry is null

* add code for ipv6

* remove space

* fix NormalizeToNFormat on fork.5 for singleInfo.contract.caller

* fix depth in full_tracer fork.5

* revert NormalizeTo0xNFormat change

* Fix TXData.signHash() by storing RLP data with length

* Integration optimized ECRecover in main_generator

* Fix DELEGATECALL format

* Dinamic configure of ECRecoverPrecalc

* Chech cRecoverPrecalcBuffer  before usage in AddPointEc

* Threads to use in ECRecoverPrecalc configurable

* Debugging...

* ECRecoverPrecalc bug repaired in main_generator

* Add time metrics to C Executor

* substitute performane testvectors

* Add LOG_SMT_KEY_DETAILS

* remove pentry null

* Fix logs to follow a sequential index

* Process 1 tx batches in C-Executor, matching new state root

* Optimize scalar2bytesBE() to avoid data copy

* Fix multi-tx batch execution in C-Executor

* change version

* change version

* Avoid key copies in C-Executor

* Generate Account zero key only once

* Reuse sequencer account.  Call ECRecover in parallel.

* First, basic integration of CExecutor with FullTracer

* Create config.dbReadRetryCounter, default to 5 mins

* Log input json, deleted nodes, and inserted data

* Add more traces to solve the missing hash mistery

* Change version to v2.0.0-RC5-verbose.2

* Call multiWrite.acceptIntray() from Database::senderThread() to rescue the hashes from nodesIntray/programIntray.  Change version to v2.0.0-RC5-verbose.3

* Disable traces

* Change version to v2.0.0-RC5-verbose.4

* Disable executor service input.json trace

* Disable Input.bUpdateMerkleTree by default, so that Prover.genBatchProof() does not write data in Database

* Integrate HashDBTest into UnitTest

* Fix Database to search not only in cache, but also in multiWrite data.  Fix DatabaseCache to clear dataSize when reset.

* Change version to v2.0.0-RC6

* Update state root instead of inserting

* Use UPDATE in state root queries

* Change version to v2.0.0-RC7

* Change version to v2.0.0

* New invalid RLP ROM error support

* Fix ECRecover for case posUsed=-1 in native main executor code

* Change version to v2.0.1-RC1

* Change version to v2.0.1

* Fix memory

* Change version to v2.0.1-hotfix.1

---------

Co-authored-by: RogerTaule <roger.taulee@gmail.com>
Co-authored-by: Eduardo Antuña Díez <20141918+eduadiez@users.noreply.github.com>
Co-authored-by: Eduardo Antuña <eduadiez@gmail.com>
Co-authored-by: Ricard Borrell <75077385+rickb80@users.noreply.github.com>
Co-authored-by: sjoshi10 <saurabjdc@gmail.com>
  • Loading branch information
6 people authored Jul 31, 2023
1 parent 03477c1 commit 6933f41

Sorry, this diff is taking too long to generate.

It may be too large to display on GitHub.

0 comments on commit 6933f41

Please sign in to comment.