All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Implement EIP-4788 for Cancun (#40)
- Implement Blob transactions (type-3) and BLOBHASH opcode (#50)
- Fix beacons root contract bytecode (#70)
- LxLy exit roots (#90)
- Eip 1153 (TLOAD/TSTORE) (#59)
- Remove blobbasefee from block header (#100)
- Fix MCOPY from rebasing (#103)
- Fix storage write for beacons root contract (#102)
- EIP-4844 part 2: Point evaluation precompile (#133)
- Some fixes to Cancun (#187)
- Insert blob versioned hashes in signature payload for hashing (#209)
- Fix KZG precompile context setup (#210)
- Fix txn type encoding for receipts (#214)
- Add blob gas fee burn for type-3 txns (#219)
- Update decoder processing for cancun (#207)
- cancun: Add a full block test (#223)
- Fix KZG precompile I/O (#213)
- Fix selfdestruct address listing (#225)
- Fix withdrawals without txns and add test for empty block (#228)
- doc: update README (#242)
- Cleanup and bring back deadcode lint (#232)
- fix(cancun): dummy payloads and public input retrieval (#249)
- fix: encode calldata for EIP-4780 as U256 (#253)
- fix: handle KZG precompile errors properly (#251)
- fix(cancun):
mcopy
check offsets and overwrites (#252) - fix(cancun): correct search loop in transient storage (#257)
- perf: Charge gas before tload search (#272)
- fix: add check on decoded versioned hashes (#278)
- fix: Add beacon roots touched slots into
state_access
with native tracer (#353) - feat(cancun): update test blocks (#365)
- fix: failed to send proof (#366)
- feat: cancun jerigon test network (#367)
- fix(cancun): properly update accumulator in fake_exponential() (#376)
- fix(cancun): tweak ranges in integration tests (#377)
cancun
: cleanup pre-release (#392)
- fix: docker images (#108)
- feat: add transaction hash to zero trace (#103)
- perf: add benchmarks for different components (#273)
- fix: add check on decoded versioned hashes (#278)
- fix: discard intermediate proofs (#106)
- feat: stdio parallel proving (#109)
- Fixes related to nightly and alloy (#101)
- Introduce native tracer support (#81)
- chore: bump alloy to v0.1.1 (#111)
- Migrate
zero-bin
intozk-evm
- fix: Bring back Cargo.lock (#280)
- ci: add labeler flag for new
zero-bin
crate + updateCODEOWNERS
(#281) - fix: only executables should choose a global allocator (#301)
- doc: fix typos (#298)
- misc: fix logging filename (#305)
- refactor zero_bin leader cli (#317)
- Removed non-existing dep public
__compat_primitive_types
(#321) - perf: Check for zero amount early in 'add_eth' (#322)
- fix: interval (#324)
- fix: optimize previous hashes retrieval (#316)
- feat: add jerigon test workflow (#303)
- fix: do not add selfdestruct journal entry for empty accounts (#328)
- ci: add PR check job (#332)
- Constrain FP254 operations and SUBMOD to be kernel-only (#333)
- fix: add recipient to touched_addresses even when skipping empty transfer (#336)
- Fixed leader crashing when
.env
not present (#335) - perf: reduce overhead in final iteration of memset (#339)
- Make leader work no matter what the CWD is (#307)
- Cleanup/clippy and update pass (#341)
- Add
Columns
andDerefColumns
derive macros (#315) - migrate compat to micro crate (#308)
- fix: docker build for worker and leader (#329)
- parse embedded short nodes (#345)
- Add
LogicColumnsView
struct forLogicStark
(#347) - fix: properly log final result when due (#352)
- fix: Check valid range for s and add test (#363)
- feat: add caching for
get_block
(#346) - refactor!: docker builds (#357)
- fix: tweak fetching of previous block hashes (#370)
- fix(evm_arithmetization): Adjust layout of
CpuGeneralColumnsView
(#355) - feat: skip range-checking
PUSH
operations inKERNEL
mode (#373) - Fix iterator length when fetching block hashes (#374)
- fix: scale withdrawals amount to gwei (#371)
- refactor: frontend of
trace_decoder
(#309)
- Some cleanup (#190)
- Silence jumpdest analysis logs (#193)
- Charge call value gas prior to call (#199)
- refactor: fix todos (#162)
- Remove print call in trace_decoder (#208)
- Update CODEOWNERS (#224)
- Fix access lists pointers check (#217)
- Add a few QoL useability functions to the interface (#169)
- Amortize
sha2
compression loop (#231) - ci: add cargo audit job (#236)
- fix: Revert interpreter stack display (#238)
- Fix clippy
doc_lazy_continuation
(#247) - perf: Improve
blake2
precompile (#239) - fix: rustdoc and tests (#255)
- Native trace processing support (#246)
- Added
Clone
to a few error types inmpt_trie
(#259) - cleanup: remove outdated segment (#262)
- fix: add G2 subgroup check for
ECPAIRING
(#268) - add partial trie builder (#258)
- Fix withdrawals accesses in state trie (#176)
- Update plonky2 dependencies (#119)
- Swap out the internal U512 inside nibbles to [u64;5] (#132)
- Charge gas before SLOAD and refactor
insert_accessed_storage_keys
(#117) - Increased the public interface for
trie_tools
(#123) - Mpt trie panic refactor (#118)
- refactor: remove some reallocations from decoder (#126)
- Charge cold access cost in CALL before accessing state (#124)
- chore: add debug function for better logging in development (#134)
- Make test_receipt_encoding more meaningful. (#131)
- Add a getter for the KERNEL codehash (#136)
- Remove interpreter-specific preinialization logic from State trait (#139)
- Make some more functions constant (#154)
- fix(keccak-sponge): properly constrain padding bytes (#158)
- Reduce verbosity in logs (#160)
- Bump with latest starky (#161)
- Decouple trace_decoder and proof_gen (#163)
- Extend trace decoder err info (#148)
- Add debug function for better public values logging in development (#134)
- Simplify withdrawals logic (#168)
- Clean up logging output upon Kernel failure (#74)
- Fix CPU Cycle display in logs during simulations (#77)
- Fix blake2 precompile (#78)
- Create subtries without ever hashing leaves (#76)
- Fix generation inputs logging pre-transaction execution (#89)
- Reduce state trie size for dummy payloads (#88)
- Fix post-txn trie debugging output for multi-logs receipts (#86)
- Fixed most failing blocks caused by the merged in aggressive pruning changes (#97)
- Fixed trie hash collision issue when constructing storage tries (#75)
- Fix interpreter rollback by adding the clock to generation state checkpoints (#109)
- Add verification for invalid jumps (#36)
- Refactor accessed lists as sorted linked lists (#30)
- Change visibility of
compact
mod (#57) - Fix running doctests in release mode (#60)
- Fix block padding without withdrawals (#63)
- Change position of empty node encoding in RLP segment (#62)
- Unify interpreter and prover witness generation (#56)
- Add utility method for testing CPU execution (#71)
- Expose common types and dummy proof method for testing (#73)
- Initial release.