Cargo Features

[dependencies]
mwc-web3 = { version = "0.15.0", default-features = false, features = ["eip-1193", "http", "http-tls", "signing", "ws-tokio", "ws-async-std", "ws-tls-tokio", "ws-tls-async-std", "ipc-tokio", "arbitrary_precision", "test"] }
default = http-tls, ipc-tokio, signing, ws-tls-tokio

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

eip-1193 = getrandom, js-sys, rand, wasm-bindgen, wasm-bindgen-futures

Enables wasm-bindgen of futures-timer

Affects transports::eip_1193

http http-tls = base64, hyper, hyper-proxy, typed-headers, url

Affects transports::http

http-tls default = http, hyper-tls
signing default = secp256k1
ws-tokio ws-tls-tokio = soketto, tokio, tokio-util, url

Affects ws::compat, transports::ws

ws-async-std ws-tls-async-std? = async-std, soketto, url

Affects ws::compat, transports::ws

ws-tls-tokio default = async-native-tls, ws-tokio

Enables runtime-tokio of async-native-tls ^0.3

WS

Affects ws::compat.TlsStream

ws-tls-async-std = async-native-tls, ws-async-std

Enables runtime-async-std of async-native-tls ^0.3

Affects ws::compat.TlsStream

ipc-tokio default = tokio

Affects transports::ipc

arbitrary_precision

Enables arbitrary_precision of jsonrpc-core ^17.0.0 and serde_json

serde_json:

Use an arbitrary precision number representation for serde_json::Number. This allows JSON numbers of arbitrary size/precision to be read into a Number and written back to a JSON string without loss of precision.

Unlike float_roundtrip, this feature makes JSON -> serde_json::Number -> JSON produce output identical to the input.

test

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.

secp256k1 signing

Enables secp256k1 ^0.20

base64 http?

Enables base64 ^0.13

Optional deps
HTTP

hyper http?

Enables hyper ^0.13

hyper-tls http-tls

Enables hyper-tls ^0.4

hyper-proxy http?

Enables hyper-proxy ^0.8.0

typed-headers http?
async-native-tls ws-tls-async-std? ws-tls-tokio

Enables async-native-tls ^0.3

async-std ws-async-std?
tokio ipc-tokio ws-tokio?

Enables tokio ^0.2

tokio-util ws-tokio?

Enables tokio-util ^0.6

soketto ws-async-std? ws-tokio?

Enables soketto ^0.4.1

url http? ws-async-std? ws-tokio?

Enables url

Shared (WS, HTTP)

js-sys eip-1193?

Enables js-sys

EIP-1193

rand eip-1193?

Enables rand

This is a transitive dependency, only here so we can turn on its wasm_bindgen feature

getrandom eip-1193?
wasm-bindgen eip-1193?
wasm-bindgen-futures eip-1193?