[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"]