From 6a0b74ec17fa4dff3127ade27a7f4768dbeb3c24 Mon Sep 17 00:00:00 2001 From: Georgios Konstantopoulos Date: Fri, 20 Aug 2021 20:48:11 +0300 Subject: [PATCH] chore: disable all ethers features by default and expose them individually (#394) --- ethers/Cargo.toml | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/ethers/Cargo.toml b/ethers/Cargo.toml index ef34940c..a001271f 100644 --- a/ethers/Cargo.toml +++ b/ethers/Cargo.toml @@ -29,21 +29,35 @@ celo = [ "legacy" ] -legacy = ["ethers-core/legacy", "ethers-contract/legacy"] +legacy = [ + "ethers-core/legacy", + "ethers-contract/legacy" +] + +# individual features per sub-crate +## core +setup = ["ethers-core/setup"] +## providers +ws = ["ethers-providers/ws"] +ipc = ["ethers-providers/ipc"] +rustls = ["ethers-providers/rustls"] +openssl = ["ethers-providers/openssl"] +## signers ledger = ["ethers-signers/ledger"] yubi = ["ethers-signers/yubi"] -ws = ["ethers-providers/ws"] +## contracts abigen = ["ethers-contract/abigen"] + [dependencies] -ethers-contract = { version = "0.4.7", path = "../ethers-contract" } -ethers-core = { version = "0.4.8", path = "../ethers-core", features = ["setup"] } -ethers-providers = { version = "0.4.6", path = "../ethers-providers" } -ethers-signers = { version = "0.4.6", path = "../ethers-signers" } -ethers-middleware = { version = "0.4.8", path = "../ethers-middleware" } +ethers-contract = { version = "0.4.7", default-features = false, path = "../ethers-contract" } +ethers-core = { version = "0.4.8", default-features = false, path = "../ethers-core", features = ["setup"] } +ethers-providers = { version = "0.4.6", default-features = false, path = "../ethers-providers" } +ethers-signers = { version = "0.4.6", default-features = false, path = "../ethers-signers" } +ethers-middleware = { version = "0.4.8", default-features = false, path = "../ethers-middleware" } [dev-dependencies] -ethers-contract = { version = "0.4.7", path = "../ethers-contract", features = ["abigen"] } +ethers-contract = { version = "0.4.7", default-features = false, path = "../ethers-contract", features = ["abigen"] } anyhow = "1.0.39" rand = "0.8.4"