[package] name = "framework" version = "0.1.0" edition = "2021" [lib] name = "framework" path = "src/lib.rs" [dependencies] # WebSocket client dependency with conditional crypto features circle_client_ws = { path = "../circles/src/client_ws", default-features = false, features = [] } # Core dependencies serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" log = "0.4" thiserror = "1.0" uuid = { version = "1.0", features = ["v4"] } # Async dependencies futures-util = "0.3" futures-channel = "0.3" # WASM-specific dependencies [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" yew = { version = "0.21", features = ["csr"] } gloo = "0.11" gloo-timers = { version = "0.3", features = ["futures"] } web-sys = { version = "0.3", features = ["Storage", "Window", "FormData", "HtmlFormElement", "HtmlInputElement", "HtmlSelectElement"] } js-sys = "0.3" hex = "0.4" k256 = { version = "0.13", features = ["ecdsa", "sha256"] } getrandom = { version = "0.2", features = ["js"] } # Native-specific dependencies [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tokio = { version = "1.0", features = ["rt", "macros", "time"] } [dev-dependencies] tokio-test = "0.4" # Features [features] default = [] crypto = ["circle_client_ws/crypto"] wasm-compatible = [] # For WASM builds without crypto to avoid wasm-opt issues [workspace] members = ["examples/website"]