[workspace.package] version = "2.0.0" edition = "2021" rust-version = "1.65" license = "MIT OR Apache-2.0" documentation = "https://docs.rs/ethers" repository = "https://github.com/gakonst/ethers-rs" homepage = "https://github.com/gakonst/ethers-rs" categories = ["cryptography::cryptocurrencies"] keywords = ["crypto", "ethers", "ethereum", "web3", "celo"] exclude = [ ".github/", "bin/", "book/", "**/tests/", "**/test-data/", "**/testdata/", "examples", "scripts/", ] # https://docs.rs/about/metadata [workspace.metadata.docs.rs] all-features = true rustc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs"] # https://github.com/integer32llc/rust-playground/blob/c6165a36923db5d99313e6056b5b610a2ede5bb0/top-crates/src/lib.rs#L175-L184 [workspace.metadata.playground] all-features = true [workspace] members = [ "ethers", "ethers-addressbook", "ethers-contract", "ethers-core", "ethers-etherscan", "ethers-middleware", "ethers-providers", "ethers-signers", "ethers-solc", # Example crates "examples/*", ] # Do not include example crates in default members default-members = [ "ethers", "ethers-addressbook", "ethers-contract", "ethers-core", "ethers-etherscan", "ethers-middleware", "ethers-providers", "ethers-signers", "ethers-solc", ] # Explicitly set the resolver to version 2, which is the default for packages with edition >= 2021 # https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html resolver = "2" [workspace.dependencies] # workspace crates ethers = { version = "2.0.0", path = "ethers", default-features = false } ethers-addressbook = { version = "2.0.0", path = "ethers-addressbook", default-features = false } ethers-contract = { version = "2.0.0", path = "ethers-contract", default-features = false } ethers-core = { version = "2.0.0", path = "ethers-core", default-features = false } ethers-etherscan = { version = "2.0.0", path = "ethers-etherscan", default-features = false } ethers-middleware = { version = "2.0.0", path = "ethers-middleware", default-features = false } ethers-providers = { version = "2.0.0", path = "ethers-providers", default-features = false } ethers-signers = { version = "2.0.0", path = "ethers-signers", default-features = false } ethers-solc = { version = "2.0.0", path = "ethers-solc", default-features = false } ethers-contract-abigen = { version = "2.0.0", path = "ethers-contract/ethers-contract-abigen", default-features = false } ethers-contract-derive = { version = "2.0.0", path = "ethers-contract/ethers-contract-derive", default-features = false } # async / async utils tokio = "1.26" tokio-tungstenite = { version = "0.18.0", default-features = false } futures = { version = "0.3.27", default-features = false, features = ["std"] } futures-core = "0.3.27" futures-util = "0.3.27" futures-executor = "0.3.27" futures-channel = "0.3.27" futures-locks = { version = "0.7.1", default-features = false } futures-timer = { version = "3.0.2", default-features = false, features = ["wasm-bindgen"] } pin-project = "1.0" reqwest = { version = "0.11.14", default-features = false } url = { version = "2.3", default-features = false } # crypto elliptic-curve = { version = "0.13.2", default-features = false } generic-array = { version = "0.14.6", default-features = false } k256 = { version = "0.13.0", default-features = false, features = ["ecdsa", "std"] } sha2 = { version = "0.10.6", default-features = false } tiny-keccak = { version = "2.0.2", default-features = false } spki = { version = "0.7.0", default-features = false } # serde serde = "1.0" serde_json = "1.0" # macros proc-macro2 = "1.0" quote = "1.0" syn = { version = "2.0", features = ["extra-traits"] } async-trait = "0.1.66" auto_impl = "1.0" # misc Inflector = "0.11" thiserror = "1.0" once_cell = "1.17" hex = "0.4" eyre = "0.6" tempfile = "3.4" dunce = "1.0" walkdir = "2.3" regex = "1.7" toml = "0.7" hex-literal = "0.3" rand = "0.8" bytes = "1.4" semver = "1.0" criterion = "0.4" rayon = "1.7" # tracing tracing = "0.1.37" tracing-subscriber = { version = "0.3.16", default-features = false } tracing-futures = "0.2.5" # wasm getrandom = { version = "0.2", features = ["js"] } instant = "0.1.12"