ant-protocol 2.0.2

Wire protocol for the Autonomi decentralized network (WithAutonomi fork)
Documentation
[package]
name = "ant-protocol"
version = "2.0.2"
edition = "2021"
authors = ["MaidSafe Developers <dev@maidsafe.net>"]
description = "Wire protocol for the Autonomi decentralized network (WithAutonomi fork)"
license = "MIT OR Apache-2.0"
repository = "https://github.com/WithAutonomi/ant-protocol"
homepage = "https://autonomi.com"
readme = "README.md"
keywords = ["p2p", "decentralized", "quantum-safe", "post-quantum", "protocol"]
categories = ["network-programming", "cryptography"]
rust-version = "1.75"

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

[dependencies]
# The three "shared protocol" deps. Both ant-client and ant-node consume
# these through `ant_protocol::{transport, pqc, evm}` re-exports so the
# version is pinned in exactly one place. Changing these versions is a
# breaking change for both downstream crates.
saorsa-core = "0.24.1"
saorsa-pqc = "0.5"
evmlib = "0.8.1"

# Content addressing (BLAKE3)
blake3 = "1"

# Async runtime (used by send_and_await_chunk_response)
tokio = { version = "1.35", features = ["sync", "time", "rt"] }

# Serialization
serde = { version = "1", features = ["derive"] }
postcard = { version = "1.1.3", features = ["use-std"] }
rmp-serde = "1"

# Byte utilities
bytes = "1"
hex = "0.4"

# Logging (optional — behind `logging` feature flag, mirroring ant-node)
tracing = { version = "0.1", optional = true }

[dev-dependencies]
alloy = { version = "1", features = ["node-bindings"] }
rand = "0.8"
url = "2"
xor_name = "5"
serial_test = "3"
tokio = { version = "1.35", features = ["full"] }

[features]
# Default: logging enabled so downstream tests and dev builds emit diagnostics.
# Release consumers can strip logging with `--no-default-features`.
default = ["logging"]
# Enable `tracing` macros inside the crate.
logging = ["tracing"]

[lints.rust]
unsafe_code = "deny"
missing_docs = "warn"

[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
# Allow non-const functions — the constructors may gain runtime behaviour.
missing_const_for_fn = "allow"