Skip to content

Commit 66bb003

Browse files
authored
feat(vm): Extract batch executor to separate crate (#2702)
## What ❔ - Extracts batch executor from `zksync_state_keeper` into a separate crate, `zksync_vm_executor`. Places batch executor interfaces in `zksync_vm_interface`. - Moves `zksync_vm_utils` remains to this crate, too. - Removes dependency on the `zksync_state_keeper` in the VM runner. ## Why ❔ Improves encapsulation and versatility (e.g., when using custom VMs). ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`.
1 parent e75532d commit 66bb003

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1051
-1035
lines changed

Cargo.lock

Lines changed: 23 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ members = [
7070
"core/lib/vlog",
7171
"core/lib/multivm",
7272
"core/lib/vm_interface",
73-
"core/lib/vm_utils",
73+
"core/lib/vm_executor",
7474
"core/lib/web3_decl",
7575
"core/lib/snapshots_applier",
7676
"core/lib/crypto_primitives",
@@ -236,7 +236,7 @@ zksync_multivm = { version = "0.1.0", path = "core/lib/multivm" }
236236
zksync_prover_dal = { version = "0.1.0", path = "prover/crates/lib/prover_dal" }
237237
zksync_vlog = { version = "0.1.0", path = "core/lib/vlog" }
238238
zksync_vm_interface = { version = "0.1.0", path = "core/lib/vm_interface" }
239-
zksync_vm_utils = { version = "0.1.0", path = "core/lib/vm_utils" }
239+
zksync_vm_executor = { version = "0.1.0", path = "core/lib/vm_executor" }
240240
zksync_basic_types = { version = "0.1.0", path = "core/lib/basic_types" }
241241
zksync_circuit_breaker = { version = "0.1.0", path = "core/lib/circuit_breaker" }
242242
zksync_config = { version = "0.1.0", path = "core/lib/config" }

core/lib/vm_utils/Cargo.toml renamed to core/lib/vm_executor/Cargo.toml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
2-
name = "zksync_vm_utils"
3-
description = "ZKsync VM utilities"
2+
name = "zksync_vm_executor"
3+
description = "Implementations of ZKsync VM executors"
44
version.workspace = true
55
edition.workspace = true
66
authors.workspace = true
@@ -14,8 +14,11 @@ categories.workspace = true
1414
zksync_contracts.workspace = true
1515
zksync_dal.workspace = true
1616
zksync_types.workspace = true
17-
zksync_vm_interface.workspace = true
17+
zksync_multivm.workspace = true
1818

19+
async-trait.workspace = true
20+
once_cell.workspace = true
1921
tokio.workspace = true
2022
anyhow.workspace = true
2123
tracing.workspace = true
24+
vise.workspace = true

0 commit comments

Comments
 (0)