125 lines
2.9 KiB
TOML
125 lines
2.9 KiB
TOML
[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 = []
|