[package]
name        = "dpp-crypto"
description = "Ed25519 key management, JWS signing/verification, and did:web document builder"
keywords    = ["dpp", "ed25519", "jws", "did-web", "credentials"]
categories  = ["cryptography", "authentication"]
version.workspace     = true
edition.workspace     = true
authors.workspace     = true
license.workspace     = true
repository.workspace  = true
homepage.workspace    = true
rust-version.workspace = true

[lib]
name = "dpp_crypto"
path = "src/lib.rs"

[dependencies]
dpp-domain       = { path = "../dpp-domain", version = "0.4.1" }
ed25519-dalek    = { workspace = true }
zeroize          = { workspace = true }
aes-gcm          = { workspace = true }
rand             = { workspace = true }
base64           = { workspace = true }
hex              = { workspace = true }
sha2             = { workspace = true }
argon2           = { workspace = true }
hmac             = { workspace = true }
chrono           = { workspace = true }
serde            = { workspace = true }
serde_json       = { workspace = true }
serde_jcs        = { workspace = true }
flate2           = { workspace = true }
anyhow           = { workspace = true }
tracing          = { workspace = true }
uuid             = { workspace = true }
async-trait      = { workspace = true }

[dev-dependencies]
uuid          = { version = "1", features = ["v4"] }
tokio         = { version = "1", features = ["rt", "macros"] }
tracing-test  = "0.2"
# G-4 (release review): independent Ed25519 implementation (separate codebase
# from ed25519-dalek) used only to cross-verify a golden JWS vector in tests —
# never used in production signing/verification code.
ring          = "0.17"
