[package]
name = "atproto-attestation"
version = "0.14.4"
description = "AT Protocol attestation utilities for creating and verifying record signatures"
readme = "README.md"
homepage = "https://tangled.org/ngerakines.me/atproto-crates"
documentation = "https://docs.rs/atproto-attestation"
edition.workspace = true
rust-version.workspace = true
repository.workspace = true
authors.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true

[[bin]]
name = "atproto-attestation-sign"
test = false
bench = false
doc = true
required-features = ["clap", "tokio"]

[[bin]]
name = "atproto-attestation-verify"
test = false
bench = false
doc = true
required-features = ["clap", "tokio"]

[dependencies]
atproto-client.workspace = true
atproto-identity.workspace = true
atproto-record.workspace = true
anyhow.workspace = true
base64.workspace = true
atproto-dasl.workspace = true
serde.workspace = true
serde_json = {workspace = true, features = ["preserve_order"]}
sha2.workspace = true
thiserror.workspace = true

cid.workspace = true
elliptic-curve = { version = "0.13", default-features = false, features = ["std"] }
k256 = { version = "0.13", default-features = false, features = ["ecdsa", "std"] }
multihash.workspace = true
p256 = { version = "0.13", default-features = false, features = ["ecdsa", "std"] }

async-trait = { workspace = true, optional = true }
clap = { workspace = true, optional = true }
reqwest = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }

[dev-dependencies]
async-trait.workspace = true
chrono.workspace = true
tokio = { workspace = true, features = ["macros", "rt"] }

[features]
default = []
clap = ["dep:clap"]
tokio = ["dep:tokio", "dep:reqwest", "dep:async-trait"]

[lints]
workspace = true
