[package] name = "nym-client-core" description = "Crate containing core client functionality and configs, used by all other Nym client implentations" version.workspace = true authors = ["Dave Hrycyszyn "] edition = "2024" license.workspace = true repository.workspace = true homepage.workspace = true documentation.workspace = true rust-version = "1.85" readme.workspace = true publish = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] async-trait = { workspace = true } base64 = { workspace = true } bs58 = { workspace = true } clap = { workspace = true, optional = true } cfg-if = { workspace = true } comfy-table = { workspace = true, optional = true } futures = { workspace = true } humantime = { workspace = true } rand = { workspace = true } rand_chacha = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } sha2 = { workspace = true } si-scale = { workspace = true } thiserror = { workspace = true } url = { workspace = true, features = ["serde"] } time = { workspace = true } tokio = { workspace = true, features = ["sync", "macros"] } tracing = { workspace = true } zeroize = { workspace = true } # internal nym-id = { workspace = true } nym-bandwidth-controller = { workspace = true } nym-crypto = { workspace = true } nym-gateway-client = { workspace = true } nym-gateway-requests = { workspace = true } nym-http-api-client = { workspace = true, features = ["network-defaults"] } nym-nonexhaustive-delayqueue = { workspace = true } nym-sphinx = { workspace = true } nym-statistics-common = { workspace = true } nym-pemstore = { workspace = true } nym-topology = { workspace = true, features = ["persistence"] } nym-validator-client = { workspace = true } nym-task = { workspace = true } nym-credentials-interface = { workspace = true } nym-credential-storage = { workspace = true } nym-network-defaults = { workspace = true } nym-client-core-config-types = { workspace = true, features = [ "disk-persistence", ] } nym-client-core-surb-storage = { workspace = true } nym-client-core-gateways-storage = { workspace = true } nym-ecash-time = { workspace = true } nym-mixnet-contract-common = { workspace = true } [target."cfg(not(target_arch = \"wasm32\"))".dependencies] nym-mixnet-client = { workspace = true } ### For serving prometheus metrics [target."cfg(not(target_arch = \"wasm32\"))".dependencies.hyper] workspace = true features = ["server", "http1"] [target."cfg(not(target_arch = \"wasm32\"))".dependencies.http-body-util] workspace = true [target."cfg(not(target_arch = \"wasm32\"))".dependencies.hyper-util] workspace = true features = ["tokio"] [target."cfg(not(target_arch = \"wasm32\"))".dependencies.tokio-stream] workspace = true features = ["time"] [target."cfg(not(target_arch = \"wasm32\"))".dependencies.tokio] workspace = true features = ["time"] [target."cfg(not(target_arch = \"wasm32\"))".dependencies.tokio-tungstenite] workspace = true features = ["rustls-tls-webpki-roots"] [target."cfg(not(target_arch = \"wasm32\"))".dependencies.tungstenite] workspace = true default-features = true features = ["rustls-tls-webpki-roots"] [target."cfg(target_arch = \"wasm32\")".dependencies.tungstenite] workspace = true default-features = false [target."cfg(target_arch = \"wasm32\")".dependencies.wasm-bindgen-futures] workspace = true [target."cfg(target_arch = \"wasm32\")".dependencies.wasm-bindgen] workspace = true [target."cfg(target_arch = \"wasm32\")".dependencies.wasmtimer] workspace = true features = ["tokio"] [target."cfg(target_arch = \"wasm32\")".dependencies.gloo-timers] workspace = true features = ["futures"] [target."cfg(target_arch = \"wasm32\")".dependencies.nym-wasm-utils] workspace = true features = ["websocket"] [target."cfg(target_arch = \"wasm32\")".dependencies.time] workspace = true features = ["wasm-bindgen"] [target."cfg(target_arch = \"wasm32\")".dependencies.tokio_with_wasm] workspace = true features = ["full"] [target."cfg(target_arch = \"wasm32\")".dependencies.getrandom03] workspace = true features = ["wasm_js"] [dev-dependencies] tempfile = { workspace = true } [features] default = [] cli = ["clap", "comfy-table"] fs-credentials-storage = ["nym-credential-storage/persistent-storage"] fs-surb-storage = ["nym-client-core-surb-storage/fs-surb-storage"] fs-gateways-storage = ["nym-client-core-gateways-storage/fs-gateways-storage"] wasm = ["nym-gateway-client/wasm"] metrics-server = [] [lints] workspace = true