Cargo Features

[dependencies]
payjoin = { version = "0.23.0", default-features = false, features = ["directory", "v1", "v2", "io"] }
default = v2

The v2 feature is set by default whenever payjoin is added without default-features = false somewhere in the dependency tree.

_core v1? v2 = bitcoin_uri, serde_json, url

[doc = "Core features for payjoin state machines"]

Enables rand-std of bitcoin

Affects payjoin::receive, payjoin::send

directory v2

Affects payjoin::directory

v1 = _core

Affects receive::v1, send::v1

v2 default _multiparty? io? = _core, bhttp, directory, hpke, ohttp, serde

Enables http, serde of bitcoin, serde of url

Affects bech32::nochecksum.encode_to_fmt, payjoin::persist, receive::v2, send::v2

io = v2

[doc = "Functions to fetch OHTTP keys via CONNECT proxy using reqwest. Enables v2 since only v2 uses OHTTP."]

Enables rustls-tls of reqwest

Affects payjoin::io

_danger-local-https = rustls

Enables rustls-tls of reqwest

Affects io::fetch_ohttp_keys_with_cert

_multiparty = v2

Affects receive::multiparty, send::multiparty

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.

bitcoin_uri _core?
hpke v2

Enables bitcoin-hpke

bhttp v2

Enables bhttp =0.5.1

ohttp v2

Enables bitcoin-ohttp

serde v2
reqwest _danger-local-https? io?
rustls _danger-local-https?

Enables rustls ^0.22.4

url _core? v2
serde_json _core?