[package]
edition = "2024"
rust-version = "1.87"
name = "multi-sig"
version = "1.2.1"
authors = ["Dave Grantham <dwg@linuxprogrammer.org>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Multisig self-describing multicodec implementation for digital signatures"
readme = "README.md"
keywords = [
"multiformats",
"multisig",
"signatures",
"crypto",
]
categories = [
"cryptography",
"encoding",
]
license = "Apache-2.0"
repository = "https://github.com/cryptidtech/multi-sig.git"
[features]
default = [
"serde",
"lamport",
"xmss",
]
lamport = [
"dep:lamport_signature_plus",
"dep:sha3",
"dep:sha2",
"dep:blake2",
"dep:shake",
"dep:blake3",
]
serde = []
xmss = ["dep:xmss"]
[lib]
name = "multi_sig"
path = "src/lib.rs"
[[test]]
name = "edge_case_tests"
path = "tests/edge_case_tests.rs"
[[test]]
name = "proptest_tests"
path = "tests/proptest_tests.rs"
[[test]]
name = "security_tests"
path = "tests/security_tests.rs"
[[bench]]
name = "multisig_bench"
path = "benches/multisig_bench.rs"
harness = false
[dependencies.blake2]
version = "0.11.0-rc.6"
optional = true
[dependencies.blake3]
version = "1.8"
optional = true
[dependencies.chacha20poly1305]
version = "0.11"
[dependencies.ciborium]
version = "0.2"
[dependencies.elliptic-curve]
version = "0.14"
[dependencies.getrandom]
version = "0.4"
[dependencies.lamport_signature_plus]
version = "0.5.0-rc2"
optional = true
[dependencies.multi-base]
version = "1.0"
default-features = false
[dependencies.multi-codec]
version = "1.2"
[dependencies.multi-trait]
version = "1.0"
default-features = false
[dependencies.multi-util]
version = "1.1"
[dependencies.serde]
version = "1.0"
features = [
"alloc",
"derive",
]
default-features = false
[dependencies.sha2]
version = "0.11"
optional = true
[dependencies.sha3]
version = "0.12"
optional = true
[dependencies.shake]
version = "0.1"
optional = true
[dependencies.ssh-encoding]
version = "0.3"
[dependencies.thiserror]
version = "2.0"
[dependencies.unsigned-varint]
version = "0.8"
features = ["std"]
[dependencies.xmss]
version = "0.1.0-pre.0"
optional = true
[dependencies.zeroize]
version = "1"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.proptest]
version = "1.11"
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.serde_test]
version = "1.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.blsful]
version = "4.0.0"
features = ["blst"]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.ssh-key]
version = "0.7.0-rc.11"
features = [
"alloc",
"ecdsa",
"ed25519",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.blsful]
version = "4.0.0"
features = ["rust"]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.4"
features = ["wasm_js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.ssh-key]
version = "0.7.0-rc.11"
features = [
"alloc",
"ecdsa",
"ed25519",
]
default-features = false
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "deny"