[package]
edition = "2021"
name = "frostito"
version = "0.8.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "nested FROST, hardened DKG, and proactive resharing, on ZF frost-core"
documentation = "https://docs.rs/frostito"
readme = "README.md"
keywords = [
"threshold",
"frost",
"schnorr",
"mpc",
"reshare",
]
categories = [
"cryptography",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/penumbrafi/frostito"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
decaf377 = ["dep:decaf377"]
default = [
"std",
"ristretto255",
]
pallas = [
"dep:pasta_curves",
"dep:blake2b_simd",
]
ristretto255 = ["dep:curve25519-dalek"]
sealed = [
"std",
"dep:snow",
"dep:x25519-dalek",
"dep:hkdf",
]
secp256k1 = ["dep:k256"]
std = [
"sha2/std",
"rand_core/std",
]
zf-ristretto255 = [
"ristretto255",
"dep:frost-ristretto255",
]
zf-secp256k1 = [
"secp256k1",
"dep:frost-secp256k1",
]
zf-secp256k1-tr = [
"secp256k1",
"dep:frost-secp256k1-tr",
]
[lib]
name = "frostito"
path = "src/lib.rs"
[[test]]
name = "audit_nested"
path = "tests/audit_nested.rs"
[[test]]
name = "audit_rejections"
path = "tests/audit_rejections.rs"
[[test]]
name = "audit_secp_encoding"
path = "tests/audit_secp_encoding.rs"
[[test]]
name = "reshare_zf_frost"
path = "tests/reshare_zf_frost.rs"
required-features = [
"pallas",
"std",
]
[[test]]
name = "zf_decaf377"
path = "tests/zf_decaf377.rs"
[[test]]
name = "zf_nested_equivalence"
path = "tests/zf_nested_equivalence.rs"
[[test]]
name = "zf_taproot"
path = "tests/zf_taproot.rs"
[dependencies.blake2b_simd]
version = "1.0"
optional = true
default-features = false
[dependencies.codec]
version = "3.6"
features = ["derive"]
optional = true
default-features = false
package = "parity-scale-codec"
[dependencies.curve25519-dalek]
version = "4.1"
features = [
"digest",
"group",
"alloc",
"rand_core",
"zeroize",
]
optional = true
default-features = false
[dependencies.decaf377]
version = "0.10"
optional = true
default-features = false
[dependencies.frost-core]
version = "3"
features = [
"internals",
"serialization",
]
default-features = false
[dependencies.frost-ristretto255]
version = "3"
optional = true
default-features = false
[dependencies.frost-secp256k1]
version = "3"
optional = true
default-features = false
[dependencies.frost-secp256k1-tr]
version = "3"
optional = true
default-features = false
[dependencies.generic-array]
version = "0.14"
optional = true
default-features = false
[dependencies.hkdf]
version = "0.12"
optional = true
[dependencies.k256]
version = "0.13"
features = [
"arithmetic",
"ecdsa",
]
optional = true
default-features = false
[dependencies.pasta_curves]
version = "=1.0.0"
features = ["alloc"]
optional = true
default-features = false
package = "zakura-pasta-curves"
[dependencies.rand_core]
version = "0.6"
default-features = false
[dependencies.scale-info]
version = "2.11"
features = ["derive"]
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dependencies.sha2]
version = "0.10"
default-features = false
[dependencies.snow]
version = "0.9"
features = ["default-resolver"]
optional = true
default-features = false
[dependencies.x25519-dalek]
version = "2"
features = ["static_secrets"]
optional = true
[dependencies.zeroize]
version = "1.8"
features = ["derive"]
default-features = false
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.rand_core_10]
version = "0.10"
default-features = false
package = "rand_core"