[package]
name = "dcrypt-pke"
version.workspace = true
edition.workspace = true
authors.workspace = true
description = "Public Key Encryption schemes for the dcrypt library"
repository.workspace = true
license.workspace = true
publish = true


[features]
default = ["std"]
std = [
    "dcrypt-api/std",
    "dcrypt-common/std",
    "dcrypt-algorithms/std",
    "dep:thiserror",
    "alloc"          # The 'std' feature of 'pke' also implies 'alloc'
]
alloc = [
    "dcrypt-api/alloc",
    "dcrypt-common/alloc",
    "dcrypt-algorithms/alloc",
    # NO 'dep:alloc' here. The features above will trigger alloc usage in those deps.
]
no_std = [
    "dcrypt-api/no_std",
    "dcrypt-common/no_std",
    # As before, no "algorithms/no_std"
]

[dependencies]
dcrypt-api = { path = "../api", version = "=1.2.3", default-features = false }
dcrypt-common = { path = "../common", version = "=1.2.3", default-features = false }
dcrypt-algorithms = { path = "../algorithms", version = "=1.2.3", default-features = false, features = ["ec", "kdf", "aead", "hash"] }
dcrypt-internal = { path = "../internal", version = "=1.2.3", default-features = false }
dcrypt-params = { path = "../params", version = "=1.2.3" }
rand = { workspace = true, default-features = false }
zeroize = { workspace = true }
subtle = { workspace = true, default-features = false }

thiserror = { workspace = true, optional = true }
# REMOVED: alloc = { package = "alloc", version = "1.0.0", optional = true }


[dev-dependencies]
hex = "0.4"
rand_chacha = { workspace = true }

[package.metadata.release]
publish = true
