Cargo Features

[dependencies]
schnorrkel = { version = "0.11.4", default-features = false, features = ["std", "alloc", "nightly", "asm", "serde", "getrandom", "aead", "failure"] }
default = getrandom, std

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

std default = alloc, getrandom

Enables std of getrandom_or_panic, rand_core, and serde_bytes

Affects schnorrkel::musig

alloc std

Enables alloc of curve25519-dalek, getrandom_or_panic, rand_core, and serde_bytes

rand_core:

enables Vec and Box support without std

Affects vrf::dleq_verify_batch, vrf::vrf_verify_batch

preaudit_deprecated nightly
asm

Enables asm of sha2

serde = cfg-if, serde_bytes, serde_crate

Affects errors::serde_error_from_signature_error

getrandom default std

We cannot make getrandom a direct dependency because rand_core makes getrandom a feature name, which requires forwarding.

Enables getrandom of optional aead, getrandom_or_panic, and rand_core

Affects schnorrkel::aead

aead

See https://github.com/rust-lang/cargo/issues/9210 and https://github.com/w3f/schnorrkel/issues/65#issuecomment-786923588

Enables aead

Affects schnorrkel::aead

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.

serde_crate serde?

Enables serde

serde_bytes alloc? serde? std
cfg-if serde?
failure implicit feature

Enables failure

failure:

Experimental error handling abstraction