forked from foundry-rs/foundry
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
124 lines (110 loc) · 3.2 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
[package]
name = "anvil"
description = "Local ethereum node"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
[lints]
workspace = true
[[bin]]
name = "anvil"
path = "src/anvil.rs"
required-features = ["cli"]
[build-dependencies]
vergen = { workspace = true, default-features = false, features = [
"build",
"git",
"gitcl",
] }
[dependencies]
# foundry internal
anvil-core = { path = "core", features = ["serde", "impersonated-tx"] }
anvil-rpc = { path = "rpc" }
anvil-server = { path = "server" }
foundry-cli.workspace = true
foundry-common.workspace = true
foundry-config.workspace = true
foundry-evm.workspace = true
# evm support
bytes = "1.4.0"
k256.workspace = true
revm = { workspace = true, features = [
"std",
"serde",
"memory_limit",
"c-kzg",
] }
alloy-primitives = { workspace = true, features = ["serde"] }
alloy-consensus = { workspace = true, features = ["k256", "kzg"] }
alloy-contract = { workspace = true, features = ["pubsub"] }
alloy-network.workspace = true
alloy-eips.workspace = true
alloy-rlp.workspace = true
alloy-signer = { workspace = true, features = ["eip712"] }
alloy-signer-wallet = { workspace = true, features = ["mnemonic"] }
alloy-sol-types = { workspace = true, features = ["std"] }
alloy-dyn-abi = { workspace = true, features = ["std", "eip712"] }
alloy-rpc-types.workspace = true
alloy-rpc-types-trace.workspace = true
alloy-provider = { workspace = true, features = ["reqwest", "ws", "ipc"] }
alloy-transport.workspace = true
alloy-chains.workspace = true
alloy-genesis.workspace = true
alloy-trie.workspace = true
# axum related
axum.workspace = true
hyper.workspace = true
tower.workspace = true
# tracing
tracing.workspace = true
tracing-subscriber = { workspace = true, features = ["env-filter", "fmt"] }
# async
tokio = { workspace = true, features = ["time"] }
parking_lot = "0.12"
futures = "0.3"
async-trait = "0.1"
# misc
flate2 = "1.0"
serde_repr = "0.1"
serde_json.workspace = true
serde.workspace = true
thiserror = "1"
yansi.workspace = true
tempfile.workspace = true
itertools.workspace = true
rand = "0.8"
eyre.workspace = true
# cli
clap = { version = "4", features = [
"derive",
"env",
"wrap_help",
], optional = true }
clap_complete = { version = "4", optional = true }
chrono.workspace = true
auto_impl = "1"
ctrlc = { version = "3", optional = true }
fdlimit = { version = "0.3", optional = true }
clap_complete_fig = "4"
[target.'cfg(unix)'.dependencies]
tikv-jemallocator = { workspace = true, optional = true }
[dev-dependencies]
alloy-json-abi.workspace = true
alloy-rpc-client = { workspace = true, features = ["pubsub"] }
alloy-transport-ipc = { workspace = true, features = ["mock"] }
alloy-transport-ws.workspace = true
alloy-json-rpc.workspace = true
alloy-pubsub.workspace = true
foundry-test-utils.workspace = true
similar-asserts.workspace = true
tokio = { workspace = true, features = ["full"] }
[features]
default = ["cli", "jemalloc"]
cmd = ["clap", "clap_complete", "ctrlc", "anvil-server/clap"]
cli = ["tokio/full", "cmd", "fdlimit"]
asm-keccak = ["alloy-primitives/asm-keccak"]
jemalloc = ["dep:tikv-jemallocator"]