[package] name = "nym-client-wasm" authors = ["Dave Hrycyszyn ", "Jedrzej Stuczynski "] version = "1.1.1" edition = "2021" keywords = ["nym", "sphinx", "wasm", "webassembly", "privacy", "client"] license = "Apache-2.0" repository = "https://github.com/nymtech/nym" description = "A webassembly client which can be used to interact with the the Nym privacy platform. Wasm is used for Sphinx packet generation." rust-version = "1.56" [lib] crate-type = ["cdylib", "rlib"] [features] default = ["console_error_panic_hook"] offline-test = [] [dependencies] async-trait = "0.1.68" bs58 = "0.4.0" futures = "0.3" js-sys = "0.3" rand = { version = "0.7.3", features = ["wasm-bindgen"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" anyhow = "1.0" serde-wasm-bindgen = "0.5" tokio = { version = "1.24.1", features = ["sync"] } url = "2.2" wasm-bindgen = { version = "=0.2.83", features = ["serde-serialize"] } wasm-bindgen-futures = "0.4" thiserror = "1.0.40" zeroize = "1.6.0" wasm-timer = { git = "https://github.com/mmsinclair/wasm-timer", rev = "b9d1a54ad514c2f230a026afe0dde341e98cd7b6"} # internal nym-node-tester-utils = { path = "../../common/node-tester-utils" } nym-client-core = { path = "../../common/client-core", default-features = false, features = ["wasm"] } nym-bandwidth-controller = { path = "../../common/bandwidth-controller" } nym-coconut-interface = { path = "../../common/coconut-interface" } nym-credentials = { path = "../../common/credentials" } nym-credential-storage = { path = "../../common/credential-storage" } nym-crypto = { path = "../../common/crypto", features = ["asymmetric", "serde"] } nym-sphinx = { path = "../../common/nymsphinx" } nym-sphinx-acknowledgements = { path = "../../common/nymsphinx/acknowledgements", features = ["serde"]} nym-topology = { path = "../../common/topology" } nym-gateway-client = { path = "../../common/client-libs/gateway-client", default-features = false, features = ["wasm"] } nym-validator-client = { path = "../../common/client-libs/validator-client", default-features = false } nym-task = { path = "../../common/task" } wasm-utils = { path = "../../common/wasm-utils", features = ["storage"], default-features = false } # The `console_error_panic_hook` crate provides better debugging of panics by # logging them with `console.error`. This is great for development, but requires # all the `std::fmt` and `std::panicking` infrastructure, so isn't great for # code size when deploying. console_error_panic_hook = { version = "0.1", optional = true } # `wee_alloc` is a tiny allocator for wasm that is only ~1K in code size # compared to the default allocator's ~10K. It is slower than the default # allocator, however. # # Unfortunately, `wee_alloc` requires nightly Rust when targeting wasm for now. wee_alloc = { version = "0.4", optional = true } [dev-dependencies] wasm-bindgen-test = "0.3" [package.metadata.wasm-pack.profile.release] wasm-opt = false [profile.release] lto = true opt-level = 'z'