[package]
name = "key-share"
version = "0.5.1"
edition = "2021"
license = "MIT OR Apache-2.0"
description = "Key share of any Threshold Signature Scheme (TSS)"
repository = "https://github.com/LFDT-Lockness/cggmp21"
categories = ["cryptography"]
keywords = ["mpc", "threshold-signatures", "tss"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
generic-ec = { workspace = true, features = ["alloc"] }
generic-ec-zkp = { workspace = true, features = ["alloc"] }
rand_core = { workspace = true, optional = true }

hd-wallet = { workspace = true, optional = true }
udigest = { workspace = true, features = ["alloc", "derive"], optional = true }

serde = { workspace = true, features = ["alloc", "derive"], optional = true }
hex = { workspace = true, features = ["serde"], optional = true }
serde_with = { workspace = true, features = ["alloc"], optional = true }

thiserror = { workspace = true, optional = true }
displaydoc = { workspace = true }

[dev-dependencies]
rand_core = { workspace = true, features = ["getrandom"] }

[features]
default = ["std"]

serde = ["dep:serde", "serde_with", "hex", "generic-ec/serde"]
hd-wallet = ["dep:hd-wallet"]
spof = ["dep:rand_core"]
udigest = ["dep:udigest", "generic-ec/udigest"]

std = ["dep:thiserror"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs", "--html-in-header", "katex-header.html"]
