v0.10.3: support blob DA
Highlights:
- support blob DA (EIP-4844)
- support SHA256 precompile
- Removed the dependency on StructLog.stack, reducing the trace size and the overhead of trace deserialization.
What's Changed
- PUSH optimization by @naure in #956
- refactor ZktrieState [dup #903] by @noel2004 in #968
- optim-invert: cache the inversion of step height by @naure in #987
- Feat: add support for EIP2930 tx by @kunxian-xia in #974
- testool: skip stTimeConsuming for default(not nightly) mode by @lightsing in #986
- fix: add
workspace.package
andworkspace.dependencies
to avoid duplicate by @silathdiir in #989 - create_op: fix memory size by @lispc in #990
- fix: move common dependencies to
workspace.dependencies
by @silathdiir in #995 - ccc performance optimization by @lightsing in #970
- fix: log(0) returns 0 by @zhenfeizhang in #1001
- Refactor create op by @lispc in #1000
- fix: add testool gpu dockers by @silathdiir in #997
- Fix/tob wave3 ecdsa circuit review by @zhenfeizhang in #992
- Refactor sign-types to remove
libsecp256k1
dep by @roynalnaruto in #969 - remove unused address_high, otherwise also need to update it for word lo-hi by @DreamWuGit in #983
- CI: delete runner-wakeup by @silathdiir in #1007
- Fix little-endian to big-endian representation in tests by @junomonster in #1012
- [security-review] issue-1: fix to delete
keccak256
dependency frombus-mapping
by @silathdiir in #1017 - [security-review] issue-13: fix wrong comment for opcodes in bus-mapping by @silathdiir in #1023
- [security-review] issue-14: replace
nth_last(0)
andnth_last_filled(0)
withlast()
andlast_filled()
by @silathdiir in #1021 - [security-review] issue-10: refactor error-invalid-jump in bus-mapping by @silathdiir in #1020
- [security-review] issue-6: upgrade dependency
itertools
,strum
andstrum_macros
by @silathdiir in #1019 - [security-review] issue-4: add explicit dependency
resolver
to workspace by @silathdiir in #1018 - fix: several typos in the docs by @tudorpintea999 in #1028
- Refactor:
PrecompileGadget
and precompile states by @roynalnaruto in #1029 - [OpenZeppelin audit N-05] fix typos in bus-mapping by @silathdiir in #1026
- [OpenZeppelin audit N-07] replace
or_insert_with
withor_default
for BTreeMap and HashMap by @silathdiir in #1025 - [FEAT] support mainnet block in mainnet.rs (#814) by @noel2004 in #1004
- fix: only enable circuit for
BASEFEE
opcode (without opcode mapping) by @silathdiir in #1033 - fix: disable applying MPT for non-scroll to fix panic in integration-tests by @silathdiir in #1034
- feat: add
AccessListGasCost
to fix begin-tx gas cost (EIP 2930 optional-access-list) by @silathdiir in #1041 - [feat] enum error in GethExecStep by @lightsing in #1037
- [feat] add feature switch of memory/stack/storage by @lightsing in #1038
- parallel assignment of evm circuit by @lispc in #1027
- Refactor PI Circuit by @roynalnaruto in #1042
- fix macos build by @lispc in #1047
- remove halo2wrong by @lispc in #1048
- feat: Add
TxEip2930Gadget
to handle EIP-2930 (for evm-circuit part) by @silathdiir in #1045 - [FEAT] precompile-sha256 by @noel2004 in #1032
- [Fix] precompile-sha256 fmt issue by @noel2004 in #1049
- chore: upgrade group/ff/halo2 and rust version by @zhenfeizhang in #1022
- [chore] update rust toolchain to 1.76 nightly; replace lazy_static/once_cell with std::sync::LazyLock by @lispc in #1050
- Fix typos by @nnsW3 in #1052
- I corrected the spelling mistakes. by @bolatfurkan in #1053
- chore(docs): typo fix by @dzizazda in #1059
- feat: implement access list address and storage key lookups in copy circuit (EIP-2930) by @silathdiir in #1058
- [feat] impl arithmetic/environment opcodes by @lightsing in #1039
- fix: revert testool upgrade by @silathdiir in #1061
- Feat: parallelize mpt table loading by @kunxian-xia in #1067
- testool: parse access-list from json and yaml by @silathdiir in #1072
- fix testool yaml parsing for access-list by @silathdiir in #1074
- [Soundness] Tx.to == precompile by @noel2004 in #1068
- Feat: Support EIP1559 by @darth-cy in #1030
- [Refactor] Config implement to reduce duplicated code in multiple_precision_integer.rs by @ludete in #1054
- feat: add sender balance check to begin-tx (EIP-1559) by @silathdiir in #1066
- testool: enable and parse for EIP-1559 and EIP-2930 by @silathdiir in #1079
- chore: Fix multiple typos by @hugo-syn in #1082
- [FIX] sha256 witness issue (#1081) by @noel2004 in #1087
- Update and fix access-list issues with testool by @silathdiir in #1080
- Fix remaining
testool
failed cases for EIP-1559 and EIP-2930 by @silathdiir in #1088 - fix (soundness): save access-list
is_warm_prev
to copy circuit by @silathdiir in #1090 - [feat] balance testool test job by @lightsing in #1094
- [FIX] Handling oog for sha256 precompile by @noel2004 in #1095
- chore: proofreading the docs by @Gakunt in #1093
- [Fix] SHA256 circuit: Wrong final condition base on padding position by @noel2004 in #1096
- [feat] add call tracer and prestate tracer by @lightsing in #1043
- RlpDecodingTable Id Column Phase Correction by @darth-cy in #1098
- [Fix]Input parsing for modexp precompile by @noel2004 in #1099
- Feat/ci fix by @johnsonjie in #1101
- Revert "Feat/ci fix" by @lispc in #1102
- Feat/ci fix by @lispc in #1103
- upgrade halo2 to v1.1 mvlookup by @lispc in #1100
- pick privacy-scaling-explorations#1719 from upstream: fix begin-tx tx_id soundness by @lispc in #1078
- feat: stack reconstruct by @lightsing in #993
- [fix] remove debug println by @lightsing in #1105
- [Add comments for precompile design by @noel2004 in https://github.com//pull/1116
- doc for eip EIP2930&1559 by @DreamWuGit in #1115
- eip1559 gadget: constrain gas_fee_cap >= base_fee by @DreamWuGit in #1120
- misc trace fixes; disable batch inv in halo2 by @lispc in #1129
- [Fix] index of storae key in access list by @noel2004 in #1133
- [fix] misconfiguration of trace config by @lightsing in #1134
- 1559 selector fix in RLP by @darth-cy in #1137
- [feat] testool: report err when ccc overflows by @lightsing in #1135
- upgrade l2geth by @lispc in #1139
- [Fix]Update test parameters by @noel2004 in #1142
- Apply halo2 memory fix commit by @DreamWuGit in #1144
- [fix] audit fix by @lightsing in #1140
- V0.10 rows by @lispc in #1171
- [Fix] Issue from codeaudition of sha256 circuit by @noel2004 in #1170
- revert ethers-core and improve code to satisfy clippy by @DreamWuGit in #1184
- Fix 1559 tests & signatures bugs by @DreamWuGit in #1182
- [FIX] Calculating for required rows of sha256 circuit by @noel2004 in #1195
- enable & update two 1559 negative tests for scroll feature by @DreamWuGit in #1190
- tests(1559): test GasPrice op for 1559 tx by @DreamWuGit in #1196
- epic: Blob 4844 DA by @icemelon in #1153
- feat(bus-mapping): add sanity check for jumpi by @lispc in #1204
- chore(poseidon): optimize pow5 by @lispc in #1205
- fix 2930 signature & add tests by @DreamWuGit in #1199
- Fix: use indicator column to reduce tx circuit lookup degree by @kunxian-xia in #1208
- CI: update super circuit deg test by @kunxian-xia in #1207
- Add
blobVersionedHash
to the preimage ofchallengeDigest
by @roynalnaruto in #1211
New Contributors
- @junomonster made their first contribution in #1012
- @tudorpintea999 made their first contribution in #1028
- @nnsW3 made their first contribution in #1052
- @bolatfurkan made their first contribution in #1053
- @dzizazda made their first contribution in #1059
- @ludete made their first contribution in #1054
- @hugo-syn made their first contribution in #1082
- @Gakunt made their first contribution in #1093
Full Changelog: v0.9.9...v0.10.3