Cargo Features

[dependencies]
vsss-rs = { version = "5.0.0-rc2", default-features = false, features = ["std", "alloc", "bigint", "curve25519", "primitive", "serde", "zeroize"] }
default = bigint, primitive, serde, std, zeroize

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

std default = alloc

Enables rand and std of num, std of hex and optional elliptic-curve-tools and std of rand_core, rand, and optional serde

rand:

Option (enabled by default): without "std" rand uses libcore; this option enables functionality expected to be available on a standard platform.

Affects element::ShareElement.to_vec, feldman::split_secret, feldman::split_secret_with_participant_generator, vsss-rs::StdVsss, pedersen::StdPedersenResult, pedersen::split_secret, set::VecFeldmanVerifierSet, set::VecPedersenVerifierSet, shamir::split_secret, shamir::split_secret_with_participant_generator, invalid::combine_invalid_vec, valid::combine_all

alloc curve25519? std

Enables rand and std of optional num, alloc of optional crypto-bigint, optional elliptic-curve-tools, and optional hex and alloc of rand_core, rand, and optional serde

rand:

Option: "alloc" enables support for Vec and Box when not using "std"

Affects element::ShareElement.to_vec, feldman::split_secret, feldman::split_secret_with_participant_generator, vsss-rs::StdVsss, pedersen::StdPedersenResult, pedersen::split_secret, set::VecFeldmanVerifierSet, set::VecPedersenVerifierSet, shamir::split_secret, shamir::split_secret_with_participant_generator, invalid::combine_invalid_vec, valid::combine_all

bigint default

Enables crypto-bigint

curve25519 = alloc, curve25519-dalek, hex

Affects vsss-rs::curve25519, standard::curve25519_tests

primitive default = num
serde default = elliptic-curve-tools

Enables serde, serde of crypto-bigint, generic-array, and num

zeroize default

Enables zeroize, zeroize of optional crypto-bigint

Affects primitive::PrimitiveZeroize

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.

curve25519-dalek curve25519?
elliptic-curve-tools serde
num primitive serde std
hex curve25519? std