[package] name = "nym-sphinx" description = "Top-level crate for sphinx packets as used by the Nym mixnet" version.workspace = true authors = { workspace = true } edition = { workspace = true } license = { workspace = true } repository = { workspace = true } homepage.workspace = true documentation.workspace = true rust-version.workspace = true readme.workspace = true publish = true [dependencies] tracing = { workspace = true } rand = { workspace = true } rand_distr = { workspace = true } rand_chacha = { workspace = true } thiserror = { workspace = true } nym-sphinx-acknowledgements = { workspace = true } nym-sphinx-addressing = { workspace = true } nym-sphinx-anonymous-replies = { workspace = true } nym-sphinx-chunking = { workspace = true } nym-sphinx-cover = { workspace = true } nym-sphinx-forwarding = { workspace = true } nym-sphinx-params = { workspace = true } nym-sphinx-routing = { workspace = true } nym-sphinx-types = { workspace = true } # those dependencies are due to intriducing preparer and receiver. Perpaphs that indicates they should be moved # to separate crate? nym-crypto = { workspace = true } nym-topology = { workspace = true } nym-metrics = { workspace = true } [dev-dependencies] nym-mixnet-contract-common = { workspace = true } nym-crypto = { workspace = true, features = [ "asymmetric", ] } # do not include this when compiling into wasm as it somehow when combined together with reqwest, it will require # net2 via tokio-util -> tokio -> mio -> net2 [target."cfg(not(target_arch = \"wasm32\"))".dependencies.nym-sphinx-framing] workspace = true [target."cfg(not(target_arch = \"wasm32\"))".dependencies.tokio] workspace = true features = ["sync"] [features] default = ["sphinx"] sphinx = [ "nym-sphinx-params/sphinx", "nym-sphinx-types/sphinx", ] outfox = [ "nym-sphinx-params/outfox", "nym-sphinx-types/outfox", ]