ethers-rs/ethers-solc/Cargo.toml

97 lines
2.9 KiB
TOML

[package]
name = "ethers-solc"
version = "2.0.0"
edition = "2021"
rust-version = "1.64"
authors = [
"Matthias Seitz <matthias.seitz@outlook.de>",
"Georgios Konstantopoulos <me@gakonst.com>",
]
license = "MIT OR Apache-2.0"
readme = "../README.md"
documentation = "https://docs.rs/ethers"
repository = "https://github.com/gakonst/ethers-rs"
homepage = "https://docs.rs/ethers"
description = "Utilites for working with solc"
keywords = ["ethereum", "web3", "solc", "solidity", "ethers"]
[dependencies]
ethers-core = { version = "^2.0.0", path = "../ethers-core", default-features = false }
serde_json = "1.0.68"
serde = { version = "1.0.130", features = ["derive", "rc"] }
semver = { version = "1.0.17", features = ["serde"] }
walkdir = "2.3.2"
tokio = { version = "1.18", default-features = false, features = ["rt"] }
futures-util = { version = "^0.3", optional = true }
once_cell = "1.17.1"
regex = "1.7.1"
md-5 = "0.10.5"
thiserror = "1.0"
hex = "0.4.3"
yansi = "0.5.1"
glob = "0.3.1"
tracing = "0.1.37"
num_cpus = "1.15.0"
tiny-keccak = { version = "2.0.2", default-features = false }
tempfile = { version = "3.4.0", optional = true }
fs_extra = { version = "1.3.0", optional = true }
sha2 = { version = "0.10.6", default-features = false, optional = true }
dunce = "1.0.3"
solang-parser = { default-features = false, version = "=0.2.3" }
rayon = "1.7.0"
rand = { version = "0.8.5", optional = true }
path-slash = "0.2.1"
cfg-if = "1.0.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
home = "0.5.4"
svm = { package = "svm-rs", version = "0.2", default-features = false, optional = true, features = [
"blocking",
] }
svm-builds = { package = "svm-rs-builds", version = "0.1", optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
# NOTE: this enables wasm compatibility for getrandom indirectly
getrandom = { version = "0.2", features = ["js"] }
[dev-dependencies]
criterion = { version = "0.4", features = ["async_tokio"] }
env_logger = "0.10.0"
tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt"] }
rand = "0.8.5"
pretty_assertions = "1.3.0"
tempfile = "3.4.0"
tokio = { version = "1.18", features = ["full"] }
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"]
async = ["tokio/process", "tokio/io-util", "tokio/fs", "tokio/time", "futures-util"]
full = ["async", "svm-solc"]
svm-solc = ["svm/blocking", "svm-builds", "sha2"]
# Utilities for creating and testing project workspaces
project-util = ["tempfile", "fs_extra", "rand"]
tests = []
openssl = ["svm/openssl"]
rustls = ["svm/rustls"]
asm = ["sha2/asm", "svm/sha2-asm"]