[package]
name = "affinidi-did-resolver-cache-sdk"
version = "0.7.0"
description = "Affinidi DID Resolver SDK"
edition.workspace = true
authors.workspace = true
homepage.workspace = true
keywords.workspace = true
publish.workspace = true
license.workspace = true
repository.workspace = true
readme = "README.md"
rust-version.workspace = true

[lib]
crate-type = ["rlib", "cdylib"]

[features]
default = ["local", "did-methods"]
local = []
network = [
  "dep:web-socket",
  "dep:url",
  "dep:sha1",
  "dep:base64",
  "dep:tokio-rustls",
  "dep:rustls",
  "dep:rustls-platform-verifier",
]
did-methods = ["did-cheqd", "did-webvh", "did-scid"]
did_example = ["dep:did-example"]
did-jwk = ["dep:did-jwk"]
did-cheqd = ["dep:did-resolver-cheqd"]
did-webvh = ["dep:didwebvh-rs"]
did-scid = ["dep:did-scid"]

[dependencies]
# Affinidi Crates
affinidi-did-common.workspace = true
did-example = { workspace = true, optional = true }
did-scid = { workspace = true, optional = true }

# External Crates
ahash = "0.8"
base64 = { version = "0.22", optional = true }
didwebvh-rs = { version = "0.1.10", optional = true }
futures-util = "0.3"
highway = "1.3.0"
moka = { version = "0.12", features = ["future"] }
rand = "0.9"
rustls = { version = "0.23", default-features = false, features = [
  "aws_lc_rs",
  "tls12",
], optional = true }
rustls-platform-verifier = { version = "0.6", optional = true }
serde = { version = "1.0", features = ["derive", "rc"] }
serde_json = "1.0"
serde-wasm-bindgen = "0.6.5"
sha1 = { version = "0.10", optional = true }
did-ethr = "0.3.2"
did-jwk = { version = "0.2.1", optional = true }
did-pkh = "0.3.2"
did-web = "0.3.4"
ssi-dids-core = "0.1.3"
did-resolver-cheqd = { version = "1.0.1", optional = true }
thiserror = "2.0"
tokio = { version = "1.48", features = ["full"] }
tokio-rustls = { version = "0.26", optional = true }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
url = { version = "2.5", optional = true }
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
web-socket = { version = "0.7", optional = true }

[dev-dependencies]
affinidi-crypto.workspace = true
affinidi-secrets-resolver.workspace = true
url = "2.5"
clap = { version = "4.5", features = ["derive"] }
num-format = "0.4.4"
number_prefix = "0.4"
rayon = "1.11"

[lints]
workspace = true