# 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"
rust-version = "1.80"
name = "freenet"
version = "0.1.50"
build = "build.rs"
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Freenet core software"
readme = "README.md"
license-file = "LICENSE.md"
repository = "https://github.com/freenet/freenet-core"

[package.metadata.binstall]
bin-dir = "freenet"
pkg-fmt = "tgz"
pkg-url = "{ repo }/releases/download/v{ version }/freenet-{ target }.tar.gz"

[features]
bench = []
bench_full = []
console-subscriber = ["dep:console-subscriber"]
default = [
    "redb",
    "trace",
    "websocket",
]
sqlite = ["sqlx"]
test-network = ["dep:freenet-test-network"]
testing = ["freenet-stdlib/testing"]
trace = ["tracing-subscriber"]
trace-ot = [
    "opentelemetry-jaeger",
    "trace",
    "tracing-opentelemetry",
    "opentelemetry-otlp",
]
websocket = ["axum/ws"]

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

[[bin]]
name = "freenet"
path = "src/bin/freenet.rs"

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

[[test]]
name = "connection_cap"
path = "tests/connection_cap.rs"

[[test]]
name = "connectivity"
path = "tests/connectivity.rs"

[[test]]
name = "diagnose_connectivity"
path = "tests/diagnose_connectivity.rs"

[[test]]
name = "error_notification"
path = "tests/error_notification.rs"

[[test]]
name = "gateway_inbound_identity"
path = "tests/gateway_inbound_identity.rs"

[[test]]
name = "isolated_node_regression"
path = "tests/isolated_node_regression.rs"

[[test]]
name = "large_network"
path = "tests/large_network.rs"

[[test]]
name = "manual_network_test"
path = "tests/manual_network_test.rs"

[[test]]
name = "operations"
path = "tests/operations.rs"

[[test]]
name = "redb_migration"
path = "tests/redb_migration.rs"

[[test]]
name = "river_smoke"
path = "tests/river_smoke.rs"

[[test]]
name = "test_macro_example"
path = "tests/test_macro_example.rs"

[[test]]
name = "test_network_integration"
path = "tests/test_network_integration.rs"

[[test]]
name = "token_expiration"
path = "tests/token_expiration.rs"

[[test]]
name = "ubertest"
path = "tests/ubertest.rs"

[[bench]]
name = "transport_ci"
path = "benches/transport_ci.rs"
harness = false
required-features = ["bench"]

[[bench]]
name = "transport_full"
path = "benches/transport_full.rs"
harness = false
required-features = [
    "bench",
    "bench_full",
]

[[bench]]
name = "transport_ledbat"
path = "benches/transport_ledbat.rs"
harness = false
required-features = ["bench"]

[dependencies.aes-gcm]
version = "0.10"

[dependencies.ahash]
version = "0.8"

[dependencies.anyhow]
version = "1"

[dependencies.axum]
version = "0.8"
features = [
    "http1",
    "matched-path",
    "query",
    "tower-log",
    "ws",
    "json",
]
default-features = false

[dependencies.bincode]
version = "1"

[dependencies.blake3]
version = "1"
features = [
    "std",
    "traits-preview",
]

[dependencies.bs58]
version = "0.5"

[dependencies.byteorder]
version = "1"

[dependencies.bytes]
version = "1"

[dependencies.chacha20poly1305]
version = "0.10"

[dependencies.chrono]
version = "0.4"
default-features = true

[dependencies.clap]
version = "4"
features = [
    "derive",
    "env",
]

[dependencies.console-subscriber]
version = "0.5.0"
optional = true

[dependencies.cookie]
version = "0.18"

[dependencies.crossbeam]
version = "0.8"

[dependencies.ctrlc]
version = "3"
features = ["termination"]

[dependencies.dashmap]
version = "^6.1"

[dependencies.delegate]
version = "0.13"

[dependencies.directories]
version = "6"

[dependencies.either]
version = "1"
features = ["serde"]

[dependencies.flatbuffers]
version = "25.9"

[dependencies.freenet-stdlib]
version = "0.1.24"
features = ["net"]

