ethers-rs/ethers-solc/Cargo.toml

93 lines
3.0 KiB
TOML

[package]
name = "ethers-solc"
version = "0.3.0"
authors = ["Matthias Seitz <matthias.seitz@outlook.de>", "Georgios Konstantopoulos <me@gakonst.com>"]
license = "MIT OR Apache-2.0"
edition = "2018"
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 = "^0.6.0", path = "../ethers-core", default-features = false }
serde_json = "1.0.68"
serde = { version = "1.0.130", features = ["derive"] }
semver = { version = "1.0.9", 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.12.0"
regex = "1.5.6"
md-5 = "0.10.1"
thiserror = "1.0"
hex = "0.4.3"
colored = "2.0.0"
glob = "0.3.0"
tracing = "0.1.35"
num_cpus = "1.13.1"
tiny-keccak = { version = "2.0.2", default-features = false }
tempfile = { version = "3.3.0", optional = true }
fs_extra = { version = "1.2.0", optional = true }
sha2 = { version = "0.9.8", default-features = false, optional = true }
dunce = "1.0.2"
solang-parser = { default-features = false, version = "=0.1.14" }
rayon = "1.5.3"
rand = { version = "0.8.5", optional = true }
path-slash = "0.1.4"
cfg-if = "1.0.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
home = "0.5.3"
# SVM is not WASM compatible yet.
# svm = { package = "svm-rs", default-features = false, version = "0.2.7", optional = true }
svm = { package = "svm-rs", version = "0.2.9", default-features = false, git = "https://github.com/roynalnaruto/svm-rs", optional = true, features = ["blocking"] }
svm-builds = { package = "svm-rs-builds", version = "0.1.0", git = "https://github.com/roynalnaruto/svm-rs", 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.3", features = ["async_tokio"] }
env_logger = "*"
tracing-subscriber = {version = "0.3", default-features = false, features = ["env-filter", "fmt"]}
rand = "0.8.5"
pretty_assertions = "1.2.1"
tempfile = "3.3.0"
tokio = { version = "1.18", features = ["full"] }
[[bench]]
name = "compile_many"
harness = false
[[bench]]
name = "read_all"
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"]