[package]
name = "tap-node"
version.workspace = true
edition.workspace = true
authors.workspace = true
repository.workspace = true
license.workspace = true
description = "Transaction Authorization Protocol (TAP) node implementation for routing and processing messages"
readme = "README.md"
[dependencies]
tap-msg = { version = "0.7.0", path = "../tap-msg" }
tap-agent = { version = "0.7.0", path = "../tap-agent" }
tap-caip = { version = "0.7.0", path = "../tap-caip" }
tap-ivms101 = { version = "0.7.0", path = "../tap-ivms101" }
tokio = { workspace = true }
async-trait = { workspace = true }
wasm-bindgen = { workspace = true, optional = true }
js-sys = { workspace = true, optional = true }
wasm-bindgen-futures = { workspace = true, optional = true }
console_error_panic_hook = { workspace = true, optional = true }
web-sys = { workspace = true, optional = true, features = [
"Headers",
"Request",
"RequestInit",
"RequestMode",
"Response",
"Window",
] }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
dashmap = "6.1"
uuid = { workspace = true }
futures = { version = "0.3" }
sha2 = "0.10"
base58 = "0.2"
base64 = "0.22"
chrono = { workspace = true }
log = "0.4"
percent-encoding = "2.3"
reqwest = { version = "0.12", features = ["json"], optional = true }
tokio-tungstenite = { version = "0.24", features = [
"native-tls",
], optional = true }
sqlx = { version = "0.8.6", features = [
"runtime-tokio-native-tls",
"sqlite",
"migrate",
"json",
], optional = true }
dirs = { version = "6.0", optional = true }
[dev-dependencies]
tokio-test = { workspace = true }
criterion = { version = "0.6", features = ["async_tokio"] }
futures = { version = "0.3" }
env_logger = "0.10"
tempfile = "3.8"
[[bench]]
name = "stress_test"
harness = false
[features]
default = ["native", "storage"]
native = ["tokio/full", "reqwest"]
storage = ["sqlx", "dirs"]
websocket = ["tokio-tungstenite"]
native-with-websocket = ["native", "websocket"]
wasm = [
"wasm-bindgen",
"js-sys",
"wasm-bindgen-futures",
"console_error_panic_hook",
"web-sys",
]
wasm-with-websocket = [
"wasm",
"web-sys/WebSocket",
"web-sys/MessageEvent",
"web-sys/BinaryType",
]