Files
circles/src/client_ws/Cargo.toml
2025-06-19 05:17:14 +03:00

56 lines
1.6 KiB
TOML

[package]
name = "circle_client_ws"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true }
log = { workspace = true }
futures-channel = { workspace = true, features = ["sink"] }
futures-util = { workspace = true, features = ["sink"] }
thiserror = { workspace = true }
async-trait = { workspace = true }
url = { workspace = true }
http = "0.2"
# Authentication dependencies
hex = { workspace = true }
rand = { workspace = true }
urlencoding = { workspace = true }
# Optional crypto dependencies (enabled by default)
secp256k1 = { workspace = true, optional = true }
sha3 = { workspace = true, optional = true }
# Optional server dependency for end-to-end examples
circle_ws_lib = { path = "../server_ws", optional = true }
# WASM-specific dependencies
[target.'cfg(target_arch = "wasm32")'.dependencies]
gloo-net = { version = "0.4.0", features = ["websocket"] }
wasm-bindgen-futures = "0.4"
gloo-console = "0.3.0"
wasm-bindgen = "0.2"
js-sys = "0.3"
web-sys = { version = "0.3", features = ["Request", "RequestInit", "RequestMode", "Response", "Window"] }
# Native-specific dependencies
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio-tungstenite = { version = "0.19.0", features = ["native-tls"] }
native-tls = "0.2.11"
tokio-native-tls = "0.3.0"
tokio = { workspace = true, features = ["rt", "macros", "time"] }
[dev-dependencies]
env_logger = { workspace = true }
tokio = { workspace = true }
# Features
[features]
default = ["crypto"]
crypto = ["secp256k1", "sha3"]
end_to_end = ["circle_ws_lib"]