forked from anthias-labs/arbiter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
80 lines (69 loc) · 2.6 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
[workspace]
# List of crates included in this workspace
members = [ "arbiter-bindings", "arbiter-core", "arbiter-derive", "arbiter-engine"]
# List of crates excluded from this workspace
exclude = ["benches"]
# Package configuration
[package]
name = "arbiter"
version = "0.4.13"
edition = "2021"
authors = ["Waylon Jepsen <[email protected]>", "Colin Roberts <[email protected]>"]
description = "Allowing smart contract developers to do simulation driven development via an EVM emulator"
license = "Apache-2.0"
keywords = ["ethereum", "evm", "emulator", "testing", "smart-contracts"]
# Binary configuration
[[bin]]
name = "arbiter"
path = "bin/main.rs"
[workspace.dependencies]
arbiter-bindings = { version = "*", path = "./arbiter-bindings" }
arbiter-core = { version = "*", path = "./arbiter-core" }
ethers = { version = "2.0.10" }
serde = { version = "1.0.193", features = ["derive"] }
serde_json = { version = "=1.0.108" }
revm = { git = "https://github.com/bluealloy/revm.git", rev = "30bbcdf", features = [ "ethersdb", "std", "serde"] }
revm-primitives = { git = "https://github.com/bluealloy/revm.git", rev = "30bbcdf" }
thiserror = { version = "1.0.55" }
syn = { version = "2.0.43" }
quote = { version = "=1.0.33" }
proc-macro2 = { version = "1.0.76" }
tokio = { version = "1.35.1", features = ["macros", "full"] }
crossbeam-channel = { version = "0.5.11" }
futures-util = { version = "=0.3.30" }
async-trait = { version = "0.1.76" }
tracing = "0.1.40"
async-stream = "0.3.5"
# Dependencies for the release build
[dependencies]
arbiter-core.workspace = true
# Command line and config
clap = { version = "=4.4.17", features = ["derive"] }
serde.workspace = true
serde_json.workspace = true
config = { version = "=0.13.4" }
ethers.workspace = true
revm.workspace = true
toml = { version = "=0.8.8" }
proc-macro2.workspace = true
syn.workspace = true
Inflector = { version = "=0.11.4" }
# Building files
quote.workspace = true
foundry-config = { version = "=0.2.0" }
tempfile = { version = "3.9.0"}
# Errors
thiserror.workspace = true
# Dependencies for the test build and development
[dev-dependencies]
tokio.workspace = true
assert_cmd = { version = "=2.0.13" }
rayon = { version = "1.8.0" }
revm-primitives.workspace = true
# Release profile
[profile.release]
# Link-Time Optimization can improve runtime at cost of build time
lto = true
# The Rust compiler splits your crate into multiple codegen units to parallelize (and thus speed up) compilation but at the cost of optimization.
# This setting tells the compiler to use only one codegen unit, which will slow down compilation but improve optimization.
codegen-units = 1