Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into feat/cancun
Browse files Browse the repository at this point in the history
  • Loading branch information
Nashtare committed Jul 15, 2024
2 parents 60db32c + bbfc858 commit 34de2fd
Show file tree
Hide file tree
Showing 15 changed files with 916 additions and 53 deletions.
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.5.0] - 2024-07-15

### Changed
- 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` into `zk-evm`
- fix: Bring back Cargo.lock (#280)
- ci: add labeler flag for new `zero-bin` crate + update `CODEOWNERS` (#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` and `DerefColumns` 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 for `LogicStark` (#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 in `KERNEL` mode (#373)
- Fix iterator length when fetching block hashes (#374)
- fix: scale withdrawals amount to gwei (#371)
- refactor: frontend of `trace_decoder` (#309)


## [0.4.0] - 2024-06-12

### Changed
Expand Down
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -107,11 +107,11 @@ url = "2.5.2"
winnow = "0.6.13"

# local dependencies
evm_arithmetization = { path = "evm_arithmetization", version = "0.2.0" }
mpt_trie = { path = "mpt_trie", version = "0.3.0" }
proof_gen = { path = "proof_gen", version = "0.2.0" }
evm_arithmetization = { path = "evm_arithmetization", version = "0.3.0" }
mpt_trie = { path = "mpt_trie", version = "0.4.0" }
proof_gen = { path = "proof_gen", version = "0.3.0" }
smt_trie = { path = "smt_trie", version = "0.1.0" }
trace_decoder = { path = "trace_decoder", version = "0.4.0" }
trace_decoder = { path = "trace_decoder", version = "0.5.0" }

# zero-bin related dependencies
ops = { path = "zero_bin/ops" }
Expand Down
23 changes: 15 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,45 +10,52 @@ This repository contains the following Rust crates:

* [mpt_trie](./mpt_trie/README.md): A collection of types and functions to work with Ethereum Merkle Patricie Tries.

* [trace_decoder](./trace_decoder/README.md): Flexible protocol designed to process Ethereum clients trace payloads into an IR format that can be
* [smt_trie](./smt_trie/README.md): A collection of types and functions to work with Polygon Hermez Sparse Merkle Trees (SMT).

* [trace_decoder](./trace_decoder/Cargo.toml): Flexible protocol designed to process Ethereum clients trace payloads into an IR format that can be
understood by the zkEVM prover.

* [evm_arithmetization](./evm_arithmetization/README.md): Defines all the STARK constraints and recursive circuits to generate succinct proofs of EVM execution.
It uses starky and plonky2 as proving backend: https://github.com/0xPolygonZero/plonky2.

* [proof_gen](./proof_gen/README.md): A convenience library for generating proofs from inputs already in Intermediate Representation (IR) format.

* [zero_bin](./zero_bin/README.md): A composition of [`paladin`](https://github.com/0xPolygonZero/paladin) and [`proof_gen`](./proof_gen/README.md) to generate
EVM block proofs.

## Dependency graph

Below is a simplified view of the dependency graph, including the proving systems backend and the application layer defined within [zero-bin](https://github.com/0xPolygonZero/zero-bin).
Below is a simplified view of the dependency graph, including the proving system backends and the application layer defined within [zero-bin](https://github.com/0xPolygonZero/zero-bin).

<!---
TODO: Update mermaid chard with `smt_trie` once type-2 is plugged in.
-->
```mermaid
flowchart TD
flowchart LR
subgraph ps [proving systems]
A1{{plonky2}}
A2{{starky}}
end
ps --> zk_evm
subgraph zk_evm [zk_evm]
B[mpt_trie]
C[evm_arithmetization]
D[trace_decoder]
E[proof_gen]
A1 --> C
A1 --> E
A2 --> C
B --> C
B ---> D
C ---> D
C --> E
D --> E
end
F{zero-bin}
A1 --> F
C --> F
D --> F
E --> F
end
```

## Documentation
Expand Down
2 changes: 1 addition & 1 deletion evm_arithmetization/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "evm_arithmetization"
description = "Implementation of STARKs for the Ethereum Virtual Machine"
version = "0.2.0"
version = "0.3.0"
authors = [
"Daniel Lubarov <[email protected]>",
"William Borgeaud <[email protected]>",
Expand Down
Loading

0 comments on commit 34de2fd

Please sign in to comment.