forked from matter-labs/zksync-era
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
230 lines (223 loc) · 9.49 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
[workspace]
members = [
# Binaries
"core/bin/block_reverter",
"core/bin/contract-verifier",
"core/bin/external_node",
"core/bin/merkle_tree_consistency_checker",
"core/bin/snapshots_creator",
"core/bin/system-constants-generator",
"core/bin/verified_sources_fetcher",
"core/bin/zksync_server",
"core/bin/genesis_generator",
# Node services
"core/node/node_framework",
"core/node/block_reverter",
"core/node/commitment_generator",
"core/node/house_keeper",
# Libraries
"core/lib/db_connection",
"core/lib/zksync_core",
"core/lib/basic_types",
"core/lib/config",
"core/lib/constants",
"core/lib/contracts",
"core/lib/crypto",
"core/lib/circuit_breaker",
"core/lib/dal",
"core/lib/env_config",
"core/lib/eth_client",
"core/lib/eth_signer",
"core/lib/l1_contract_interface",
"core/lib/mempool",
"core/lib/merkle_tree",
"core/lib/mini_merkle_tree",
"core/lib/object_store",
"core/lib/prometheus_exporter",
"core/lib/prover_interface",
"core/lib/queued_job_processor",
"core/lib/state",
"core/lib/storage",
"core/lib/types",
"core/lib/protobuf_config",
"core/lib/utils",
"core/lib/vlog",
"core/lib/multivm",
"core/lib/vm_utils",
"core/lib/web3_decl",
"core/lib/snapshots_applier",
"core/lib/crypto_primitives",
# Test infrastructure
"core/tests/test_account",
"core/tests/loadnext",
"core/tests/vm-benchmark",
"core/tests/vm-benchmark/harness",
]
resolver = "2"
exclude = []
# for `perf` profiling
[profile.perf]
inherits = "release"
debug = true
[workspace.package]
version = "0.1.0"
edition = "2021"
authors = ["The Matter Labs Team <[email protected]>"]
homepage = "https://zksync.io/"
repository = "https://github.com/matter-labs/zksync-era"
license = "MIT OR Apache-2.0"
keywords = ["blockchain", "zksync"]
categories = ["cryptography"]
[workspace.dependencies]
# "External" dependencies
anyhow = "1"
assert_matches = "1.5"
async-trait = "0.1"
axum = "0.6.19"
backon = "0.4.4"
bigdecimal = "0.3.0"
bincode = "1"
blake2 = "0.10"
chrono = "0.4"
clap = "4.2.2"
codegen = "0.2.0"
criterion = "0.4.0"
ctrlc = "3.1"
derive_more = "=1.0.0-beta.6"
envy = "0.4"
ethabi = "18.0.0"
flate2 = "1.0.28"
futures = "0.3"
google-cloud-auth = "0.13.0"
google-cloud-storage = "0.15.0"
governor = "0.4.2"
hex = "0.4"
http = "0.2.9"
iai = "0.1"
insta = "1.29.0"
itertools = "0.10"
jsonrpc-core = "18"
jsonrpsee = { version = "0.21.0", default-features = false }
lazy_static = "1.4"
leb128 = "0.2.5"
lru = { version = "0.12.1", default-features = false }
metrics = "0.21"
metrics-exporter-prometheus = "0.12"
mini-moka = "0.10.0"
num = "0.4.0"
num_cpus = "1.13"
num_enum = "0.7.2"
once_cell = "1"
opentelemetry = "0.20.0"
opentelemetry-otlp = "0.13.0"
opentelemetry-semantic-conventions = "0.12.0"
pin-project-lite = "0.2.13"
pretty_assertions = "1"
prost = "0.12.1"
rand = "0.8"
rayon = "1.3.1"
regex = "1"
reqwest = "0.11"
rlp = "0.5"
rocksdb = "0.21.0"
rustc_version = "0.4.0"
secp256k1 = { version = "0.27.0", features = ["recovery", "global-context"] }
semver = "1"
sentry = "0.31"
serde = "1"
serde_derive = "1.0.90"
serde_json = "1"
serde_with = "1"
serde_yaml = "0.9"
sha2 = "0.10.8"
sha3 = "0.10.8"
sqlx = "0.7.3"
static_assertions = "1.1"
structopt = "0.3.20"
strum = "0.24"
tempfile = "3.0.2"
test-casing = "0.1.2"
test-log = "0.2.15"
thiserror = "1"
thread_local = "1.1"
tikv-jemallocator = "0.5"
tokio = "1"
tower = "0.4.13"
tower-http = "0.4.1"
tracing = "0.1"
tracing-subscriber = "0.3"
tracing-opentelemetry = "0.21.0"
url = "2"
web3 = "0.19.0"
# "Internal" dependencies
# TODO: use the v1.5.0 circuit_sequencer_api once the prover is integrated
circuit_sequencer_api = { package = "circuit_sequencer_api", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.2" }
circuit_sequencer_api_1_3_3 = { package = "circuit_sequencer_api", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.3.3" }
circuit_sequencer_api_1_4_0 = { package = "circuit_sequencer_api", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0" }
circuit_sequencer_api_1_4_1 = { package = "circuit_sequencer_api", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" }
circuit_sequencer_api_1_4_2 = { package = "circuit_sequencer_api", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.2" }
circuit_sequencer_api_1_5_0 = { package = "circuit_sequencer_api", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.5.0" }
crypto_codegen = { package = "codegen", git = "https://github.com/matter-labs/solidity_plonk_verifier.git", branch = "dev" }
kzg = { package = "kzg", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.2" }
vise = { git = "https://github.com/matter-labs/vise.git", version = "0.1.0", rev = "a5bb80c9ce7168663114ee30e794d6dc32159ee4" }
vise-exporter = { git = "https://github.com/matter-labs/vise.git", version = "0.1.0", rev = "a5bb80c9ce7168663114ee30e794d6dc32159ee4" }
zk_evm = { git = "https://github.com/matter-labs/era-zk_evm.git", tag = "v1.3.3-rc2" }
zk_evm_1_3_1 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", tag = "v1.3.1-rc2" }
zk_evm_1_3_3 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", tag = "v1.3.3-rc2" }
zk_evm_1_4_0 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.4.0" }
zk_evm_1_4_1 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.4.1" }
zk_evm_1_5_0 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.5.0" }
zksync_concurrency = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
zksync_consensus_bft = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
zksync_consensus_crypto = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
zksync_consensus_executor = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
zksync_consensus_network = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
zksync_consensus_roles = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
zksync_consensus_storage = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
zksync_consensus_utils = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
zksync_protobuf = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
zksync_protobuf_build = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "1dcda70c1c25d0e4db6781ba8d2645d7e8966d49" }
# "Local" dependencies
multivm = { path = "core/lib/multivm" }
prometheus_exporter = { path = "core/lib/prometheus_exporter" }
prover_dal = { path = "prover/prover_dal" }
vlog = { path = "core/lib/vlog" }
vm_utils = { path = "core/lib/vm_utils" }
vm-benchmark-harness = { path = "core/tests/vm-benchmark/harness" }
zksync = { path = "sdk/zksync-rs" }
zksync_basic_types = { path = "core/lib/basic_types" }
zksync_circuit_breaker = { path = "core/lib/circuit_breaker" }
zksync_config = { path = "core/lib/config" }
zksync_contracts = { path = "core/lib/contracts" }
zksync_core = { path = "core/lib/zksync_core" }
zksync_crypto = { path = "core/lib/crypto" }
zksync_dal = { path = "core/lib/dal" }
zksync_db_connection = { path = "core/lib/db_connection" }
zksync_env_config = { path = "core/lib/env_config" }
zksync_eth_client = { path = "core/lib/eth_client" }
zksync_eth_signer = { path = "core/lib/eth_signer" }
zksync_health_check = { path = "core/lib/health_check" }
zksync_l1_contract_interface = { path = "core/lib/l1_contract_interface" }
zksync_mempool = { path = "core/lib/mempool" }
zksync_merkle_tree = { path = "core/lib/merkle_tree" }
zksync_mini_merkle_tree = { path = "core/lib/mini_merkle_tree" }
zksync_object_store = { path = "core/lib/object_store" }
zksync_protobuf_config = { path = "core/lib/protobuf_config" }
zksync_prover_interface = { path = "core/lib/prover_interface" }
zksync_queued_job_processor = { path = "core/lib/queued_job_processor" }
zksync_snapshots_applier = { path = "core/lib/snapshots_applier" }
zksync_state = { path = "core/lib/state" }
zksync_storage = { path = "core/lib/storage" }
zksync_system_constants = { path = "core/lib/constants" }
zksync_test_account = { path = "core/tests/test_account" }
zksync_types = { path = "core/lib/types" }
zksync_utils = { path = "core/lib/utils" }
zksync_web3_decl = { path = "core/lib/web3_decl" }
zksync_crypto_primitives = { path = "core/lib/crypto_primitives" }
# Framework and components
zksync_node_framework = { path = "core/node/node_framework" }
zksync_eth_watch = { path = "core/node/eth_watch" }
zksync_shared_metrics = { path = "core/node/shared_metrics" }
zksync_block_reverter = { path = "core/node/block_reverter" }
zksync_commitment_generator = { path = "core/node/commitment_generator" }
zksync_house_keeper = { path = "core/node/house_keeper" }