Cargo Features

[dependencies]
ethers-providers = { version = "2.0.14", default-features = false, features = ["celo", "optimism", "ws", "legacy-ws", "ipc", "rustls", "openssl", "dev-rpc"] }
default = rustls, ws

These default features are set whenever ethers-providers is added without default-features = false somewhere in the dependency tree.

celo

Enables celo of ethers-core

ethers-core:

celo support extends the transaction format with extra fields

Affects middleware::CeloMiddleware

optimism

Enables optimism of ethers-core

ws default legacy-ws? = futures-channel, tokio-tungstenite
legacy-ws = ws

Affects transports::legacy_ws

ipc = futures-channel, winapi

Enables io-util of tokio

rustls default

we use the webpki roots so we can build static binaries w/o any root cert dependencies on the host

Enables rustls-tls of reqwest ^0.11.19, rustls-tls-webpki-roots of tokio-tungstenite ^0.20

openssl

Enables native-tls of reqwest ^0.11.19 and tokio-tungstenite ^0.20

reqwest:

Enables native-tls specific functionality not available by default.

dev-rpc

Affects ext::dev_rpc

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

futures-channel ipc? ws
winapi win ipc?
tokio-tungstenite not wasm32 openssl? rustls ws

Enables tokio-tungstenite ^0.20