v0.4.0
github-actions
released this
01 Aug 03:09
·
457 commits
to refs/heads/develop
since this release
What’s Changed
- Update
snark-verifier
andsnark-verifier-sdk
(#689) @silathdiir - fix: move basic field config after RLC and Keccak config in aggregation-circuit (#688) @silathdiir
- fix: add derived
Debug
to CompressionCircuit (#668) @silathdiir - Upgrade mpt-circuit
v0.4
(#666) @silathdiir - feat(zktrie state): fix state rebuilding (#611) @lispc
- [Fix]mpt root non consistent when accessing storage of a non-existed account (#556) @noel2004
- [testool] fix failed
testool
cases ofNonceMismatch
(#478) @silathdiir - Added initial project layout (#421) @rrzhang139
- [feat]zktrie: enable state construction with more proof (#412) @noel2004
- CI: change host user for self-runner (#387) @silathdiir
- CI: fix failed workflows for forked repositories (#362) @silathdiir
- CI: replace to Rust smart cache (#341) @silathdiir
Changes in the bus-mapping
- fix some testcases in testool related to copy table (#653) @lightsing
EcPairing
EVM Circuit Gadget (Valid Inputs) (#675) @roynalnaruto- [fix] add precompile to access list (#676) @lightsing
- fix accoute creation rw inside callop (#672) @lispc
EcMul
gadget (#600) @darth-cyEcAdd
gadget (#598) @roynalnaruto- ECC Circuit: EcAdd, EcMul, EcPairing (#559) @roynalnaruto
- fix gen_copy_steps_for_return_data (#646) @lightsing
- Memory opt with word look up (#466) @DreamWuGit
BeginTx
check for init-code (#610) @roynalnaruto- feat: allow deploy contract at addr with non 0 balance (#606) @lispc
- fix tx fee in end_tx (#599) @lispc
- Precompile ECRECOVER (#529) @roynalnaruto
- Update coinbase codehash to empty code hash if needed (#588) @z2trillion
- cargo fix (#570) @lispc
- big change! upgrade zktrie circuit (#548) @z2trillion
- refactor sig verify subcircuit (#538) @lispc
- [Fix]L1fee constraint (#557) @noel2004
- feat: update pi circuit to be compatible with the latest bridge contract (#544) @kunxian-xia
- Fix chain ID from Word to Uint64 (#553) @silathdiir
- Set empty keccak codehash when account comes into existence (#536) @z2trillion
- Update
BLOCKHASH
output askeccak(chain_id || block_number)
(#537) @silathdiir - feat: refactor rlp circuit and tx circuit to support more tx types (#528) @kunxian-xia
- Feat: identity precompile (#514) @roynalnaruto
- fix some audit issues (#512) @lispc
- testool: upgrade
testool/tests
(#511) @silathdiir - Support EIP-3855 (PUSH0 instruction) for Shanghai (#510) @silathdiir
- feat: transaction L1 fee constraints (#499) @silathdiir
- Support EIP-3860 (Limit and meter initcode) for Shanghai (#507) @silathdiir
- print rw usage in bus mapping (#404) @lispc
- feat: sealer api (#502) @lispc
- [Feat] Withdraw root constraint (#484) @noel2004
- Support EIP-3651 (Warm COINBASE) with
shanghai
feature (#500) @silathdiir - Support shanghai in geth tracer (#497) @lispc
- Sync 0426 (#493) @lispc
- [refactor] using revm_precompile (#483) @lightsing
- refactor precompile testcase (#479) @lightsing
- Fix testool cases and update
testool
(#472) @silathdiir - Add
DepthError
for mapping error depth, and comment out dummy gadget for feature scroll (#470) @silathdiir - Tmp sync 0414 (#469) @lispc
- Disable
SELFDESTRUCT
for featurescroll
(#463) @silathdiir - Tmp sync 0412 (#462) @lispc
- Implement circuit for
ErrorNonceUintOverflow
state (including ErrDepth for create) (#458) @silathdiir - Upgrade poseidon circuit to 'septidon' (#461) @noel2004
- Tmp fix ci (#459) @lispc
- Implement circuit for
ErrorGasUintOverflow
state (#442) @silathdiir - Insufficient caller balance (CREATE/CREATE2) (#453) @roynalnaruto
- unify l1-evm codes and l2-evm codes; add ci for both (#438) @lispc
- sync dual code hash part4 (#446) @lispc
- sync dual code hash branch part3 (#445) @lispc
- pick changes from dual code hash branch part2 (#444) @lispc
- Circuit for oog account access error (#426) @DreamWuGit
- handle address collision in create (#406) @DreamWuGit
- disable one phase by default; remove substrate dep (#436) @lispc
- sync codes from dual code hash branch(part1/N) (#435) @lispc
- fix is_warm in sload/store not constrained (#432) @lightsing
- Oog create2 (#424) @lightsing
- fix: merge some errors to
StackOnlyOpcode
in bus-mapping (#431) @silathdiir - add invalid creation code circuit (#422) @DreamWuGit
- Implement circuit for
ErrorOutOfGasSHA3
state (#419) @silathdiir - Fix
BeginTx
to handle reversion for precompile (#410) @silathdiir - sync pse (#414) @lispc
- error depth stable (#413) @lightsing
- Bug: fix overflow cases of
ErrorReturnDataOutOfBound
(#405) @silathdiir - improve selfdestruct; upgrade precompile crate (#397) @lispc
- dummy OOG(CREATE2) (#396) @lispc
- Bug: fix to truncate memory offset of Word to Uint64 when memory length is zero (#393) @silathdiir
- Fixing 0309 (#394) @lispc
- fix oog_memory_copy (#388) @lispc
- Bug: fix to support overflow memory start and zero memory size in
LOG
opcodes (#389) @silathdiir - dummy err gadget: GasUintOverflow, NonceUintOverflow, ContractAddressCollision (#386) @lispc
- fix empty create (#385) @lispc
- fix some return revert problem (#384) @lispc
- Fix: update according to previous comment of Uint64 overflow PR (#380) @silathdiir
- sync diff with upstream's code store error (#381) @DreamWuGit
- Sync 0307 (#377) @lispc
- Bug: fix to handle successful run when Uint64 overflow in
BLOCKHASH
,CALLDATACOPY
,CALLDATALOAD
,CODECOPY
andEXTCODECOPY
(#370) @silathdiir - Implement circuit for
ErrorOutOfGasMemoryCopy
state (#368) @silathdiir - circuit for create error: oog code store & max code size exceed (#304) @DreamWuGit
- Sync 0303 (#373) @lispc
- add oog dynamic mem expand (#351) @lightsing
- many fixes for testool (#363) @lispc
- fix: minor typos (#361) @lissstern
- Bug-fix: handle tx.to = 0x0 correctly (#353) @kunxian-xia
- fixing testool (#360) @lispc
- Syncing 0223 (#349) @lispc
- Fix
fee
to not reversible in begin tx (#348) @silathdiir - add oog static memory (#327) @lightsing
- syncing upstream (#342) @lispc
- modify pi circuit to be compatible with bridge contract (#334) @kunxian-xia
Changes in circuit-benchmarks
- ECC Circuit: EcAdd, EcMul, EcPairing (#559) @roynalnaruto
- cargo fix (#570) @lispc
- refactor sig verify subcircuit (#538) @lispc
- feat: update pi circuit to be compatible with the latest bridge contract (#544) @kunxian-xia
- Fix chain ID from Word to Uint64 (#553) @silathdiir
- Update
BLOCKHASH
output askeccak(chain_id || block_number)
(#537) @silathdiir - feat: refactor rlp circuit and tx circuit to support more tx types (#528) @kunxian-xia
- Support EIP-3860 (Limit and meter initcode) for Shanghai (#507) @silathdiir
- Sync 0427 (#494) @lispc
- Sync 0426 (#493) @lispc
- Tmp sync 0412 (#462) @lispc
- sync pse (#414) @lispc
- Sync 0303 (#373) @lispc
- Syncing 0223 (#349) @lispc
- syncing upstream (#342) @lispc
Changes in eth-types
- Memory opt with word look up (#466) @DreamWuGit
- Precompile ECRECOVER (#529) @roynalnaruto
- cargo fix (#570) @lispc
- big change! upgrade zktrie circuit (#548) @z2trillion
- refactor sig verify subcircuit (#538) @lispc
- Fix chain ID from Word to Uint64 (#553) @silathdiir
- Update
BLOCKHASH
output askeccak(chain_id || block_number)
(#537) @silathdiir - feat: refactor rlp circuit and tx circuit to support more tx types (#528) @kunxian-xia
- Feat: identity precompile (#514) @roynalnaruto
- testool: upgrade
testool/tests
(#511) @silathdiir - Support EIP-3855 (PUSH0 instruction) for Shanghai (#510) @silathdiir
- feat: transaction L1 fee constraints (#499) @silathdiir
- Support EIP-3860 (Limit and meter initcode) for Shanghai (#507) @silathdiir
- print rw usage in bus mapping (#404) @lispc
- Sync 0426 (#493) @lispc
- Tmp sync 0414 (#469) @lispc
- Disable
SELFDESTRUCT
for featurescroll
(#463) @silathdiir - Upgrade poseidon circuit to 'septidon' (#461) @noel2004
- sync codes from dual code hash branch(part1/N) (#435) @lispc
- Separate
BlockHash
assignments for scroll and non-scroll (#425) @silathdiir - Implement circuit for
ErrorOutOfGasSHA3
state (#419) @silathdiir - sync pse (#414) @lispc
- Fix wrong stack pointer range for error stack state (#407) @silathdiir
- Bug: fix to truncate memory offset of Word to Uint64 when memory length is zero (#393) @silathdiir
- Fix: update according to previous comment of Uint64 overflow PR (#380) @silathdiir
- Implement circuit for
ErrorOutOfGasMemoryCopy
state (#368) @silathdiir - Sync 0303 (#373) @lispc
- fix: minor typos (#361) @lissstern
- fixing testool (#360) @lispc
- Syncing 0223 (#349) @lispc
- syncing upstream (#342) @lispc
Changes in external-tracer
- Fix chain ID from Word to Uint64 (#553) @silathdiir
- Update
BLOCKHASH
output askeccak(chain_id || block_number)
(#537) @silathdiir - Support shanghai in geth tracer (#497) @lispc
- fixing testool (#360) @lispc
Changes in gadgets
- copy-fix-terminate: secure termination (#649) @naure
- remove ComparisonChip (#659) @naure
- Memory opt with word look up (#466) @DreamWuGit
- cargo fix (#570) @lispc
- fix advice lookup (#471) @lispc
- sync pse (#414) @lispc
- Syncing 0223 (#349) @lispc
- syncing upstream (#342) @lispc
Changes in geth-utils
- cargo fix (#570) @lispc
- Fix chain ID from Word to Uint64 (#553) @silathdiir
- Update
BLOCKHASH
output askeccak(chain_id || block_number)
(#537) @silathdiir - Support EIP-3855 (PUSH0 instruction) for Shanghai (#510) @silathdiir
- Support shanghai in geth tracer (#497) @lispc
- Sync 0426 (#493) @lispc
- sync pse (#414) @lispc
- improve selfdestruct; upgrade precompile crate (#397) @lispc
Changes in integration-tests
- ECC Circuit: EcAdd, EcMul, EcPairing (#559) @roynalnaruto
- cargo fix (#570) @lispc
- refactor sig verify subcircuit (#538) @lispc
- Update
BLOCKHASH
output askeccak(chain_id || block_number)
(#537) @silathdiir - feat: refactor rlp circuit and tx circuit to support more tx types (#528) @kunxian-xia
- Sync 0426 (#493) @lispc
- Tmp sync 0412 (#462) @lispc
- sync pse (#414) @lispc
- Sync 0303 (#373) @lispc
- Syncing 0223 (#349) @lispc
- syncing upstream (#342) @lispc
Changes in Keccak
- sync pse (#414) @lispc
- fix: minor typos (#361) @lissstern
Changes in mock
- refactor sig verify subcircuit (#538) @lispc
- Fix chain ID from Word to Uint64 (#553) @silathdiir
- Update
BLOCKHASH
output askeccak(chain_id || block_number)
(#537) @silathdiir - Support EIP-3860 (Limit and meter initcode) for Shanghai (#507) @silathdiir
- Support shanghai in geth tracer (#497) @lispc
- Sync 0426 (#493) @lispc
- Tmp sync 0414 (#469) @lispc
- Implement circuit for
ErrorGasUintOverflow
state (#442) @silathdiir - Separate
BlockHash
assignments for scroll and non-scroll (#425) @silathdiir - sync pse (#414) @lispc
- Sync 0307 (#377) @lispc
- Bug-fix: handle tx.to = 0x0 correctly (#353) @kunxian-xia
Changes in the zkevm-circuits
- Feat: proof aggregation (#670) @zhenfeizhang
- fix some testcases in testool related to copy table (#653) @lightsing
EcPairing
EVM Circuit Gadget (Valid Inputs) (#675) @roynalnaruto- [fix] add precompile to access list (#676) @lightsing
- add withdraw_proof to MptUpdates (#678) @lispc
- copy-fix-terminate: secure termination (#649) @naure
- fix accoute creation rw inside callop (#672) @lispc
- fix: chain_id should not be imported from block.context (#664) @lispc
EcMul
gadget (#600) @darth-cyEcAdd
gadget (#598) @roynalnaruto- ECC Circuit: EcAdd, EcMul, EcPairing (#559) @roynalnaruto
- Add better min_num_rows_block for mpt circuit (#639) @z2trillion
- remove todo (#644) @DreamWuGit
- Memory opt with word look up (#466) @DreamWuGit
- fix-tob-scroll-2: enforce both cases of RLC is_lt_128 (#615) @naure
BeginTx
check for init-code (#610) @roynalnaruto- feat: allow deploy contract at addr with non 0 balance (#606) @lispc
- Re-use cells between mutually exclusive conditions (#601) @roynalnaruto
- fix tx fee in end_tx (#599) @lispc
- Only call mock_fill_state_roots in super circuit tests (#593) @z2trillion
- Precompile ECRECOVER (#529) @roynalnaruto
- fix-bufferreader: constrain the "in-bound" selectors vs the addresses (#592) @naure
- fix some clippy warning; update halo2 to develop (#591) @lispc
- Update coinbase codehash to empty code hash if needed (#588) @z2trillion
- Proof compression circuit (#568) @zhenfeizhang
- Re-enable mpt update lookups in test-heavy (#581) @z2trillion
- Remove chain_id in pi (#567) @kunxian-xia
- cargo fix (#570) @lispc
- Feat: constrain tx data gas cost in RLP & Tx circuits (#566) @kunxian-xia
- big change! upgrade zktrie circuit (#548) @z2trillion
- [Fix] L1fee unittest (#562) @noel2004
- Fix: constant column of PI circuit is not fixed (#561) @kunxian-xia
- refactor sig verify subcircuit (#538) @lispc
- [Fix]L1fee constraint (#557) @noel2004
- feat: update pi circuit to be compatible with the latest bridge contract (#544) @kunxian-xia
- Fix chain ID from Word to Uint64 (#553) @silathdiir
- Set empty keccak codehash when account comes into existence (#536) @z2trillion
- test: copy circuit precompile call (identity) (#539) @roynalnaruto
- Update
BLOCKHASH
output askeccak(chain_id || block_number)
(#537) @silathdiir - feat: refactor rlp circuit and tx circuit to support more tx types (#528) @kunxian-xia
- Feat: identity precompile (#514) @roynalnaruto
- fix some audit issues (#512) @lispc
- [chore] Expose keccak circuit config (#519) @zhenfeizhang
- testool: upgrade
testool/tests
(#511) @silathdiir - [Fix] padding_shift underconstrainted in bytecode_circuit (#508) @noel2004
- Support EIP-3855 (PUSH0 instruction) for Shanghai (#510) @silathdiir
- feat: transaction L1 fee constraints (#499) @silathdiir
- Support EIP-3860 (Limit and meter initcode) for Shanghai (#507) @silathdiir
- print rw usage in bus mapping (#404) @lispc
- feat: sealer api (#502) @lispc
- [Feat] Withdraw root constraint (#484) @noel2004
- [feat] add copy circuit test (#501) @lightsing
- Support EIP-3651 (Warm COINBASE) with
shanghai
feature (#500) @silathdiir - Merge upstream u64-overflow PR back to develop (#496) @silathdiir
- Sync 0427 (#494) @lispc
- Sync 0426 (#493) @lispc
- [Feat]Induce copy constraint for phase2 cell (#492) @noel2004
- [fix] ecdsa sig_is_valid bug (#487) @zhenfeizhang
- refactor precompile testcase (#479) @lightsing
- test: enable heavy test to ci (#481) @lispc
- Fix testool cases and update
testool
(#472) @silathdiir - fix advice lookup (#471) @lispc
- Add
DepthError
for mapping error depth, and comment out dummy gadget for feature scroll (#470) @silathdiir - Tmp sync 0414 (#469) @lispc
- fix keccak/bytecode advice lookup (#465) @lispc
- Disable
SELFDESTRUCT
for featurescroll
(#463) @silathdiir - [fix] program counter could larger than code size (#460) @lightsing
- Tmp sync 0412 (#462) @lispc
- Implement circuit for
ErrorNonceUintOverflow
state (including ErrDepth for create) (#458) @silathdiir - [Fix] code hash do not use rlc in 'poseidon-codehash' feature (#456) @noel2004
- Tmp fix ci (#459) @lispc
- Implement circuit for
ErrorGasUintOverflow
state (#442) @silathdiir - changes needed for snark verifier (#454) @lispc
- Insufficient caller balance (CREATE/CREATE2) (#453) @roynalnaruto
- unify l1-evm codes and l2-evm codes; add ci for both (#438) @lispc
- fix step.gas assignment in oog (#449) @lispc
- sync dual code hash part4 (#446) @lispc
- sync dual code hash branch part3 (#445) @lispc
- pick changes from dual code hash branch part2 (#444) @lispc
- Circuit for oog account access error (#426) @DreamWuGit
- Salt field popped from stack should be RLC with EVM word input (#441) @roynalnaruto
- handle address collision in create (#406) @DreamWuGit
- Refactor/code hash (#439) @lispc
- clean some outdated feature flag (#437) @lispc
- sync codes from dual code hash branch(part1/N) (#435) @lispc
- fix is_warm in sload/store not constrained (#432) @lightsing
- Oog create2 (#424) @lightsing
- Separate
BlockHash
assignments for scroll and non-scroll (#425) @silathdiir - add invalid creation code circuit (#422) @DreamWuGit
- Implement circuit for
ErrorOutOfGasSHA3
state (#419) @silathdiir - fix: delete execution state
ErrorOutOfGasEXTCODECOPY
(#418) @silathdiir - Fix
BeginTx
to handle reversion for precompile (#410) @silathdiir - sync pse (#414) @lispc
- error depth stable (#413) @lightsing
- Fix leftover issues in pi/tx circuits (#371) @kunxian-xia
- calldata zeros assigned twice in tx table and circuit (#408) @kunxian-xia
- Bug: fix overflow cases of
ErrorReturnDataOutOfBound
(#405) @silathdiir - Bug: fix to enable
gas_is_u64
for failed Calls (#400) @silathdiir - Bug: fix to truncate memory offset of Word to Uint64 when memory length is zero (#393) @silathdiir
- Fixing 0309 (#394) @lispc
- fix oog_memory_copy (#388) @lispc
- Bug: fix to support overflow memory start and zero memory size in
LOG
opcodes (#389) @silathdiir - dummy err gadget: GasUintOverflow, NonceUintOverflow, ContractAddressCollision (#386) @lispc
- Fix: small fix to delete LtGadget
dest_lt_code_len
inErrorInvalidJumpGadget
(#383) @silathdiir - fix empty create (#385) @lispc
- fix some return revert problem (#384) @lispc
- Fix: update according to previous comment of Uint64 overflow PR (#380) @silathdiir
- Bug: fix for
JUMPI
successful run case with zerocondition
and overflowdestination
(#382) @silathdiir - sync diff with upstream's code store error (#381) @DreamWuGit
- Sync 0307 (#377) @lispc
- Bug: fix to handle successful run when Uint64 overflow in
BLOCKHASH
,CALLDATACOPY
,CALLDATALOAD
,CODECOPY
andEXTCODECOPY
(#370) @silathdiir - Implement circuit for
ErrorOutOfGasMemoryCopy
state (#368) @silathdiir - circuit for create error: oog code store & max code size exceed (#304) @DreamWuGit
- Sync 0303 (#373) @lispc
- add oog dynamic mem expand (#351) @lightsing
- many fixes for testool (#363) @lispc
- fix: minor typos (#361) @lissstern
- Bug-fix: handle tx.to = 0x0 correctly (#353) @kunxian-xia
- fixing testool (#360) @lispc
- Syncing 0223 (#349) @lispc
- Fix
fee
to not reversible in begin tx (#348) @silathdiir - add oog static memory (#327) @lightsing
- Fix/ecdsa err Fix #344 (#345) @zhenfeizhang
- test/keccak-normalize-table: unittest for lookup tables (#326) @naure
- sync-halo2-5689a747: explicit type unsafety in tests (#346) @naure
- syncing upstream (#342) @lispc
- modify pi circuit to be compatible with bridge contract (#334) @kunxian-xia