-
Notifications
You must be signed in to change notification settings - Fork 271
Expand file tree
/
Copy pathCargo.toml
More file actions
360 lines (340 loc) · 17.2 KB
/
Cargo.toml
File metadata and controls
360 lines (340 loc) · 17.2 KB
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
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
[workspace.package]
version = "1.5.1"
edition = "2024"
rust-version = "1.93.0"
license = "MIT OR Apache-2.0"
publish = false
[workspace]
members = [
"bin/tempo",
"bin/tempo-bench",
"bin/tempo-sidecar",
"crates/alloy",
"crates/chainspec",
"crates/commonware-node",
"crates/commonware-node-config",
"crates/validator-config",
"crates/dkg-onchain-artifacts",
"crates/consensus",
"crates/eyre",
"crates/ext",
"crates/evm",
"crates/e2e",
"crates/faucet",
"crates/node",
"crates/payload/builder",
"crates/payload/types",
"crates/precompiles",
"crates/precompiles-macros",
"crates/primitives",
"crates/contracts",
"crates/telemetry-util",
"crates/transaction-pool",
"crates/revm",
"xtask",
]
# Resolver 3 is available with edition 2024
resolver = "3"
[workspace.lints]
[workspace.lints.clippy]
dbg-macro = "warn"
manual-string-new = "warn"
uninlined-format-args = "warn"
use-self = "warn"
redundant-clone = "warn"
default-constructed-unit-structs = "allow"
[workspace.lints.rust]
rust-2018-idioms = "warn"
unreachable-pub = "warn"
unused-must-use = "warn"
redundant-lifetimes = "warn"
unnameable-types = "warn"
[workspace.lints.rustdoc]
all = "warn"
# Speed up compilation time for dev builds by reducing emitted debug info.
# NOTE: Debuggers may provide less useful information with this setting.
# Uncomment this section if you're using a debugger.
[profile.dev]
# https://davidlattimore.github.io/posts/2024/02/04/speeding-up-the-rust-edit-build-run-cycle.html
debug = "line-tables-only"
split-debuginfo = "unpacked"
# Meant for testing - all optimizations, but with debug assertions and overflow checks.
[profile.hivetests]
inherits = "test"
opt-level = 3
lto = "thin"
[profile.release]
opt-level = 3
lto = "thin"
debug = "none"
strip = "symbols"
panic = "unwind"
codegen-units = 16
# Use the `--profile profiling` flag to show symbols in release mode.
# e.g. `cargo build --profile profiling`
[profile.profiling]
inherits = "release"
debug = "line-tables-only"
strip = "none"
incremental = true
# Include debug info in benchmarks too.
[profile.bench]
inherits = "profiling"
[profile.maxperf]
inherits = "release"
lto = "fat"
codegen-units = 1
[workspace.dependencies]
tempo-alloy = { path = "crates/alloy" }
tempo-node = { path = "crates/node" }
tempo-chainspec = { path = "crates/chainspec", default-features = false }
tempo-commonware-node = { path = "crates/commonware-node", default-features = false }
tempo-commonware-node-config = { path = "crates/commonware-node-config", default-features = false }
tempo-consensus = { path = "crates/consensus", default-features = false }
tempo-dkg-onchain-artifacts = { path = "crates/dkg-onchain-artifacts", default-features = false }
tempo-e2e = { path = "crates/e2e" }
tempo-faucet = { path = "crates/faucet", default-features = false }
tempo-evm = { path = "crates/evm", default-features = false }
tempo-eyre = { path = "crates/eyre", default-features = false }
tempo-ext = { path = "crates/ext" }
tempo-revm = { path = "crates/revm", default-features = false }
tempo-payload-builder = { path = "crates/payload/builder", default-features = false }
tempo-payload-types = { path = "crates/payload/types", default-features = false }
tempo-precompiles = { path = "crates/precompiles", default-features = false }
tempo-precompiles-macros = { path = "crates/precompiles-macros" }
tempo-primitives = { path = "crates/primitives", default-features = false }
tempo-contracts = { path = "crates/contracts", default-features = false, features = ["serde"] }
tempo-telemetry-util = { path = "crates/telemetry-util", default-features = false }
tempo-transaction-pool = { path = "crates/transaction-pool", default-features = false }
tempo-validator-config = { path = "crates/validator-config", default-features = false }
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435", default-features = false }
reth-cli = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-cli-commands = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-cli-runner = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-codecs = { version = "0.1.0", default-features = false }
reth-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-consensus-common = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-db = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-db-api = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-e2e-test-utils = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-engine-local = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-engine-tree = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-errors = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-eth-wire-types = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-etl = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-ethereum-cli = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-ethereum-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-ethereum-engine-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435", default-features = false }
reth-execution-types = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-metrics = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-network-peers = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435", default-features = false }
reth-node-api = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-node-builder = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-node-core = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-node-metrics = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-primitives-traits = { version = "0.1.0", default-features = false }
reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-rpc = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-rpc-convert = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-rpc-eth-api = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-rpc-server-types = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-storage-api = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-tracing = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-trie = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-trie-common = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-trie-db = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435" }
reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "c82d435", features = [
"std",
"optional-checks",
] }
revm = { version = "36.0.0", features = ["optional_fee_charge"], default-features = false }
alloy = { version = "1.8.2", default-features = false }
alloy-consensus = { version = "1.8.2", default-features = false }
alloy-contract = { version = "1.8.2", default-features = false }
alloy-eips = { version = "1.8.2", default-features = false }
alloy-evm = { version = "0.30.0", default-features = false }
revm-inspectors = "0.36.0"
alloy-genesis = { version = "1.8.2", default-features = false }
alloy-hardforks = "0.4.7"
alloy-network = { version = "1.8.2", default-features = false }
alloy-primitives = { version = "1.5.7", default-features = false }
alloy-provider = { version = "1.8.2", default-features = false }
alloy-rlp = { version = "0.3.13", default-features = false }
alloy-rpc-types-engine = "1.8.2"
alloy-rpc-types-eth = { version = "1.8.2" }
alloy-serde = { version = "1.8.2", default-features = false }
alloy-signer = "1.8.2"
alloy-signer-local = "1.8.2"
coins-bip32 = "0.12"
alloy-sol-types = { version = "1.5.7", default-features = false }
alloy-transport = "1.8.2"
commonware-broadcast = "2026.3.0"
commonware-codec = "2026.3.0"
commonware-consensus = "2026.3.0"
commonware-cryptography = "2026.3.0"
commonware-macros = "2026.3.0"
commonware-math = "2026.3.0"
commonware-p2p = "2026.3.0"
commonware-parallel = "2026.3.0"
commonware-runtime = "2026.3.0"
commonware-storage = "2026.3.0"
commonware-utils = "2026.3.0"
arbitrary = { version = "1.4", features = ["derive"] }
async-lock = "3.4.2"
async-trait = "0.1"
auto_impl = "1"
axum = "0.8.8"
base64 = { version = "0.22", features = ["alloc"], default-features = false }
bytes = "1.11.1"
clap = { version = "4.5.57", features = ["derive", "env"] }
const-hex = { version = "1.17.0" }
dashmap = "6"
dirs-next = "2.0.0"
derive_more = { version = "2.1.1", default-features = false }
ed25519-dalek = { version = "2", features = ["rand_core"] }
either = "1"
eyre = "0.6.12"
futures = "0.3.31"
governor = "0.10.4"
indexmap = "2.13.0"
indicatif = "0.18"
itertools = "0.14.0"
jiff = { version = "0.2.18", default-features = false }
jsonrpsee = { version = "0.26.0", features = ["server", "client", "macros"] }
metrics = "0.24.3"
once_cell = { version = "1.19", default-features = false, features = ["critical-section"] }
minisign = "0.8"
minisign-verify = "0.2"
p256 = { version = "0.13", default-features = false }
parking_lot = "0.12.5"
prometheus-client = "0.24.0"
proptest = "1.9"
proptest-arbitrary-interop = "0.1.0"
rand = "0.9"
rand_08 = { package = "rand", version = "0.8.5" }
rand_core = "0.6.4"
reqwest = { version = "0.13", default-features = false, features = ["rustls"] }
rustls = { version = "0.23", default-features = false, features = ["ring"] }
semver = "1"
serde = { version = "1.0.228", features = ["derive"], default-features = false }
serde_json = { version = "1.0.149", features = ["alloc"], default-features = false }
schnellru = "0.2"
sha2 = { version = "0.10", default-features = false }
tempfile = "3.24.0"
thiserror = "2.0.18"
# TODO: restrict this to only the required features
tokio = { version = "1.49.0", features = ["full"] }
tokio-util = "0.7.18"
tracy-client = "0.18.4"
tracing = "0.1.44"
tracing-subscriber = "0.3.22"
url = "2.5"
criterion = "0.8.2"
paste = "1"
test-case = "3"
insta = { version = "1", features = ["yaml"] }
secp256k1 = { version = "0.30.0", default-features = false }
pyroscope = "0.5.8"
pyroscope_pprofrs = "0.2.10"
rayon = "1.11"
# build deps
vergen = "9.1.0"
vergen-git2 = "9.1.0"
# [patch."https://github.com/paradigmxyz/reth"]
# reth-basic-payload-builder = { path = "../reth/crates/payload/basic" }
# reth-chain-state = { path = "../reth/crates/chain-state" }
# reth-chainspec = { path = "../reth/crates/chainspec" }
# reth-cli = { path = "../reth/crates/cli/cli" }
# reth-cli-commands = { path = "../reth/crates/cli/commands" }
# reth-cli-runner = { path = "../reth/crates/cli/runner" }
# reth-cli-util = { path = "../reth/crates/cli/util" }
# reth-codecs = { path = "../reth/crates/storage/codecs" }
# reth-codecs-derive = { path = "../reth/crates/storage/codecs/derive" }
# reth-config = { path = "../reth/crates/config" }
# reth-consensus = { path = "../reth/crates/consensus/consensus" }
# reth-consensus-common = { path = "../reth/crates/consensus/common" }
# reth-db = { path = "../reth/crates/storage/db" }
# reth-db-api = { path = "../reth/crates/storage/db-api" }
# reth-e2e-test-utils = { path = "../reth/crates/e2e-test-utils" }
# reth-engine-local = { path = "../reth/crates/engine/local" }
# reth-engine-primitives = { path = "../reth/crates/engine/primitives" }
# reth-engine-tree = { path = "../reth/crates/engine/tree" }
# reth-errors = { path = "../reth/crates/errors" }
# reth-eth-wire-types = { path = "../reth/crates/net/eth-wire-types" }
# reth-ethereum = { path = "../reth/crates/ethereum/reth" }
# reth-ethereum-cli = { path = "../reth/crates/ethereum/cli" }
# reth-ethereum-consensus = { path = "../reth/crates/ethereum/consensus" }
# reth-ethereum-engine-primitives = { path = "../reth/crates/ethereum/engine-primitives" }
# reth-ethereum-forks = { path = "../reth/crates/ethereum/hardforks" }
# reth-ethereum-primitives = { path = "../reth/crates/ethereum/primitives" }
# reth-evm = { path = "../reth/crates/evm/evm" }
# reth-evm-ethereum = { path = "../reth/crates/ethereum/evm" }
# reth-execution-errors = { path = "../reth/crates/evm/execution-errors" }
# reth-execution-types = { path = "../reth/crates/evm/execution-types" }
# reth-exex-types = { path = "../reth/crates/exex/types" }
# reth-metrics = { path = "../reth/crates/metrics" }
# reth-net-banlist = { path = "../reth/crates/net/banlist" }
# reth-network = { path = "../reth/crates/net/network" }
# reth-network-p2p = { path = "../reth/crates/net/p2p" }
# reth-network-peers = { path = "../reth/crates/net/peers" }
# reth-network-types = { path = "../reth/crates/net/network-types" }
# reth-node-api = { path = "../reth/crates/node/api" }
# reth-node-builder = { path = "../reth/crates/node/builder" }
# reth-node-core = { path = "../reth/crates/node/core" }
# reth-node-ethereum = { path = "../reth/crates/ethereum/node" }
# reth-node-metrics = { path = "../reth/crates/node/metrics" }
# reth-payload-builder = { path = "../reth/crates/payload/builder" }
# reth-payload-primitives = { path = "../reth/crates/payload/primitives" }
# reth-primitives-traits = { path = "../reth/crates/primitives-traits" }
# reth-provider = { path = "../reth/crates/storage/provider" }
# reth-prune = { path = "../reth/crates/prune/prune" }
# reth-prune-types = { path = "../reth/crates/prune/types" }
# reth-revm = { path = "../reth/crates/revm" }
# reth-rpc = { path = "../reth/crates/rpc/rpc" }
# reth-rpc-api = { path = "../reth/crates/rpc/rpc-api" }
# reth-rpc-builder = { path = "../reth/crates/rpc/rpc-builder" }
# reth-rpc-convert = { path = "../reth/crates/rpc/rpc-convert" }
# reth-rpc-eth-api = { path = "../reth/crates/rpc/rpc-eth-api" }
# reth-rpc-eth-types = { path = "../reth/crates/rpc/rpc-eth-types" }
# reth-rpc-server-types = { path = "../reth/crates/rpc/rpc-server-types" }
# reth-stages-api = { path = "../reth/crates/stages/api" }
# reth-stages-types = { path = "../reth/crates/stages/types" }
# reth-static-file = { path = "../reth/crates/static-file/static-file" }
# reth-static-file-types = { path = "../reth/crates/static-file/types" }
# reth-storage-api = { path = "../reth/crates/storage/storage-api" }
# reth-storage-errors = { path = "../reth/crates/storage/errors" }
# reth-tasks = { path = "../reth/crates/tasks" }
# reth-tokio-util = { path = "../reth/crates/tokio-util" }
# reth-tracing = { path = "../reth/crates/tracing" }
# reth-transaction-pool = { path = "../reth/crates/transaction-pool" }
# reth-trie = { path = "../reth/crates/trie/trie" }
# reth-trie-common = { path = "../reth/crates/trie/common" }
# reth-trie-db = { path = "../reth/crates/trie/db" }
# reth-trie-parallel = { path = "../reth/crates/trie/parallel" }
# reth-trie-sparse = { path = "../reth/crates/trie/sparse" }
# reth-trie-sparse-parallel = { path = "../reth/crates/trie/sparse-parallel" }
[patch.crates-io]
# Commonware right after after PR #3298 was merged
# commonware-broadcast = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-codec = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-consensus = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-cryptography = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-macros = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-math = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-p2p = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-parallel = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-runtime = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-storage = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }
# commonware-utils = { git = "https://github.com/commonwarexyz/monorepo", rev = "240e0207ee10c3c37a42867ce4de97b581c06b32" }