[package] name = "ethers" version = "0.6.0" authors = ["Georgios Konstantopoulos "] license = "MIT OR Apache-2.0" edition = "2021" readme = "README.md" documentation = "https://docs.rs/ethers" repository = "https://github.com/gakonst/ethers-rs" homepage = "https://docs.rs/ethers" description = """ Complete Ethereum library and wallet implementation in Rust. """ [workspace] members = [ "ethers-contract", "ethers-providers", "ethers-signers", "ethers-core", "ethers-middleware", "ethers-etherscan", "ethers-solc", "examples/ethers-wasm", ] default-members = [ "ethers-contract", "ethers-providers", "ethers-signers", "ethers-core", "ethers-middleware", "ethers-etherscan", "ethers-solc", ] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.playground] features = ["full"] [features] celo = [ "ethers-core/celo", "ethers-providers/celo", "ethers-signers/celo", "ethers-contract/celo", "ethers-middleware/celo", "legacy" ] legacy = [ "ethers-core/legacy", "ethers-contract/legacy" ] # individual features per sub-crate ## core eip712 = ["ethers-contract/eip712", "ethers-core/eip712"] ## providers ws = ["ethers-providers/ws"] ipc = ["ethers-providers/ipc"] rustls = ["ethers-providers/rustls", "ethers-etherscan/rustls", "ethers-contract/rustls", "ethers-solc/rustls"] openssl = ["ethers-providers/openssl", "ethers-etherscan/openssl", "ethers-contract/openssl", "ethers-solc/openssl"] dev-rpc = ["ethers-providers/dev-rpc"] ## signers ledger = ["ethers-signers/ledger"] trezor = ["ethers-signers/trezor"] yubi = ["ethers-signers/yubi"] ## contracts abigen = ["ethers-contract/abigen"] ### abigen without reqwest abigen-offline = ["ethers-contract/abigen-offline"] ## solc solc-async = ["ethers-solc/async"] solc-full = ["ethers-solc/full"] solc-tests = ["ethers-solc/tests"] solc-sha2-asm = ["ethers-solc/asm"] [dependencies] ethers-contract = { version = "^0.6.0", default-features = false, path = "./ethers-contract" } ethers-core = { version = "^0.6.0", default-features = false, path = "./ethers-core" } ethers-providers = { version = "^0.6.0", default-features = false, path = "./ethers-providers" } ethers-signers = { version = "^0.6.0", default-features = false, path = "./ethers-signers" } ethers-middleware = { version = "^0.6.0", default-features = false, path = "./ethers-middleware" } ethers-solc = { version = "^0.1.0", default-features = false, path = "./ethers-solc" } ethers-etherscan = { version = "^0.2.0", default-features = false, path = "./ethers-etherscan" } [dev-dependencies] ethers-contract = { version = "^0.6.0", default-features = false, path = "./ethers-contract", features = ["abigen", "eip712"] } ethers-providers = { version = "^0.6.0", default-features = false, path = "./ethers-providers", features = ["ws"] } [target.'cfg(all(any(target_arch = "x86", target_arch = "x86_64"), not(target_env = "msvc")))'.dependencies] ethers-solc = { version = "^0.1.0", default-features = false, path = "./ethers-solc", features = ["asm"] } [target.'cfg(target_family = "unix")'.dev-dependencies] ethers-providers = { version = "^0.6.0", default-features = false, path = "./ethers-providers", features = ["ws", "ipc"] } anyhow = "1.0.39" rand = "0.8.4" serde = { version = "1.0.124", features = ["derive"] } serde_json = "1.0.64" tokio = { version = "1.5", features = ["macros", "rt-multi-thread"] } hex = "0.4.3" bytes = "1.1.0" # profile for the wasm example [profile.release.package.ethers-wasm] # Tell `rustc` to optimize for small code size. opt-level = "s"