[dependencies.freenet-test-network]
version = "0.1.15"
optional = true

[dependencies.futures]
version = "0.3"

[dependencies.headers]
version = "0.4"

[dependencies.hickory-resolver]
version = "0.24"
features = ["dns-over-rustls"]

[dependencies.itertools]
version = "0.14"

[dependencies.notify]
version = "8"

[dependencies.once_cell]
version = "1"

[dependencies.opentelemetry]
version = "0.31"

[dependencies.opentelemetry-jaeger]
version = "0.22"
features = [
    "collector_client",
    "isahc",
    "rt-tokio",
]
optional = true

[dependencies.opentelemetry-otlp]
version = "0.31.0"
optional = true

[dependencies.opentelemetry_sdk]
version = "0.31"
features = ["rt-tokio"]
optional = true

[dependencies.parking_lot]
version = "0.12"

[dependencies.pav_regression]
version = "0.6.1"

[dependencies.pin-project]
version = "1"

[dependencies.pkcs8]
version = "0.10"
features = [
    "std",
    "pem",
]

[dependencies.rand]
version = "0.9"
features = ["small_rng"]

[dependencies.redb]
version = "3"
optional = true

[dependencies.reqwest]
version = "0.12"
features = ["json"]

[dependencies.rsa]
version = "0.9"
features = [
    "serde",
    "pem",
]

[dependencies.semver]
version = "1"
features = ["serde"]

[dependencies.serde]
version = "1"
features = [
    "derive",
    "derive",
    "rc",
]

[dependencies.serde_json]
version = "1"

[dependencies.serde_with]
version = "3"

[dependencies.sha2]
version = "0.10"

[dependencies.sqlx]
version = "0.8"
features = [
    "runtime-tokio-rustls",
    "sqlite",
]
optional = true

[dependencies.stretto]
version = "0.8"
features = [
    "async",
    "sync",
]

[dependencies.tar]
version = "0.4"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = [
    "fs",
    "macros",
    "rt-multi-thread",
    "sync",
    "process",
    "tracing",
]

[dependencies.tokio-stream]
version = "0.1.17"

[dependencies.tokio-tungstenite]
version = "0.27.0"

[dependencies.toml]
version = "0.9"

[dependencies.tower-http]
version = "0.6"
features = [
    "fs",
    "trace",
]

[dependencies.tracing]
version = "0.1"
features = ["release_max_level_info"]

[dependencies.tracing-opentelemetry]
version = "0.32.0"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
features = ["json"]
optional = true

[dependencies.ulid]
version = "1.1"
features = ["serde"]

[dependencies.wasmer]
version = "6.1.0"
features = ["sys"]

[dependencies.wasmer-compiler-singlepass]
version = "6.1.0"

[dependencies.wasmer-middlewares]
version = "6.1.0"

[dependencies.xz2]
version = "0.1"

[dev-dependencies.arbitrary]
version = "1"
features = ["derive"]

[dev-dependencies.chrono]
version = "0.4"
features = ["arbitrary"]
default-features = true

[dev-dependencies.criterion]
version = "0.8"
features = ["async_tokio"]

[dev-dependencies.freenet-stdlib]
version = "0.1.24"
features = [
    "net",
    "testing",
]

[dev-dependencies.httptest]
version = "0.16"

[dev-dependencies.libc]
version = "0.2"

[dev-dependencies.regex]
version = "1"

[dev-dependencies.statrs]
version = "0.18"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.test-log]
version = "0.2"

[dev-dependencies.testresult]
version = "0.4"

[dev-dependencies.tokio-tungstenite]
version = "0.27.0"

[dev-dependencies.ureq]
version = "3.1"
features = ["json"]

[dev-dependencies.which]
version = "8.0"

[build-dependencies.chrono]
version = "0.4"

[target."cfg(unix)".dependencies.libc]
version = "0.2"

[target."cfg(windows)".dependencies.serde]
version = "1.0"
features = ["derive"]

[target."cfg(windows)".dependencies.winapi]
version = "0.3"
features = ["sysinfoapi"]

[target."cfg(windows)".dependencies.wmi]
version = "0.18.0"
