[package]
name = "qos_client"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
description = "Multipurpose CLI client for interacting with QuorumOS enclaves and related operations"
repository = "https://github.com/tkhq/qos"
keywords = ["quorumos", "enclave", "nitro", "attestation", "client"]
categories = ["command-line-utilities"]

[lints]
workspace = true

[dependencies]
qos_core = { workspace = true, default-features = false }
qos_crypto = { workspace = true, default-features = false }
qos_hex = { workspace = true }
qos_p256 = { workspace = true }
qos_nsm = { workspace = true, default-features = false }

# Third party
ureq = { workspace = true }
aws-nitro-enclaves-nsm-api = { workspace = true }
borsh = { workspace = true}
p256 = { workspace = true }
rand_core = { workspace = true, features = ["os_rng"] }
zeroize = { workspace = true }
rpassword = { workspace = true }
serde_json = { workspace = true }

der = { workspace = true, optional = true }
x509-cert = { workspace = true, optional = true }
yubikey = { workspace = true, optional = true }

[dev-dependencies]
# We need mock enabled to grab things related to the mock NSM.
qos_core = { workspace = true, features = ["mock"], default-features = false }
lazy_static = { workspace = true }
qos_test_primitives = { path = "../qos_test_primitives" }
qos_p256 = { workspace = true, features = ["mock"] }

[features]
default = ["smartcard"]
smartcard = ["der", "x509-cert", "yubikey"]
