confium_threshold/lib.rs
1//! Single-entry-point crate for the Confium **Threshold** product.
2//!
3//! Re-exports the threshold-cryptography crates that comprise the product
4//! behind feature flags. Consumers depend on `confium-threshold` instead
5//! of pulling 5–12 separate crates.
6//!
7//! # Example
8//!
9//! ```toml
10//! confium-threshold = { version = "0.3", features = ["cmp20", "frost-p256"] }
11//! ```
12
13#![forbid(unsafe_code)]
14#![allow(missing_docs)] // TODO: document before 1.0
15
16/// Core session interface for scheme plugins.
17pub use confium_tc_core as core;
18
19#[cfg(feature = "cmp20")]
20/// CMP20 threshold ECDSA over P-256.
21pub use confium_tc_cmp20 as cmp20;
22
23#[cfg(feature = "gg18")]
24/// GG18 threshold ECDSA over P-256 (legacy; prefer CMP20).
25pub use confium_tc_gg18 as gg18;
26
27#[cfg(feature = "frost-p256")]
28/// FROST over P-256.
29pub use confium_tc_frost_p256 as frost_p256;
30
31#[cfg(feature = "frost-ed25519")]
32/// FROST over Ed25519.
33pub use confium_tc_frost_ed25519 as frost_ed25519;
34
35#[cfg(feature = "bls")]
36/// Threshold BLS.
37pub use confium_tc_bls as bls;
38
39#[cfg(feature = "elgamal-p256")]
40/// Threshold ElGamal encryption over P-256.
41pub use confium_tc_elgamal_p256 as elgamal_p256;
42
43#[cfg(feature = "coordinator")]
44/// Multi-round orchestration coordinator.
45pub use confium_coordinator as coordinator;
46
47#[cfg(feature = "keys")]
48/// Threshold key lifecycle, HSM protection, BIP-32.
49pub use confium_tc_keys as keys;