[package] name = "frost-core" edition = "2021" # When releasing to crates.io: # - Update CHANGELOG.md # - Create git tag. version = "2.0.0" authors = [ "Deirdre Connolly ", "Chelsea Komlo ", "Conrado Gouvea ", ] readme = "README.md" license = "MIT OR Apache-2.0" repository = "https://github.com/ZcashFoundation/frost" categories = ["cryptography"] keywords = ["cryptography", "crypto", "threshold", "signature", "schnorr"] description = "Types and traits to support implementing Flexible Round-Optimized Schnorr Threshold signature schemes (FROST)." [package.metadata.docs.rs] features = ["serde"] rustdoc-args = ["--cfg", "docsrs"] [dependencies] byteorder = { version = "1.4", default-features = false } const-crc32 = { version = "1.2.0", package = "const-crc32-nostd" } document-features = "0.2.7" debugless-unwrap = "0.0.4" derive-getters = "0.5.0" hex = { version = "0.4.3", default-features = false, features = ["alloc"] } postcard = { version = "1.0.0", features = ["alloc"], optional = true } rand_core = { version = "0.6", default-features = false } serde = { version = "1.0.160", default-features = false, features = ["derive"], optional = true } serdect = { version = "0.2.0", optional = true } thiserror-nostd-notrait = { version = "1.0.29", default-features = false } thiserror = { version = "1.0.29", default-features = false, optional = true } visibility = "0.1.0" zeroize = { version = "1.5.4", default-features = false, features = ["derive"] } itertools = { version = "0.13.0", default-features = false } # Test dependencies used with the test-impl feature proptest = { version = "1.0", optional = true } serde_json = { version = "1.0", optional = true } criterion = { version = "0.5", optional = true } [dev-dependencies] criterion = { version = "0.5" } lazy_static = "1.4" proptest = "1.0" rand = "0.8" rand_chacha = "0.3" serde_json = "1.0" [features] default = ["serialization", "cheater-detection", "std"] #! ## Features ## Enable standard library support. std = ["dep:thiserror"] ## Expose internal types, which do not have SemVer guarantees. This is an advanced ## feature which can be useful if you need to build a modified version of FROST. ## The docs won't list them, you will need to check the source code. internals = [] ## Enable `serde` support for types that need to be communicated. You ## can use `serde` to serialize structs with any encoder that supports ## `serde` (e.g. JSON with `serde_json`). serde = ["dep:serde", "dep:serdect"] serialization = ["serde", "dep:postcard"] # Exposes ciphersuite-generic tests for other crates to use test-impl = ["dep:proptest", "dep:serde_json", "dep:criterion"] # Enable cheater detection cheater-detection = [] [lib] bench = false