A Huge Release
Pre-release
Pre-release
github-actions
released this
31 May 22:18
·
553 commits
to refs/heads/main
since this release
What’s Changed
Changes in dependencies
- Halo2 bump to v2022_05_09 (#503) @CPerezz
- Bump to latest Halo2 tag (v2022_05_06) (#499) @CPerezz
- Remove
pairing
and usehalo2_proof::pairing
instead (#491) @kilic - update: Bump halo2 dep version to v2022_05_03 tag (#490) @CPerezz
- Update workspace to newest Halo2 version (#341) @CPerezz
Changes in the bus-mapping
Features:
- Add
dummy_gen_create_ops
to avoid call stack empty panic (#454) @han0110 - CALLDATALOAD: bus-mapping and refactoring (#402) @roynalnaruto
- CALLDATACOPY: Internal call and refactoring (#450) @roynalnaruto
- feat: bus mapping for sload and sstore (#436) @lispc
CHAINID
bus-mapping and gadget (#432) @adria0- busmapping implementation for CODECOPY (#449) @roynalnaruto
- Bus-mapping for opcode
calldatacopy
(#393) @silathdiir - Add NUMBER module to opcodes and update testing infra (#412) @CPerezz
- Initialize
LastCallee*
ofCallContext
(#298) @han0110 - Gadget for opcode calldatasize (#329) @scroll-dev
- feat: add error handling in
impl From<&bus_mapping::circuit_input_builder::ExecStep> for ExecutionState
(#333) @scroll-dev
Fixes:
- fix multi copy step data index (#510) @DreamWuGit
- Fix some bugs of
CircuitInputBuilder
(#434) @han0110 - Refactor rw operation for issue #498 (#522) @DreamWuGit
- fix "gen_state_access_trace" when handling the call stacks (#401) @ripwu
Refactors:
- Try wrap read/write ops (#497) @DreamWuGit
- Split circuit_input_builder file and improve APIs for it (#482) @CPerezz
- simplify code to reduce redundant lines (#481) @DreamWuGit
- Rename "state write" to "reversible write" (#409) @z2trillion
- refactor: rename TxAccessListStorageSlot to TxAccessListAccountStorage (#327) @scroll-dev
Changes in circuit-benchmarks
- Implement constraints in state circuit spec (#462) @z2trillion
- Variable step height + Degree reduction + Lookup refactor (#425) @Brechtpd
- Fix bytecode table width (#475) @Brechtpd
- Added state and keccak benches according to issue #371 (#390) @ntampakas
- Fix EVM Circuit benchmark (#364) @CPerezz
Changes in eth-types
- Refactor: Move Eth and Evm types from bus-mapping to a new sub-crate eth-types (#290) @scroll-dev
- Split eth-types Error (#304) @scroll-dev
Changes in gadgets
Changes in geth-utils
- add blockCtxOp gadgets (#413) @bchyl
- Update
geth-utils
andbus-mapping
to build more witness (#292) @han0110
Changes in integration-tests
- Add integration test for ETH transfer (#291) @ed255
- Fix integration test (#389) @han0110
- Add integration test of block with multiple transfers (#345) @ed255
Changes in external-tracer
- Move
external_tracer
from bus mapping to new crate only for test (#303) @scroll-dev
Changes in Keccak
Features:
- Padding Validation (#445) @ChihChengLiang
- Implement word/next_inputs padding for keccak (#338) @CPerezz
- Keccak: Add range check table (#325) @ChihChengLiang
- Keccak circuit implementation (#268) @CPerezz
Optimizations:
- reduce columns #501 #537 #538 @ChihChengLiang @CPerezz
Fixes:
- fix base conversion (#308) @ChihChengLiang
Cleanup: #518 #527 #365 #305 #286
Changes in mock
- Modularize mock crate for easier and more customizable testing setup generation (#349) @CPerezz
- Fix flakiness in begin_tx_gadget_rand (#516) @z2trillion
- add blockCtxOp gadgets (#413) @bchyl
- Move
external_tracer
from bus mapping to new crate only for test (#303) @scroll-dev
Changes in prover
- prover: add http/json-rpc daemon command (#441) @pinkiebell
- Feat/prover: add prover command line utilities (#326) @pinkiebell
Changes in the zkevm-circuits
EVM Circuit:
- add TxReceipt constraint in begin & end tx (#466) @DreamWuGit
- add non static call constraint for sstore (#467) @DreamWuGit
- Circuit for logs op codes (#335) @DreamWuGit
- CALLDATACOPY: Internal call and refactoring (#450) @roynalnaruto
- CODECOPY opcode (#391) @roynalnaruto
- Implement Gasprice opcode and gadget (#422) @CPerezz
- Implementation
ExecutionState::CALL
(#278) @han0110 - Implement
ExecutionState::EndTx
(#312) @han0110 - feat: add
sload
op (non-bus-mapping version) (#334) @HAOYUatHZ - Circuit for opcode calldatacopy (#297) @scroll-dev
- opcode
ISZERO
(#399) @silathdiir - Signed comparator gadget: SLT, SGT (#280) @scroll-dev
- ORIGIN opcode (#360) @CPerezz
- Implement Gasprice opcode and gadget (#422) @CPerezz
- Circuit for NUMBER opcode (#381) @bchyl
- Circuit for EXTCODEHASH opcode (#353) @z2trillion
- feat: add
sstore
circuit (#383) @HAOYUatHZ - op CALLDATALOAD (#346) @roynalnaruto
- Circuit for opcode SELFBALANCE (#328) @scroll-dev
- Implement circuit for CALLER and CALLVALUE opcode (#287) @ed255
- Circuit for opcode TIMESTAMP (#307) @scroll-dev
- GasGadget for GAS opcode (#301) @scroll-dev
Tx Circuit:
State circuit:
- Implement constraints in state circuit spec (#462) @z2trillion
- Add overrides to StateCircuit for negative tests (#524) @z2trillion
- state circuit update part1: change RwTable according to latest spec; finish stack/storage constraints (#380) @lispc
- refactor state circuit (#339) @lispc
Bytecode circuit:
Optimization:
Fixes/ other feats/ tests:
- fix tag byte overlap issue #520 (#523) @DreamWuGit
- Fix incorrect current_cumulative_gas_used in end_tx_gadget (#535) @lispc
- Rename code_source to code_hash (#531) @roynalnaruto
- fix multi copy step data index (#510) @DreamWuGit
- Fix flakiness in begin_tx_gadget_rand (#516) @z2trillion
- fix log gas by adding static cost (#507) @DreamWuGit
- Fix bytecode table width (#475) @Brechtpd
- Fix error checking and bytecode circuit (#403) @adria0
- change: Update sdb/storage-related ops warm check fields (#452) @CPerezz
- check rw_counter is unique (#415) @DreamWuGit
- feat: speedup test by only check constraints on less rows for MockProver (#354) @lispc
- feat: upgrade RwTable and add aux (#285) @scroll-dev
- test: enable state circuit test for opcodes (#282) @lispc
- fix: fix
state_write_counter
insload
&sstore
circuits (#397) @HAOYUatHZ - feat: make
"KECCAK256"
an alias for"SHA3"
when deserializing gethdebug_traceBlockBy*
response body (#374) @DavidCai1111 - Fix the error of the expr degree in signed comparator exceeding the max degree (#296) @icemelon
- Extend memory gadgets to handle dynamic offset and length (#279) @han0110
- Fix MSIZE opcode and add doc to step (#271) @scroll-dev
Changes in CI
- Multi-AZ provers (#500) @ntampakas
- contributor guidelines #480 #447 by @ed255 @CPerezz
- tried but deleted review_lottery #485 #446 @CPerezz
- Revamp labeler #453 @CPerezz
- Added CODEOWNERS #448, #429 @CPerezz
- Initialize git submodule in integration test (#424) @ed255
- Add OpenZeppelin ERC20 transfers integration test (#408) @ed255
- add prover bench scripts and new workflow yml #293 #330 @AronisAt79