# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "pkarr"
version = "3.6.0"
authors = ["Nuh <nuh@nuh.dev>"]
build = "build.rs"
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Public-Key Addressable Resource Records (Pkarr); publish and resolve DNS records over Mainline DHT"
homepage = "https://pkarr.org"
readme = "README.md"
keywords = [
    "mainline",
    "dht",
    "dns",
    "decentralized",
    "identity",
]
categories = ["network-programming"]
license = "MIT"
repository = "https://git.pkarr.org"

[package.metadata.docs.rs]
all-features = true

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

[[example]]
name = "http-get"
path = "examples/http-get.rs"
required-features = ["reqwest-builder"]

[[example]]
name = "http-serve"
path = "examples/http-serve.rs"
required-features = ["tls"]

[[example]]
name = "publish"
path = "examples/publish.rs"

[[example]]
name = "resolve"
path = "examples/resolve.rs"

[dependencies.base32]
version = "0.5.1"

[dependencies.bytes]
version = "1.10.0"
optional = true

[dependencies.document-features]
version = "0.2.10"

[dependencies.dyn-clone]
version = "1.0.18"
optional = true

[dependencies.ed25519-dalek]
version = "2.1.1"

[dependencies.futures-buffered]
version = "0.2.9"
optional = true

[dependencies.futures-lite]
version = "2.6.0"
features = ["std"]
optional = true
default-features = false

[dependencies.genawaiter]
version = "0.99.1"
features = ["futures03"]
optional = true
default-features = false

[dependencies.lru]
version = "0.13.0"
optional = true
default-features = false

[dependencies.ntimestamp]
version = "1.0.0"
features = ["full"]
optional = true

[dependencies.self_cell]
version = "1.1.0"
optional = true

[dependencies.serde]
version = "1.0.217"
features = ["derive"]

[dependencies.sha1_smol]
version = "1.0.1"
optional = true

[dependencies.simple-dns]
version = "0.9.3"
optional = true

[dependencies.thiserror]
version = "2.0.11"

[dependencies.url]
version = "2.5.4"
optional = true

[dev-dependencies.anyhow]
version = "1.0.95"

[dev-dependencies.postcard]
version = "1.1.1"
features = ["alloc"]

[dev-dependencies.reqwest]
version = "0.12.13"

[dev-dependencies.rstest]
version = "0.24.0"

[build-dependencies.cfg_aliases]
version = "0.2.1"

[features]
__client = [
    "signed_packet",
    "dep:dyn-clone",
    "dep:lru",
    "dep:sha1_smol",
    "dep:futures-lite",
    "dep:async-compat",
    "dep:tokio",
    "dep:log",
    "dep:tracing",
    "dep:wasm-bindgen-futures",
]
default = ["full-client"]
dht = [
    "dep:mainline",
    "__client",
]
endpoints = [
    "__client",
    "dep:genawaiter",
]
extra = [
    "endpoints",
    "lmdb-cache",
    "reqwest-resolve",
    "tls",
    "reqwest-builder",
]
full = [
    "full-client",
    "extra",
]
full-client = [
    "dht",
    "relays",
]
keys = []
lmdb-cache = [
    "__client",
    "dep:heed",
    "dep:byteorder",
    "dep:page_size",
]
relays = [
    "dep:url",
    "dep:reqwest",
    "dep:futures-buffered",
    "__client",
]
reqwest-builder = [
    "tls",
    "reqwest-resolve",
]
reqwest-resolve = [
    "endpoints",
    "dep:reqwest",
]
signed_packet = [
    "keys",
    "dep:simple-dns",
    "dep:ntimestamp",
    "dep:bytes",
    "dep:self_cell",
]
tls = [
    "endpoints",
    "ed25519-dalek/pkcs8",
    "dep:webpki",
    "dep:rustls",
]

[target.'cfg(not(target_family = "wasm"))'.dependencies.async-compat]
version = "0.2.4"
optional = true

[target.'cfg(not(target_family = "wasm"))'.dependencies.byteorder]
version = "1.5.0"
optional = true
default-features = false

[target.'cfg(not(target_family = "wasm"))'.dependencies.getrandom]
version = "0.2.15"
default-features = false

[target.'cfg(not(target_family = "wasm"))'.dependencies.heed]
version = "0.21.0"
optional = true
default-features = false

[target.'cfg(not(target_family = "wasm"))'.dependencies.mainline]
version = "5.3.1"
optional = true

[target.'cfg(not(target_family = "wasm"))'.dependencies.page_size]
version = "0.6.0"
optional = true

[target.'cfg(not(target_family = "wasm"))'.dependencies.reqwest]
version = "0.12.13"
features = ["rustls-tls"]
optional = true
default-features = false

[target.'cfg(not(target_family = "wasm"))'.dependencies.rustls]
version = "0.23"
features = [
    "ring",
    "std",
]
optional = true
default-features = false

[target.'cfg(not(target_family = "wasm"))'.dependencies.tokio]
version = "1.43.0"
optional = true
default-features = false

[target.'cfg(not(target_family = "wasm"))'.dependencies.tracing]
version = "0.1.41"
optional = true

[target.'cfg(not(target_family = "wasm"))'.dependencies.webpki]
version = "0.102"
optional = true
package = "rustls-webpki"

[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.axum]
version = "0.8.1"

[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.axum-server]
version = "0.7.1"
features = ["tls-rustls-no-provider"]

[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.clap]
version = "4.5.29"
features = ["derive"]

[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.mainline]
version = "5.3.1"

[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.tokio]
version = "1.43.0"
features = [
    "macros",
    "rt-multi-thread",
]

[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.tokio-rustls]
version = "0.26.1"

[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.tracing-subscriber]
version = "0.3.19"
features = ["env-filter"]

[target.wasm32-unknown-unknown.dependencies.getrandom]
version = "0.2.15"
features = ["js"]
default-features = false

[target.wasm32-unknown-unknown.dependencies.log]
version = "0.4.25"
optional = true

[target.wasm32-unknown-unknown.dependencies.reqwest]
version = "0.12.13"
optional = true
default-features = false

[target.wasm32-unknown-unknown.dependencies.wasm-bindgen-futures]
version = "0.4.50"
optional = true

[target.wasm32-unknown-unknown.dev-dependencies.console_log]
version = "1.0.0"
features = ["color"]

[target.wasm32-unknown-unknown.dev-dependencies.wasm-bindgen]
version = "0.2.100"
features = ["serde-serialize"]

[target.wasm32-unknown-unknown.dev-dependencies.wasm-bindgen-test]
version = "0.3"