This repository has been archived by the owner on Jul 5, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 857
Cleanup TLOAD/TSTORE #1813
Closed
z2trillion
wants to merge
692
commits into
privacy-scaling-explorations:main
from
scroll-tech:fix/cleanup
Closed
Cleanup TLOAD/TSTORE #1813
z2trillion
wants to merge
692
commits into
privacy-scaling-explorations:main
from
scroll-tech:fix/cleanup
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* fix returndata * fix returndata; update evm test vector
* more strict check on Account Rw * fix
* induce l2 types for l2trace * add l2trace entry * wip: some refactoring * refactor zktrie for decoupling from bus-mapping * more refactoring in zktrie * wip: l2 circuit builder * use l2 trace in super circuit test * prune unnecessary sign * fmt and lint * missed exportion * update l2geth util for l1 queue index * apply zktrie and storage proof * sdb skip empty value * update state root in tracing * more update for state root * fix tests * lints * lint for all-target * fix memory transfer * fmt * disable callee code assert for precompile * set all difficulity in l2 test to 0 * reroll the difficulity setting in test apply global difficulity to 0 for l2 * fix deploy tx issue and prune l2geth_util * revert incorrect fixing * disable doc test temporarily * add incremental update for l2 trace entry in circuitbuilder * zero coinbase patch for sdb * rename variables for better self-doc * re-enable tx storage fiield * add modexp unittest * turn ec test to serial * bump the version of l2geth_util * make l1 queue index default * fix an issue in sdb update add an entry for convenient * mpt_state: add light_mode for ZktrieState::from_trace_with_additional --------- Co-authored-by: Zhang Zhuo <[email protected]>
* scroll mode for testool * run.sh ok * fix base fee for scroll l2 evm * fix build * fix ci * testool: skip large balance * lint * lint
* default: 97.6 * 98.6 * 98.9% * 99.0% * create gadget: disable reading callee codehash if !pre_check_ok * fix base fee * solved all * fixed finally? * ... * done
* respect tx_num limit in ccc * lint
* fix CallContextField::GasLeft * lint
…alid Inputs" and "Insufficient Gas" (#811) * wip: preliminary work (EcAdd) * wip: refactoring ecc circuit and ecaddop * wip: prelim work for EcMul * wip: ecmul decompose and more tests * wip: some more changes in EcAdd and EcMul gadgets (evm cir) * fix: refactor is_zero to avoid enforce < p * chore: add back traces * chore: update cargo lock * chore: refactor AND to AND many * wip: ecpairing in ecc ciruit * fix: ecpairing ecc circuit debugged * feat: invalid len(input) handling in ecpairing gadget * assignment to ecpairing cells, tests OK * is_valid todo complete * minor refactor * add invalid test for ec add * chore: clippy fix * fix: precompile failed (ecXX) through individual gadgets * Feat: enforce gas_cost for precompiles called with invalid inputs (#827) * enforce gas_cost for ec_add * enforce gas_cost for ec_mul * enforce gas_cost for ec_pairing * fix: test case generation random G2 coeffs * chore: refactor unnecessary cell being returned * enforce gas_cost for modexp * remove tests for gadget that wont be used * tests: invalid cases for ecpairing * fix: input cells (pairing) for RLC --------- Co-authored-by: Rohit Narurkar <[email protected]> * gas costs for ecrecover and identity * chore: fmt fix * upgrade halo2-lib * variadic size tests with valid/invalid inputs --------- Co-authored-by: kunxian xia <[email protected]> Co-authored-by: Zhang Zhuo <[email protected]>
* bash testool/run.sh * remove outdated zero_coinbase_exist hack * fix
…bus-mapping (#830) * tag modexp circuit * try fix native reminder * fix divmod * update MODEXPCONFIG_EACH_CHIP_ROWS * fix fmt * update assert_eq and refactor tests * fix test: enlarge keccak rows * add invalid input testcase in modexp * fix sub with overflow if modexp input bytes len greater than 192 --------- Co-authored-by: DreamWuGit <[email protected]> Co-authored-by: kunxian xia <[email protected]>
* testool: support test with subcircuit * allow use full scroll trace in CircuitTestBuilder * fix modexp row usage
* testool: enable all precompile tests * Update Config.toml
* fix: swap only if both G1, G2 are 0s from EVM * tests: would have caught the bug
* Fix EXTCODECOPY with empty account (#1429) We treat empty accounts by storing their code_hash in the RwTable as 0. EXTCODECOPY was obtaining the bytecode length by querying the bytecode table with code_hash=0 on existing accounts, but that entry should be invalid (there's no bytecode with code_hash=0). Skip the bytecode table length lookup when code_hash=0. I've also reintroduced the `Block::debug_print_txs_steps_rw_ops` function, updated to use the new `Block::get_rws` API. This function is not used in the code, but it's very convenient to call it when debugging. Resolve privacy-scaling-explorations#1190 - [x] Bug fix (non-breaking change which fixes an issue) * fix --------- Co-authored-by: Eduard S <[email protected]>
Co-authored-by: Zhang Zhuo <[email protected]>
* n_padded_zeroes < 192 * clippy --------- Co-authored-by: Rohit Narurkar <[email protected]>
* test: reproduce err * fix: differentiate between normal and precompile calls * tests: more non-zero value cases * add comments --------- Co-authored-by: Zhang Zhuo <[email protected]>
* fix-exp-is-last: enforce the secure termination of Exp circuit * fix-exp-is-last: clarify is_final_step * Simplify exp lookup (#838) * simplify-exp-lookup: remove unnecessary Exp lookup * simplify-exp-lookup: Remove identifier and is_last from Exp lookup * simplify-exp-lookup: Remove identifier from the Exp circuit --------- Co-authored-by: Aurélien Nicolas <[email protected]> --------- Co-authored-by: Aurélien Nicolas <[email protected]> Co-authored-by: z2trillion <[email protected]>
* Update l1geth * trigger ci? * bump go version * Update ci.yml * Update scroll-tech/go-ethereum * bump go version * remove toolchain * register structLogTracer at init * Upgrade to go 1.21 and go mod tidy * ignore test in default case for now * undo change * fix callTrace --------- Co-authored-by: Mason Liang <[email protected]> Co-authored-by: Zhang Zhuo <[email protected]> Co-authored-by: lightsing <[email protected]>
* add tx gas price check * constrain effective_gas_price * increase width & bytes for lookup as more were required * clippy fix * increase STEP_WIDTH again for scroll feature * set tx gas price in test * enable more 1559 tests * correct effective gas * restore two tests * remove used comment * add missing constraint * remove gas price as it's set in mock block * add comment & rename * rename --------- Co-authored-by: Zhang Zhuo <[email protected]>
* assert call trace length * handle l1 geth change * ignore unknown error * log warn when unknown
* wip * update codehash * done * ok * Reapply "feat: enable basefee opcode" This reverts commit 4ba4f60. * fix * remove shanghai * lint * enable cancun and shanghai for l1 tracer * fix 1559 * done
* Correct typo * Correct RLC * Change tag column status * Add tx_nonce consistency * Remove vestige gadget * Add v constraint for 1559/2930 * Constrain depth consistency for fsm state transition * Correct q_first query for initial num_all_txs_acc condition * Ensure continuity of sectional flag is_calldata and is_access_list * Remove tx unchanged constraint for dynamic sectional transition * Add tx_id constraints in dynamic section * Constrain access list tx table fields according to AccessListAddressLen * Constrain is_padding_tx * Add constraint for id calculation in rlp_decoding_table * Remove redundant boolean requirements * Add init condition for access_list_idx and storage_key_idx * Turn on value_is_zero for access list len * Remove whitespace * Add byte_idx to PUSH/POP lookup correspondence * fmt * Update cargo * Resolve build issues * fmt and clippy * Recover tests * Correct gate name * Remove debug flags * fmt * cargo * Revert ethers-core branch * cargo * Restrict booleans * fmt * Audit Fixes EIP2930/1559 RLP Decoding Table Correspondence (#1181) * Remove debug flags * Add decoding table PUSH lookup correspondence * Complete Stack Op Correspondence * fmt * Correct lookup constraint * Remove unused macro * fmt * Correct lookup constraint for pre 2930 txs * fmt * Adjust comments * fmt * Add lookup indicator column for state machine * Add correct condition for stack op lookups * Complete PUSH op lookup * Correct POP op lookup * Correct PUSH lookup * fmt * Add backward compatibility for eip155 and pre155 * Add al_idx to input expression * Add access list idx to PUSH correspondence --------- Co-authored-by: DreamWuGit <[email protected]> * Audit Fixes EIP2930/1559 TxCircuit Dynamic Section Transitions (#1176) * Refactor tx circuit dynamic section after introducing access list * Adjust comments * fmt * Column naming --------- Co-authored-by: DreamWuGit <[email protected]> --------- Co-authored-by: DreamWuGit <[email protected]> Co-authored-by: Zhang Zhuo <[email protected]>
* cherry pick upstream * fix build * fix witness generation * add case for AccountTransientStorage * run go get github.com/scroll-tech/go-ethereum@df3fde13679950f2ea6eafdb09ad5a7d5da3dbaa * increase step width by 1 * increase FIXED_TABLE_ROWS_NO_BITWISE * fix EIP1153: is_static check and reversion --------- Co-authored-by: Mason Liang <[email protected]> Co-authored-by: Zhuo Zhang <[email protected]>
* add curie suite * enable normalize for stEIP1153-transientStorage * fix * fix cond, move comment
* move CodeDB and StateDB * update execute_precompiled * fix precompile * fix doc * add revm primitives conversion * update zktrie * clean deps --------- Co-authored-by: Zhang Zhuo <[email protected]>
* move CodeDB and StateDB * update execute_precompiled * fix precompile * fix doc * add revm primitives conversion * update zktrie * clean deps * done --------- Co-authored-by: lightsing <[email protected]> Co-authored-by: Akase Haruka <[email protected]>
github-actions
bot
added
crate-bus-mapping
Issues related to the bus-mapping workspace member
crate-zkevm-circuits
Issues related to the zkevm-circuits workspace member
crate-external-tracer
Issues related to the external-tracer workspace member
CI
Issues related to the Continuous Integration mechanisms of the repository.
crate-mock
Issues related to the mock workspace member
T-bench
Type: benchmark improvements
crate-circuit-benchmarks
Issues related to the circuit-benchmarks workspace member
crate-prover
Issues related to the prover workspace member
crate-integration-tests
Issues related to the integration-tests workspace member
crate-eth-types
Issues related to the eth-types workspace member
crate-geth-utils
Issues related to the geth-utils workspace member
crate-gadgets
Issues related to the gadgets workspace member
labels
Apr 30, 2024
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
CI
Issues related to the Continuous Integration mechanisms of the repository.
crate-bus-mapping
Issues related to the bus-mapping workspace member
crate-circuit-benchmarks
Issues related to the circuit-benchmarks workspace member
crate-eth-types
Issues related to the eth-types workspace member
crate-external-tracer
Issues related to the external-tracer workspace member
crate-gadgets
Issues related to the gadgets workspace member
crate-geth-utils
Issues related to the geth-utils workspace member
crate-integration-tests
Issues related to the integration-tests workspace member
crate-mock
Issues related to the mock workspace member
crate-prover
Issues related to the prover workspace member
crate-zkevm-circuits
Issues related to the zkevm-circuits workspace member
T-bench
Type: benchmark improvements
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
[PR description]
Issue Link
[link issue here]
Type of change
Contents
Rationale
[design decisions and extended information]
How Has This Been Tested?
[explanation]
How to fill a PR description
Please give a concise description of your PR.
The target readers could be future developers, reviewers, and auditors. By reading your description, they should easily understand the changes proposed in this pull request.
MUST: Reference the issue to resolve
Single responsibility
Is RECOMMENDED to create single responsibility commits, but not mandatory.
Anyway, you MUST enumerate the changes in a unitary way, e.g.
Design choices
RECOMMENDED to: