[package]
edition = "2021"
rust-version = "1.96"
name = "techne-sdk"
version = "0.3.2"
authors = ["Techne Foundation"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "TechneSDK's logic written once: version ranking (eventState) and offline record verification over the published check, shipped to TypeScript as WebAssembly; with opt-in atproto plumbing (service auth, DID resolution, signed labels, proven record fetches, PDS password sessions) behind the `crypto` and `net` features."
readme = "README.md"
keywords = [
"atproto",
"lexicon",
"techne",
"wasm",
]
license = "MIT"
repository = "https://github.com/technefoundation/sdk"
[features]
crypto = [
"techne-lexicon-check/proof",
"dep:anyhow",
"dep:base64",
"dep:bs58",
"dep:getrandom",
"dep:hex",
"dep:hmac",
"dep:ipld-core",
"dep:k256",
"dep:p256",
"dep:serde_ipld_dagcbor",
"dep:sha2",
"dep:thiserror",
]
default = []
net = [
"crypto",
"dep:async-trait",
"dep:reqwest",
"dep:tokio",
"dep:tracing",
]
tap = [
"dep:tokio",
"dep:tokio-tungstenite",
"dep:rustls",
"dep:futures-util",
"dep:async-trait",
"dep:anyhow",
"dep:tracing",
]
[lib]
name = "techne_sdk"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[test]]
name = "fixtures"
path = "tests/fixtures.rs"
[[test]]
name = "sync"
path = "tests/sync.rs"
[[test]]
name = "tap_source"
path = "tests/tap_source.rs"
[[test]]
name = "verify_operators"
path = "tests/verify_operators.rs"
[[test]]
name = "verify_renames"
path = "tests/verify_renames.rs"
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bs58]
version = "0.5"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["alloc"]
default-features = false
[dependencies.futures-util]
version = "0.3"
features = [
"sink",
"std",
]
optional = true
default-features = false
[dependencies.getrandom]
version = "0.2"
optional = true
[dependencies.hex]
version = "0.4"
optional = true
[dependencies.hmac]
version = "0.12"
optional = true
[dependencies.ipld-core]
version = "0.4"
optional = true
[dependencies.k256]
version = "0.13"
features = [
"ecdsa",
"std",
]
optional = true
default-features = false
[dependencies.p256]
version = "0.13"
features = [
"ecdsa",
"std",
]
optional = true
default-features = false
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_ipld_dagcbor]
version = "0.6"
optional = true
[dependencies.serde_json]
version = "1"
features = ["raw_value"]
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.techne-lexicon-check]
version = "=0.3.2"
[dependencies.thiserror]
version = "2"
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt",
"time",
"net",
]
optional = true
default-features = false
[dependencies.tokio-tungstenite]
version = "0.29"
features = [
"connect",
"rustls-tls-webpki-roots",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
optional = true
[dev-dependencies.axum]
version = "0.8"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"time",
"net",
"sync",
]
default-features = false