[package] name = "nym-sphinx" version.workspace = true description = "Top-level crate for sphinx packets as used by the Nym mixnet" edition = { workspace = true } authors = { workspace = true } license = { workspace = true } repository = { workspace = true } [dependencies] tracing = { workspace = true } rand = { workspace = true } rand_distr = { workspace = true } rand_chacha = { workspace = true } thiserror = { workspace = true } serde = { workspace = true, features = ["derive"] } log = { 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"]