forked from privacy-scaling-explorations/zkevm-circuits
-
Notifications
You must be signed in to change notification settings - Fork 391
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] add feature switch of memory/stack/storage #1038
Merged
Merged
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
github-actions
bot
added
crate-bus-mapping
crate-eth-types
crate-external-tracer
labels
Nov 17, 2023
lightsing
force-pushed
the
feat/feature-switch
branch
from
November 17, 2023 07:34
d5b62fd
to
3f43497
Compare
lightsing
force-pushed
the
feat/feature-switch
branch
from
November 20, 2023 07:24
3f43497
to
b6f0eaf
Compare
ready |
# Conflicts: # eth-types/src/l2_types.rs # testool/src/utils.rs
DreamWuGit
approved these changes
Nov 25, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
naure
added a commit
that referenced
this pull request
Dec 13, 2023
* [FEAT] support mainnet block in mainnet.rs (#814) (#1004) * patch for L2 node rpc * constrain max_txs to pass pi circuit * revert get access set to the same implement as upstream * update for using prestateTracer for state * fix coinbase issue * apply mock fill root * better form for mock filling mpt * dep issue * some trivial optimizations * grep mpt standlone circuit from test * update poseidon row params * fix issues in old_root setting * update ethblock for some fields * update more fields * update keccak inputs * update prev state root * update more fields for state root * update code size * fix storage issue on missing field * optimize the pre state handling * induce relax mode to raise some restrict * picking coinbase/difficulity from block instead of default constants * custom diff/coinbase in padding * fix the max_txs issue in pi_circuit * clippy and fmt * support single tx test * adjust params * rebuild mpt state in mock tx proven * fmt * resume some fields in prestate trace * test creating supercircuit from dummy witness block * revert most params * mitigate an issue in prestate tracer * add timeout spec for robust API call * fmt * add readme for test * add more comment according to review --------- Co-authored-by: Steven <[email protected]> * fix: only enable circuit for `BASEFEE` opcode (without opcode mapping) (#1033) * Enable `BlockCtxU256Gadget` for `BASEFEE` opcode in `scroll` feature. * Fix to restrict `DIFFICULTY` execution state only for scroll (to avoid soundness). * Disable applying MPT if non-scroll in integration-tests. (#1034) * Add `AccessListGasCost` to `TxContextFieldTag`. (#1041) * [feat] enum error in GethExecStep (#1037) * make error enum * remove non_exhaustive * [feat] add feature switch of memory/stack/storage (#1038) * add feature switch * add missing * fix merge * parallel assignment of evm circuit (#1027) * done * retry * seem done * fix * Temp to comment out `Cached assign at ...` log. * clean-codes --------- Co-authored-by: Steven Gu <[email protected]> * Refactor PI Circuit (#1042) * refactor assign into sub-methods, more docs * fmt * fix: doc escape square braces * fix offset increment * fix macos build (#1047) * remove halo2wrong (#1048) * feat: Add `TxEip2930Gadget` to handle EIP-2930 (for evm-circuit part) (#1045) * Add `TxEip2930Gadget` to begin-tx to handle EIP-2930 in evm circuit. * Move `AccessList*` to the front of `BlockNumber` to fix tx-circuit tests. * Merge `CopyDataType` of access list to `AccessListAddresses` and `AccessListStorageKeys`. * Delete `is_eip1559_tx` function which should be better to add in the EIP-1559 PR. * Rename function `access_list_address_and_storage_key_sizes` to `access_list_size`. * Add `AccessListRLC` to tx-table. * Fix test. * Remove `AccessListGasCost`, and try to calculate it by `AccessListAddressesLen` and `AccessListStorageKeysLen` --------- Co-authored-by: Rohit Narurkar <[email protected]> * [FEAT] precompile-sha256 (#1032) * init table16 with generic refactoring * update cargo * add required cfgs * add benchmarking * customable bench * fmt * config gates for sha256 circuit * complete sha256 circuit * induce SHA256 in bus mapping * better challenge spec * integrate sha256 circuit into super * readme (wip) * complete precompile and sha256 table * clippies * fmt * better tests * fix issues and better printing for circuit layout * refine and fix issues * fix digest in table16 * fix layout, clippy and fmt * complete sha256 table * fix rw * fix rlc on padding * clippy and fmt * more tests * test added * sha256: update row cost per block * update readme (wip) * lookup input len * enable sha256 * more tests cases * refactoring aux data * fmt * fix precompile call test * fix another callop test * + update bench to circuit-sha256, + update readme * fix vk issue, add more test * trivial fixs * move sha256 circuit into zkevm-circuits * purge unused sha256 dir * bump halo2 version * fix blank comment * fix fmt (#1049) * chore: upgrade group/ff/halo2 and rust version (#1022) * wip * enforce eth v2.0.7 * update links * clean up zktrie * fix keccak circuit * fix gadgets * fix bus-mapping * everything compiles now * compiles * compiles * clean up * update zktrie links * update dep for zktrie * Fix all dep/compliation issues in Sync ff 0.13 (#1056) * fix all dep issue * use updated misc-precompile * fix test issue * purge lock file by upgrading mpt-circuit * final update for dep of mpt-circuits * update deps * build? --------- Co-authored-by: Zhang Zhuo <[email protected]> * upgrade halo2; * build * Upgrade rust-toolchain to `nightly-2023-10-27` in CI. * Fix some byte values (u8) from `u128` to `u64` in `SAR`. * uncomment unit tests for aggregator * fix clippy * uncomment sig circuit and tx circuit * uncomment rlc gates unit tests * fix make doc * uncomment sig/ecc related code * minor fix * clippy * undo last clippy.. * disable some super circuit tests --------- Co-authored-by: Ho Vei <[email protected]> Co-authored-by: Ho <[email protected]> Co-authored-by: Zhang Zhuo <[email protected]> Co-authored-by: Steven Gu <[email protected]> * [chore] update rust toolchain to 1.76 nightly; replace lazy_static/once_cell with std::sync::LazyLock (#1050) * part1 * part2 * wip * enforce eth v2.0.7 * update links * clean up zktrie * fix keccak circuit * fix gadgets * fix bus-mapping * everything compiles now * compiles * compiles * clean up * update zktrie links * update dep for zktrie * [chore] update rust toolchain to 1.76 nightly * Fix all dep/compliation issues in Sync ff 0.13 (#1056) * fix all dep issue * use updated misc-precompile * fix test issue * purge lock file by upgrading mpt-circuit * final update for dep of mpt-circuits * update deps * build? --------- Co-authored-by: Zhang Zhuo <[email protected]> * upgrade halo2; * remove lazy_static and once_cell * update snark-verifier * build * Upgrade rust-toolchain to `nightly-2023-10-27` in CI. * Fix some byte values (u8) from `u128` to `u64` in `SAR`. * uncomment unit tests for aggregator * fix clippy * uncomment sig circuit and tx circuit * uncomment rlc gates unit tests * fix make doc * uncomment sig/ecc related code * minor fix * clippy * undo last clippy.. * disable some super circuit tests * update ci script * fix missing * post merge * soundness fix * fix missing * fix missing --------- Co-authored-by: zhenfei <[email protected]> Co-authored-by: Ho Vei <[email protected]> Co-authored-by: lightsing <[email protected]> Co-authored-by: Ho <[email protected]> Co-authored-by: Steven Gu <[email protected]> * bus-auto: fixes after merge * bus-auto: support for parallel assign_regions --------- Co-authored-by: Ho <[email protected]> Co-authored-by: Steven <[email protected]> Co-authored-by: Akase Cho <[email protected]> Co-authored-by: Zhang Zhuo <[email protected]> Co-authored-by: Rohit Narurkar <[email protected]> Co-authored-by: zhenfei <[email protected]> Co-authored-by: Ho Vei <[email protected]> Co-authored-by: lightsing <[email protected]> Co-authored-by: Aurélien Nicolas <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pr belongs to task: Remove heap allocation from GethExecStep/ExecStep.
This pr prepares to fully remove memory/stack/storage at compile time.
Note: env var
CHECK_MEM_STRICT
changes toGETH_TRACE_CHECK_LEVEL