a43d183b4f
* Compiles but runtime time fails * wip * Beginning of clean-up - creation of config to keep things together * Removed unused module * Removed hardcoded constants * Easier way of sending binary messages * WIP cleanup before machine switch * Upgrade wasm-bindgen to 0.2.83 * Fixed compilation warnings for wasm client * all clients compiling without warnings * disabling topology refresh in wasm * Added a config option to disable loop cover traffic stream * config changes * Make webassembly work in a web worker - `wasm-timer` modified to work in web worker - add worker target to webpack - add client to call from HTML - update README to build WASM for bundling (this does not build ES modules) * Restored topology refreshing * correctly polling items in the wasm delay_queue * Allow client to read up to 8 messages at once from gateway connection (#1669) * Allow client to read up to 8 messages at once from gateway connection * Importing tokio::select in wasm32 target * Updated changelog * missing imports * Introduced disable_main_poisson_packet_distribution to force real_traffic_stream to disable poisson sending (#1664) * Introduced disable_main_poisson_packet_distribution to force real_traffic_stream to disable poisson sending * Updated changelog * Adjusting default settings * Introduced a client-configurable option to force it to use extended packet size * local adjustments * Removed warning associated with receiving extended packets * Minimal v2-required changes * Updated changelog * explicitly allowing clippy drop_non_drop Co-authored-by: Mark Sinclair <mmsinclair@gmail.com>
84 lines
2.8 KiB
TOML
84 lines
2.8 KiB
TOML
[package]
|
|
name = "gateway-client"
|
|
version = "0.1.0"
|
|
authors = ["Jędrzej Stuczyński <andrew@nymtech.net>"]
|
|
edition = "2021"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
# TODO: (for this and other crates), similarly to 'tokio', import only required "futures" modules rather than
|
|
# the entire crate
|
|
futures = "0.3"
|
|
log = "0.4"
|
|
thiserror = "1.0"
|
|
url = "2.2"
|
|
rand = { version = "0.7.3", features = ["wasm-bindgen"] }
|
|
async-trait = { version = "0.1.51" }
|
|
tokio = { version = "1.21.2", features = ["macros"] }
|
|
|
|
# internal
|
|
coconut-interface = { path = "../../coconut-interface", optional = true }
|
|
credentials = { path = "../../credentials" }
|
|
crypto = { path = "../../crypto" }
|
|
gateway-requests = { path = "../../../gateway/gateway-requests" }
|
|
network-defaults = { path = "../../network-defaults" }
|
|
nymsphinx = { path = "../../nymsphinx" }
|
|
pemstore = { path = "../../pemstore" }
|
|
validator-client = { path = "../validator-client", optional = true }
|
|
|
|
|
|
[dependencies.tungstenite]
|
|
version = "0.13"
|
|
default-features = false
|
|
|
|
# non-wasm-only dependencies
|
|
[target."cfg(not(target_arch = \"wasm32\"))".dependencies.tokio]
|
|
version = "1.21.2"
|
|
features = ["macros", "rt", "net", "sync", "time"]
|
|
|
|
[target."cfg(not(target_arch = \"wasm32\"))".dependencies.tokio-stream]
|
|
version = "0.1.9"
|
|
features = ["net", "sync", "time"]
|
|
|
|
[target."cfg(not(target_arch = \"wasm32\"))".dependencies.tokio-tungstenite]
|
|
version = "0.14"
|
|
|
|
[target."cfg(not(target_arch = \"wasm32\"))".dependencies.credential-storage]
|
|
path = "../../credential-storage"
|
|
|
|
[target."cfg(not(target_arch = \"wasm32\"))".dependencies.task]
|
|
path = "../../task"
|
|
|
|
# wasm-only dependencies
|
|
[target."cfg(target_arch = \"wasm32\")".dependencies.wasm-bindgen]
|
|
version = "0.2"
|
|
|
|
[target."cfg(target_arch = \"wasm32\")".dependencies.wasm-bindgen-futures]
|
|
version = "0.4"
|
|
|
|
[target."cfg(target_arch = \"wasm32\")".dependencies.wasm-utils]
|
|
path = "../../wasm-utils"
|
|
|
|
# only import it in wasm. Prefer proper tokio timer in non-wasm
|
|
[target."cfg(target_arch = \"wasm32\")".dependencies.wasm-timer]
|
|
git = "https://github.com/mmsinclair/wasm-timer"
|
|
rev = "b9d1a54ad514c2f230a026afe0dde341e98cd7b6"
|
|
|
|
# this is due to tungstenite using `rand` 0.8 and associated changes in `getrandom` crate
|
|
# which now does not support wasm32-unknown-unknown target by default.
|
|
# using the below, we assume our client is going to be run in environment
|
|
# containing javascript (such as a web browser or node.js).
|
|
# refer to https://docs.rs/getrandom/0.2.2/getrandom/#webassembly-support for more information
|
|
[target."cfg(target_arch = \"wasm32\")".dependencies.getrandom]
|
|
version = "0.2"
|
|
features = ["js"]
|
|
|
|
[dev-dependencies]
|
|
# for tests
|
|
#url = "2.1"
|
|
|
|
[features]
|
|
coconut = ["gateway-requests/coconut", "coconut-interface", "validator-client", "credentials/coconut"]
|
|
wasm = []
|