Cargo Features

[dependencies]
givre = { version = "0.2.0", default-features = false, features = ["std", "cggmp21-keygen", "full-signing", "serde", "spof", "hd-wallet", "taproot", "all-ciphersuites", "ciphersuite-secp256k1", "ciphersuite-ed25519", "ciphersuite-bitcoin"] }
default = std

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

std default

Enables std of optional cggmp21-keygen, key-share, and optional serde

serde:

Provide impls for common standard library types like Vec<T> and HashMap<K, V>.
Requires a dependency on the Rust standard library.

cggmp21-keygen

Enables cggmp21-keygen

Affects givre::keygen

full-signing = round-based

Affects givre::signing, signing::full_signing

serde

Enables serde, serde of key-share

spof

Enables spof of key-share

Affects givre::trusted_dealer

hd-wallet

Enables hd-wallet, hd-wallet of key-share, hd-wallet of optional cggmp21-keygen

Affects utils::derive_additive_shift

taproot ciphersuite-bitcoin? = sha2

Affects signing::taproot

all-ciphersuites = ciphersuite-bitcoin, ciphersuite-ed25519, ciphersuite-secp256k1
ciphersuite-secp256k1 all-ciphersuites? ciphersuite-bitcoin? = k256, sha2, static_assertions

Enables curve-secp256k1 of generic-ec and optional hd-wallet

ciphersuite-ed25519 all-ciphersuites? = sha2

Enables curve-ed25519 of generic-ec and optional hd-wallet

hd-wallet:

Enables Edwards-specific derivation

ciphersuite-bitcoin all-ciphersuites? = ciphersuite-secp256k1, taproot

Enables curve-secp256k1 of optional hd-wallet

hd-wallet:

Adds support of secp256k1 curve to slip10 derivation

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.

round-based full-signing?
k256 ciphersuite-secp256k1?
static_assertions ciphersuite-secp256k1?
sha2 ciphersuite-ed25519? ciphersuite-secp256k1? taproot?