-
Notifications
You must be signed in to change notification settings - Fork 391
Conversation
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.
Looks good. Although I have not reviewed the sha256
crate itself. Only reviewed the integration into EVM circuit precompiles.
i think you need to update the min_num_rows function of SuperCircuit? |
There is updating for |
\b run testool 1 |
Succeed to run testool: |
bump halo2 version. Since there is no too much things left for the |
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.
Can be merged After ci passes
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.
Minor point, but otherwise looks good.
* [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 <asongala@163.com> * 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 <asongala@163.com> * 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 <rohit.narurkar@protonmail.com> * [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 <mycinbrin@gmail.com> * 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 <noelwei@gmail.com> Co-authored-by: Ho <noel.wei@gmail.com> Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com> Co-authored-by: Steven Gu <asongala@163.com> * [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 <mycinbrin@gmail.com> * 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 <zhenfei.zhang@hotmail.com> Co-authored-by: Ho Vei <noelwei@gmail.com> Co-authored-by: lightsing <light.tsing@gmail.com> Co-authored-by: Ho <noel.wei@gmail.com> Co-authored-by: Steven Gu <asongala@163.com> * bus-auto: fixes after merge * bus-auto: support for parallel assign_regions --------- Co-authored-by: Ho <noel.wei@gmail.com> Co-authored-by: Steven <asongala@163.com> Co-authored-by: Akase Cho <lightsing@users.noreply.github.com> Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com> Co-authored-by: Rohit Narurkar <rohit.narurkar@protonmail.com> Co-authored-by: zhenfei <zhenfei.zhang@hotmail.com> Co-authored-by: Ho Vei <noelwei@gmail.com> Co-authored-by: lightsing <light.tsing@gmail.com> Co-authored-by: Aurélien Nicolas <info@nau.re>
This PR complete the precompile SHA256
The SHA256 circuit made used of
table16
code inhalo2_gadget
, by a forking in current repoknown issue:
table16
SHA256Instructions
trait is not suitable for the SHA-2 protocol since it is not allowed chips recognizing the final block (some constraints for padding is required)Breaking change
The dependency for L2 geth in
geth-util
has been updated to enable precompile SHA256