-
Notifications
You must be signed in to change notification settings - Fork 764
/
Cargo.toml
124 lines (102 loc) · 2.95 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 = "ethers-solc"
authors = [
"Matthias Seitz <matthias.seitz@outlook.de>",
"Georgios Konstantopoulos <me@gakonst.com>",
]
readme = "README.md"
description = "Utilites for working with solc"
keywords = ["ethers", "ethereum", "web3", "solc", "solidity"]
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
documentation.workspace = true
repository.workspace = true
homepage.workspace = true
categories.workspace = true
exclude.workspace = true
[package.metadata.docs.rs]
all-features = true
rustc-args = ["--cfg", "docsrs"]
rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.playground]
all-features = true
[dependencies]
ethers-core.workspace = true
solang-parser = { version = "=0.2.3", default-features = false }
serde = { workspace = true, features = ["derive", "rc"] }
serde_json.workspace = true
tiny-keccak = { version = "2.0.2", default-features = false }
sha2 = { workspace = true, optional = true }
md-5 = "0.10.5"
semver = { workspace = true, features = ["serde"] }
walkdir.workspace = true
once_cell.workspace = true
regex.workspace = true
thiserror.workspace = true
hex.workspace = true
yansi = "0.5.1"
glob = "0.3.1"
tracing.workspace = true
num_cpus = "1.15.0"
dunce.workspace = true
rayon.workspace = true
path-slash = "0.2.1"
cfg-if = "1.0.0"
tempfile = { version = "3.4.0", optional = true }
fs_extra = { version = "1.3.0", optional = true }
rand = { workspace = true, optional = true }
futures-util = { workspace = true, optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
home = "0.5.4"
svm = { package = "svm-rs", version = "0.2", default-features = false, features = [
"blocking",
], optional = true }
svm-builds = { package = "svm-rs-builds", version = "0.1", optional = true }
tokio = { workspace = true, features = ["rt"] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
# NOTE: this enables wasm compatibility for getrandom indirectly
getrandom.workspace = true
[dev-dependencies]
criterion.workspace = true
env_logger = "0.10.0"
tracing-subscriber = { workspace = true, features = ["env-filter", "fmt"] }
rand.workspace = true
pretty_assertions = "1.3.0"
tempfile.workspace = true
serde_path_to_error = "0.1.10"
[[bench]]
name = "compile_many"
harness = false
[[bench]]
name = "read_all"
required-features = ["project-util"]
harness = false
[[test]]
name = "project"
path = "tests/project.rs"
required-features = ["full", "project-util"]
[[test]]
name = "mocked"
path = "tests/mocked.rs"
required-features = ["full", "project-util"]
[features]
default = ["rustls"]
full = ["async", "svm-solc"]
async = [
"tokio/process",
"tokio/io-util",
"tokio/fs",
"tokio/time",
"futures-util",
"criterion/async_tokio",
]
svm-solc = ["svm", "svm-builds", "sha2"]
# Utilities for creating and testing project workspaces
project-util = ["tempfile", "fs_extra", "rand"]
tests = []
openssl = ["svm?/openssl"]
rustls = ["svm?/rustls"]
# Deprecated
asm = []