Cargo Features

[dependencies]
fedimint-arti-client = { version = "0.20.0", default-features = false, features = ["full", "async-std", "bridge-client", "tokio", "native-tls", "pt-client", "rustls", "static", "static-sqlite", "static-native-tls", "accel-sha1-asm", "accel-openssl", "onion-service-client", "onion-service-service", "keymgr", "vanguards", "compression", "experimental", "experimental-api", "dirfilter", "error_detail", "geoip", "rpc"] }
default = compression, native-tls, tokio

These default features are set whenever fedimint-arti-client is added without default-features = false somewhere in the dependency tree.

full = anyhow, async-std, bridge-client, compression, keymgr, native-tls, onion-service-client, onion-service-service, pt-client, tokio, vanguards

"full" is a top-level selector that turns on every feature, _EXCEPT FOR_:

Enables full of fs-mistrust, safelog, tor-async-utils ^0.20.0, tor-basic-utils ^0.20.0, tor-chanmgr ^0.20.0, tor-circmgr ^0.20.0, tor-config ^0.20.0, fedimint-tor-dirmgr, tor-error ^0.20.0, optional tor-geoip ^0.20.0, tor-guardmgr ^0.20.0, optional tor-hsclient ^0.20.0, optional tor-hscrypto ^0.20.0, optional tor-hsservice ^0.20.0, tor-keymgr ^0.20.0, tor-linkspec ^0.20.0, tor-llcrypto ^0.20.0, tor-netdir ^0.20.0, tor-netdoc ^0.20.0, tor-persist ^0.20.0, tor-proto ^0.20.0, optional tor-ptmgr ^0.20.0, optional tor-rpcbase ^0.20.0, and tor-rtcompat ^0.20.0

async-std full?

* Features that are experimental or unstable
* Features that are testing-only
* Features which are select a particular implementation or build flag and
which therefore are not strictly additive.
* Features which may introduce unnecessary licensing restrictions.

Enables async-std of tor-rtcompat ^0.20.0

bridge-client full? pt-client?

Enables bridge-client of fedimint-tor-dirmgr and tor-guardmgr ^0.20.0

tor-guardmgr:

Support for using bridges as a client. Note that this is not the same as the pt-client feature, since here we are not concerned with pluggable transports necessarily.

tokio default full?

Enables tokio of tor-proto ^0.20.0 and tor-rtcompat ^0.20.0

native-tls default full? static-native-tls?

Enables native-tls of tor-rtcompat ^0.20.0

pt-client full? = bridge-client, tor-ptmgr

Enables pt-client of tor-chanmgr ^0.20.0 and tor-guardmgr ^0.20.0

tor-guardmgr:

Support for pluggable transports.

Affects config::pt

rustls

This is not nonadditive from a software POV, but we mark it as such because it includes code licensed under the old OpenSSL license (which was 4-clause BSD),
which in turn introduces a GPL-incompatibility.

Enables rustls of tor-rtcompat ^0.20.0

static = static-sqlite

depends directly on tor-rtcompat/static so native-tls doesn't get automatically included

Enables static of tor-rtcompat ^0.20.0

static-sqlite static?

Enables static of fedimint-tor-dirmgr

static-native-tls = native-tls

Enables static of tor-rtcompat ^0.20.0

accel-sha1-asm

Enables with-sha1-asm of tor-llcrypto ^0.20.0

accel-openssl

Enables with-openssl of tor-llcrypto ^0.20.0

onion-service-client full? = tor-hsclient, tor-hscrypto
onion-service-service full? = keymgr, tor-hscrypto, tor-hsservice

Enables state-dir of tor-persist ^0.20.0

tor-persist:

Enable the state_dir module

Affects config::onion_service

keymgr full? onion-service-service?

Enables keymgr of tor-hsclient ^0.20.0 and tor-keymgr ^0.20.0

vanguards full?

Enables vanguards of tor-circmgr ^0.20.0 and tor-guardmgr ^0.20.0

tor-guardmgr:

Vanguards support

compression default full?

Enables compression of fedimint-tor-dirmgr

experimental = dirfilter, error_detail, experimental-api, geoip, rpc

Enables experimental of tor-circmgr ^0.20.0, tor-config ^0.20.0, fedimint-tor-dirmgr, tor-guardmgr ^0.20.0, tor-netdoc ^0.20.0, and tor-proto ^0.20.0

tor-circmgr:

Enable experimental APIs that are not yet officially supported.

These APIs are not covered by semantic versioning. Using this feature voids your "semver warrantee".

experimental-api experimental?

Enable experimental APIs that are not yet officially supported.

These APIs are not covered by semantic versioning. Using this feature voids your "semver warrantee".

dirfilter experimental?

Enables dirfilter of fedimint-tor-dirmgr

error_detail experimental?
geoip experimental? = tor-geoip

Enables geoip of tor-circmgr ^0.20.0 and fedimint-tor-dirmgr

rpc experimental? = dyn-clone, tor-rpcbase

Affects fedimint-arti-client::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.

anyhow full?
dyn-clone rpc?
tor-geoip geoip?

Enables tor-geoip ^0.20.0

tor-hsclient keymgr? onion-service-client?

Enables tor-hsclient ^0.20.0

tor-hscrypto onion-service-client? onion-service-service?

Enables tor-hscrypto ^0.20.0

tor-hsservice onion-service-service?

Enables tor-hsservice ^0.20.0

tor-ptmgr pt-client?

Enables tor-ptmgr ^0.20.0

tor-rpcbase rpc?

Enables tor-rpcbase ^0.20.0