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

Optimize SMT #486

Closed
wants to merge 384 commits into from
Closed
Changes from all commits
Commits
Show all changes
384 commits
Select commit Hold shift + click to select a range
9217e69
Merge branch 'develop' of https://github.com/0xPolygonHermez/zkevm-pr…
eduadiez May 19, 2023
9324bde
Merge pull request #417 from 0xPolygonHermez/fflonkUpdate
eduadiez May 19, 2023
e9e7a33
Config option to limit the number of aggregator client streams
fractasy May 22, 2023
a467ff6
Fix aggregator client max streams condition
fractasy May 22, 2023
43a2b2d
Exit without showing call trace in aggregator client
fractasy May 22, 2023
819d64c
Merge pull request #421 from 0xPolygonHermez/fractasy/prover_e2e_test…
fractasy May 22, 2023
098037b
Merge remote-tracking branch 'origin/develop' into hash_db
fractasy May 22, 2023
f408bb7
Merge pull request #412 from 0xPolygonHermez/hash_db
fractasy May 22, 2023
da61f9d
Minor changes to eval_command.cpp
fractasy May 22, 2023
00d7d15
Merge pull request #422 from 0xPolygonHermez/hash_db
fractasy May 22, 2023
6c03ce7
Merge remote-tracking branch 'origin/develop' into fork_5
fractasy May 22, 2023
7ca0657
Merge from develop
fractasy May 22, 2023
68d6faf
add fork_5 files
eduadiez May 23, 2023
722f8a3
Merge pull request #414 from 0xPolygonHermez/fork_5
fractasy May 23, 2023
ecae0df
Fix full tracer fix from release 1.1.3 branch
fractasy May 23, 2023
f667471
Merge pull request #423 from 0xPolygonHermez/fractasy/port_full_trace…
fractasy May 23, 2023
7a86f9f
Fix prevStep in FullTracer::onOpcode()
fractasy May 23, 2023
c673605
Merge pull request #424 from 0xPolygonHermez/fractasy/port_full_trace…
fractasy May 23, 2023
70a3de0
Optimizing threads for calculate witness
RogerTaule May 24, 2023
4fb2ca0
Fix memory leaks
RogerTaule May 24, 2023
b0ae34a
Repaired inconsistency in Build Const Tree
rickb80 May 25, 2023
bddd087
First version of multi write sending only last state
fractasy May 25, 2023
d22972c
Delete unused node hashes
fractasy May 29, 2023
d8d4fc0
SMT refactor hashSaveZero() and hashSaveOne()
fractasy May 29, 2023
07610f9
Create Database::saveStateRoot()
fractasy May 30, 2023
277e081
Merge pull request #425 from 0xPolygonHermez/build_const_tree
eduadiez May 30, 2023
fcc9ceb
Removing batch from linearHash
RogerTaule May 27, 2023
85f4ed3
Remove update from Database and HashDB
fractasy May 30, 2023
f697188
add fork 5 rom to docker image
eduadiez May 30, 2023
813b436
Merge pull request #429 from 0xPolygonHermez/fix/docker_fork_5
eduadiez May 30, 2023
d668c97
Add HashDB.SemiFlush()
fractasy May 30, 2023
a2b56de
Merge remote-tracking branch 'origin/develop' into fractasy/hash_db_w…
fractasy May 30, 2023
03b06d8
Init 2 variables in Database::sendData()
fractasy May 30, 2023
cc5fb34
Add multiWrite.Lock() to Database:dbSenderThread()
fractasy May 30, 2023
821d353
Fix program insertion in Database::sendData() query
fractasy May 31, 2023
9fe1f7d
Call ctx.pHashDB->semiFlush() from FullTracer::onFinishTx(), in all f…
fractasy May 31, 2023
0fd4f88
Remove config.dbMultiWriteSinglehash
fractasy May 31, 2023
28d623c
Merge pull request #430 from 0xPolygonHermez/fractasy/hash_db_write_o…
fractasy May 31, 2023
4f13f6e
Port contract.gas FullTracer fixes from JS
fractasy May 31, 2023
c3198af
Add contract.type to executor.proto response data
fractasy Jun 1, 2023
67d7bad
Merge pull request #431 from 0xPolygonHermez/fractasy/full_tracer_fix…
fractasy Jun 1, 2023
c324406
Cache last EC points addition result
fractasy Jun 1, 2023
dbf3b26
Merge pull request #432 from 0xPolygonHermez/fractasy/full_tracer_fix…
fractasy Jun 1, 2023
f63833e
Added address as oputput of ecrecover
rickb80 Jun 3, 2023
5cc2d38
First test passed
rickb80 Jun 6, 2023
d979b5f
New executor.proto: external request ID, effective gas price. Fix ST…
fractasy Jun 6, 2023
9102340
Merge pull request #433 from 0xPolygonHermez/fractasy/effective_gas_p…
fractasy Jun 6, 2023
62fc87b
When exitProces() notify the rest of threads, not to start new activi…
fractasy Jun 6, 2023
24d8807
All test passing
rickb80 Jun 6, 2023
9d7b2d8
Report evaluation counter in main SM executor logError method
fractasy Jun 6, 2023
3178796
Merge pull request #434 from 0xPolygonHermez/fractasy/exit_process_sy…
fractasy Jun 6, 2023
6f61c41
Merge pull request #435 from 0xPolygonHermez/fractasy/repot_step_in_m…
fractasy Jun 6, 2023
79af400
Merge pull request #428 from 0xPolygonHermez/calcWitOptimization
eduadiez Jun 6, 2023
fd0bbe0
Merge pull request #427 from 0xPolygonHermez/linearHashNoBatch
eduadiez Jun 6, 2023
482ca3b
Added benchmark
rickb80 Jun 7, 2023
7acbf70
Create prover_e2e.yml GHA for CI
eduadiez Jun 7, 2023
f9b4aad
Merge pull request #436 from 0xPolygonHermez/eduadiez/gha-e2e-test
eduadiez Jun 7, 2023
c3d079a
add v2.0.0-RC1-fork.5 files
eduadiez Jun 7, 2023
de0372e
change self hosted machine
eduadiez Jun 7, 2023
5bc1a14
Rename variables
rickb80 Jun 7, 2023
19e30fb
First, draft implementation of C Executor
fractasy Jun 7, 2023
90de433
Merge remote-tracking branch 'origin/develop' into fractasy/c_executor_1
fractasy Jun 7, 2023
8fd3821
add exit 0 to Control the number of streams does not exceed the maximum
eduadiez Jun 7, 2023
090d34d
Fix aggregator service get final proof
fractasy Jun 7, 2023
4486ef6
Return ZKR_DB_ERROR in Database::readRemote() catch
fractasy Jun 7, 2023
32780c6
Merge pull request #438 from 0xPolygonHermez/fractasy/fix_aggregator_…
fractasy Jun 7, 2023
339c593
Merge remote-tracking branch 'origin/develop' into fractasy/c_executor_1
fractasy Jun 7, 2023
ad92459
Merge remote-tracking branch 'origin/develop' into edu/v2.0.0-RC1-fork.5
eduadiez Jun 7, 2023
4f8d03a
add snarkjs to prover_e2e.yml test
eduadiez Jun 7, 2023
3d52a50
remove sleep
eduadiez Jun 7, 2023
7c40803
add sleep again
eduadiez Jun 7, 2023
bbfb661
Fix aggregator service get final proof request ID
fractasy Jun 7, 2023
6121614
Merge pull request #439 from 0xPolygonHermez/fractasy/fix_aggregator_…
fractasy Jun 7, 2023
d832ca0
Merge remote-tracking branch 'origin/develop' into edu/v2.0.0-RC1-fork.5
eduadiez Jun 7, 2023
80091bd
remove sleep
eduadiez Jun 7, 2023
d37372c
add remove old proofs to e2e CI GHA
eduadiez Jun 7, 2023
07b289a
Merge pull request #437 from 0xPolygonHermez/edu/v2.0.0-RC1-fork.5
eduadiez Jun 7, 2023
dbd7a13
Port release 1.1.5 fixes to develop
fractasy Jun 8, 2023
81f691f
Delete unnecessary files from fork 5 main state machine
fractasy Jun 8, 2023
2eef0f0
Added operation with Jacobian coordinates
rickb80 Jun 8, 2023
d70ea9d
improved sqrt, eliminated Tonelli
rickb80 Jun 8, 2023
bfb4013
Read all ROM constants for CExecutor
fractasy Jun 8, 2023
25241d1
Add checking of the Sqr result
rickb80 Jun 8, 2023
81820da
Merge pull request #440 from 0xPolygonHermez/fractasy/port_release_1.…
fractasy Jun 9, 2023
be7b65a
Merge pull request #441 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jun 9, 2023
94c9c34
new v2.0.0-RC1-fork.5 files
eduadiez Jun 9, 2023
b57015c
First version of unit test; set runUnitTest=true to activate
fractasy Jun 9, 2023
138c465
Merge pull request #444 from 0xPolygonHermez/fractasy/unit_test
fractasy Jun 9, 2023
417e826
Avoid intermediate copies
rickb80 Jun 11, 2023
4ee93b3
Reduce code
rickb80 Jun 11, 2023
5cc0a2d
Batching coefficient bits.
rickb80 Jun 12, 2023
1a32aae
Encode FullTracer trace to save space
fractasy Jun 12, 2023
b1aaeb6
Update fork 5 FullTracer onUpdateStorage to remove zeros
fractasy Jun 12, 2023
e33d9b8
Remove branch from docker file
fractasy Jun 12, 2023
049e1b9
Fix FullTracer log index
fractasy Jun 12, 2023
31b4608
Merge pull request #443 from 0xPolygonHermez/new_v2.0.0-RC1-fork.5
fractasy Jun 12, 2023
4ccd6f4
Merge remote-tracking branch 'origin/develop' into fractasy/trace_enc…
fractasy Jun 12, 2023
427f0c2
Minor optimizations
rickb80 Jun 13, 2023
2ab91a9
Create GetStringIncrementTest and call it from unit test
fractasy Jun 13, 2023
c33d8b4
Preevaluation for the AddPointEc
rickb80 Jun 13, 2023
c439134
Cleaned code
rickb80 Jun 13, 2023
e2980d3
Merge pull request #445 from 0xPolygonHermez/fractasy/trace_encoder
fractasy Jun 13, 2023
4f89bfe
Code cleaned...
rickb80 Jun 13, 2023
e73d8a9
Merge branch 'rick/c_ecrecover' of https://github.com/0xPolygonHermez…
rickb80 Jun 13, 2023
a8bbc5d
Merge remote-tracking branch 'origin/develop' into rick/c_ecrecover
rickb80 Jun 13, 2023
68fe749
Mv ecrecover to src
rickb80 Jun 13, 2023
f4e0cf4
RLP decode. Batch decode.
fractasy Jun 15, 2023
8331bb1
Ecrecover saving partial results
rickb80 Jun 15, 2023
92220c8
Delete ROM-based code. Improve file distribution of batch decoder.
fractasy Jun 16, 2023
12e23eb
Sqrt without tonelli
rickb80 Jun 19, 2023
077000a
Fix logs order. Merge huge TX fixes from release.
fractasy Jun 20, 2023
cecdb5f
Merge pull request #451 from 0xPolygonHermez/fractasy_merge_huge_tx_c…
fractasy Jun 20, 2023
9fad1c9
Fix OOC errors while no_counters=1 has been requested
fractasy Jun 20, 2023
0e66e27
Don't check counters if no_counters
fractasy Jun 20, 2023
d60035e
Merge pull request #453 from 0xPolygonHermez/fractasy_port_fix_no_cou…
fractasy Jun 21, 2023
85ff1ac
Delete ctx.outLogs, unused
fractasy Jun 21, 2023
2742299
Merge pull request #454 from 0xPolygonHermez/fractasy_delete_ctx_outLogs
fractasy Jun 21, 2023
4f2741c
Database cache memory leak fix, and unit test
fractasy Jun 21, 2023
fe9b07d
Merge pull request #455 from 0xPolygonHermez/fractasy_database_cache_…
fractasy Jun 21, 2023
53f4ceb
Merge remote-tracking branch 'origin/develop' into fractasy/c_executor_1
fractasy Jun 21, 2023
4cca6c0
Merge pull request #449 from 0xPolygonHermez/rick/srt-no-tonelli
fractasy Jun 21, 2023
4d8be3d
C executor txHash and signHash implementation
fractasy Jun 21, 2023
6f95e56
Merge pull request #456 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jun 21, 2023
b4be7e5
Added address as oputput of ecrecover
rickb80 Jun 3, 2023
3e94c32
First test passed
rickb80 Jun 6, 2023
e6812da
All test passing
rickb80 Jun 6, 2023
03a0a9b
Added benchmark
rickb80 Jun 7, 2023
c3b162b
Rename variables
rickb80 Jun 7, 2023
d8179c7
Added operation with Jacobian coordinates
rickb80 Jun 8, 2023
fb1ecde
improved sqrt, eliminated Tonelli
rickb80 Jun 8, 2023
90fcb89
Add checking of the Sqr result
rickb80 Jun 8, 2023
f4a6b2a
Avoid intermediate copies
rickb80 Jun 11, 2023
582b9e3
Reduce code
rickb80 Jun 11, 2023
e65755e
Batching coefficient bits.
rickb80 Jun 12, 2023
9ba26bf
Minor optimizations
rickb80 Jun 13, 2023
de29b05
Preevaluation for the AddPointEc
rickb80 Jun 13, 2023
553bcc8
Code cleaned...
rickb80 Jun 13, 2023
fdb4052
Mv ecrecover to src
rickb80 Jun 13, 2023
112b1df
Ecrecover saving partial results
rickb80 Jun 15, 2023
ac86875
Optimizing Jacobian operations for case z2=1
rickb80 Jun 21, 2023
85ba943
Conclude merge
rickb80 Jun 22, 2023
7265bc1
Merge remote-tracking branch 'origin/develop' into rick/c_ecrecover
rickb80 Jun 22, 2023
6050cb1
Implement Account::GetBalance()
fractasy Jun 22, 2023
8bc4578
Merge pull request #457 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jun 22, 2023
011a0bd
mulPointEcJacobian1bit_save and _assert
rickb80 Jun 23, 2023
6256e35
Merge remote-tracking branch 'origin/develop' into rick/c_ecrecover
rickb80 Jun 23, 2023
2123b17
Shared sqrtF3mod4 function
rickb80 Jun 23, 2023
4632112
Add nonce check and upcate to C-Executor
fractasy Jun 25, 2023
7fa25da
Generate zeroKey only once
fractasy Jun 25, 2023
3764471
Add comment
fractasy Jun 25, 2023
024684a
Merge pull request #460 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jun 26, 2023
60eb894
Merge remote-tracking branch 'origin/develop' into rick/c_ecrecover
rickb80 Jun 26, 2023
595d21a
Add ECRecover call into main_exec_c.cpp
rickb80 Jun 26, 2023
92763b0
Added ECRecover_precalc
rickb80 Jun 27, 2023
9d3a69c
Integrated ECRecover_precal into the main_executor
rickb80 Jun 27, 2023
a9dac5d
check if pEntry is null
sjoshi10 Jun 27, 2023
6178d81
add code for ipv6
sjoshi10 Jun 27, 2023
8d62bec
remove space
sjoshi10 Jun 27, 2023
bd79a0c
fix NormalizeToNFormat on fork.5 for singleInfo.contract.caller
eduadiez Jun 28, 2023
9aa8091
fix depth in full_tracer fork.5
eduadiez Jun 28, 2023
2bcbc89
revert NormalizeTo0xNFormat change
eduadiez Jun 28, 2023
feb02fb
Merge pull request #463 from 0xPolygonHermez/edu/fix_depth_fork.5
eduadiez Jun 28, 2023
75554c7
Fix TXData.signHash() by storing RLP data with length
fractasy Jun 29, 2023
277103c
Merge pull request #464 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jun 29, 2023
9ef7cd3
Integration optimized ECRecover in main_generator
rickb80 Jun 29, 2023
75d40ed
Merge remote-tracking branch 'origin/develop' into rick/c_ecrecover
rickb80 Jun 29, 2023
3e68751
Fix DELEGATECALL format
fractasy Jun 29, 2023
763aa3a
Dinamic configure of ECRecoverPrecalc
rickb80 Jun 29, 2023
72f0cdd
Merge pull request #466 from 0xPolygonHermez/fractasy_fix_deletagecal…
fractasy Jun 29, 2023
49636dc
Chech cRecoverPrecalcBuffer before usage in AddPointEc
rickb80 Jun 29, 2023
32b5f67
Threads to use in ECRecoverPrecalc configurable
rickb80 Jun 29, 2023
445992e
Debugging...
rickb80 Jun 29, 2023
5dee0f4
ECRecoverPrecalc bug repaired in main_generator
rickb80 Jun 30, 2023
28d2963
Merge pull request #465 from 0xPolygonHermez/rick/c_ecrecover
rickb80 Jul 1, 2023
14ef84a
Add time metrics to C Executor
fractasy Jul 2, 2023
0c8dd5d
Merge from develop
fractasy Jul 2, 2023
a3a7a19
Merge pull request #467 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jul 2, 2023
2497a08
substitute performane testvectors
rickb80 Jul 3, 2023
ad63318
Add LOG_SMT_KEY_DETAILS
fractasy Jul 4, 2023
513af87
Merge pull request #470 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jul 4, 2023
a5941f8
Optimize splitkey
rickb80 Jul 5, 2023
7016214
remove pentry null
sjoshi10 Jul 5, 2023
09554ea
Fix logs to follow a sequential index
fractasy Jul 6, 2023
79887dc
Process 1 tx batches in C-Executor, matching new state root
fractasy Jul 7, 2023
b8d863e
Merge pull request #473 from 0xPolygonHermez/fractasy_fix_log_index_s…
fractasy Jul 7, 2023
b554818
Merge pull request #469 from 0xPolygonHermez/new_testvectors
fractasy Jul 7, 2023
d1370b4
Merge remote-tracking branch 'origin/develop' into fractasy/c_executor_1
fractasy Jul 7, 2023
5761a2c
Merge remote-tracking branch 'origin/develop' into fractasy/c_executor_1
fractasy Jul 7, 2023
eaaea6c
Optimize scalar2bytesBE() to avoid data copy
fractasy Jul 7, 2023
30ab5ae
Fix multi-tx batch execution in C-Executor
fractasy Jul 7, 2023
ed07d37
Merge pull request #474 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jul 7, 2023
78dffb7
change version
eduadiez Jul 7, 2023
7693f42
change version
eduadiez Jul 7, 2023
4823b2b
Merge pull request #462 from sjoshi10/patch-check-null
eduadiez Jul 7, 2023
ce96473
Avoid key copies in C-Executor
fractasy Jul 7, 2023
6209fe1
Generate Account zero key only once
fractasy Jul 7, 2023
a42a145
Merge remote-tracking branch 'origin/develop' into optimize_hashdb
rickb80 Jul 8, 2023
82dbb5f
Reuse sequencer account. Call ECRecover in parallel.
fractasy Jul 8, 2023
a038188
Merge pull request #476 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jul 8, 2023
a0b561b
Merge remote-tracking branch 'origin/develop' into optimize_hashdb
rickb80 Jul 9, 2023
60a7faa
Fix nthreads for paral.lel ecrecover
rickb80 Jul 9, 2023
2e48a9d
Associative cache version 0
rickb80 Jul 10, 2023
0fecd0f
Link to optimized goldilocks
rickb80 Jul 10, 2023
5a4ab5b
First, basic integration of CExecutor with FullTracer
fractasy Jul 11, 2023
ac44c40
Merge pull request #477 from 0xPolygonHermez/fractasy/c_executor_1
fractasy Jul 11, 2023
76a8183
First version associative cache working
rickb80 Jul 13, 2023
dfebd7d
Eliminate size of associative cache record
rickb80 Jul 13, 2023
6a445b9
keys as a bool of strings
rickb80 Jul 13, 2023
4a4cbc9
Create config.dbReadRetryCounter, default to 5 mins
fractasy Jul 13, 2023
2ef5186
Merge pull request #478 from 0xPolygonHermez/fractasy_create_config_d…
fractasy Jul 13, 2023
771b73d
Log input json, deleted nodes, and inserted data
fractasy Jul 14, 2023
6231b61
Intermediate version
rickb80 Jul 15, 2023
449c9b6
Add numeric key
rickb80 Jul 15, 2023
c22910e
Working non-clean version
rickb80 Jul 15, 2023
c8e6575
No restrictions in cache size...
rickb80 Jul 16, 2023
be4b2e6
Copy of associative cache code...
rickb80 Jul 16, 2023
2a8a6f8
New cache version working...
rickb80 Jul 16, 2023
1d19df0
Optimize smt::get, less strings
rickb80 Jul 16, 2023
c586a4a
Reduce string normalization...
rickb80 Jul 16, 2023
7bb46c3
Reduction of conversion...
rickb80 Jul 17, 2023
f67b1e6
Add more traces to solve the missing hash mistery
fractasy Jul 18, 2023
7ce8acf
Change version to v2.0.0-RC5-verbose.2
fractasy Jul 18, 2023
bdfdaec
Call multiWrite.acceptIntray() from Database::senderThread() to rescu…
fractasy Jul 18, 2023
f18b769
Disable traces
fractasy Jul 18, 2023
48b5a8f
Change version to v2.0.0-RC5-verbose.4
fractasy Jul 18, 2023
0d9408f
Disable executor service input.json trace
fractasy Jul 18, 2023
d93d552
Disable Input.bUpdateMerkleTree by default, so that Prover.genBatchPr…
fractasy Jul 18, 2023
e71a653
Integrate HashDBTest into UnitTest
fractasy Jul 19, 2023
300f71b
Fix Database to search not only in cache, but also in multiWrite data…
fractasy Jul 19, 2023
059b3e6
Merge pull request #479 from 0xPolygonHermez/release_v2.0.0-RC5-verbose
fractasy Jul 19, 2023
e8c5743
Change version to v2.0.0-RC6
fractasy Jul 19, 2023
79d37bf
Merge branch 'develop' of github.com:0xPolygonHermez/zkevm-prover int…
fractasy Jul 19, 2023
b3ee894
Update state root instead of inserting
fractasy Jul 20, 2023
2e3bd21
Use UPDATE in state root queries
fractasy Jul 20, 2023
5192efa
Merge pull request #480 from 0xPolygonHermez/fractasy_update_state_ro…
fractasy Jul 20, 2023
63977ae
Change version to v2.0.0-RC7
fractasy Jul 20, 2023
6503789
Change version to v2.0.0
fractasy Jul 20, 2023
b6682af
New invalid RLP ROM error support
fractasy Jul 20, 2023
f154ef1
Merge pull request #481 from 0xPolygonHermez/fractasy_new_invalid_rlp…
fractasy Jul 20, 2023
ff3f2f1
Merge with develop
rickb80 Jul 21, 2023
ce68f20
Database tests compilation...
rickb80 Jul 21, 2023
cff664b
Fix ECRecover for case posUsed=-1 in native main executor code
fractasy Jul 21, 2023
236a70a
Merge pull request #482 from 0xPolygonHermez/fractasy_fix_ecrecover_r…
fractasy Jul 21, 2023
e5eb16d
New version of the cache...
rickb80 Jul 22, 2023
4fdf803
New associative cache
rickb80 Jul 26, 2023
60a1b62
Collision problem solved
rickb80 Jul 27, 2023
83dd086
DatabaseMTAssociativeCache2 is not a template
rickb80 Jul 27, 2023
4dc8220
No default value for update in addKeyValue
rickb80 Jul 27, 2023
b0b87c0
Merge remote-tracking branch 'origin/develop' into optimize_hashdb
rickb80 Jul 27, 2023
4486b29
Corner case in findKey DatabaseMTAssociativeCache2
rickb80 Jul 27, 2023

Sorry, this diff is taking too long to generate.

It may be too large to display on GitHub.