Files
nym/gateway/Cargo.toml
Jędrzej Stuczyński f6bd511599 feat: Lewes Protocol with PSQv2 (#6491)
* merging georgio/lp-psqv2-integration

* use authenicator on the responder's side

* nym-lp crate compiling

* moved the e2e test to nym-lp

* move key generation to peer

* moved principal generation

* update KKTResponder

* encapsulation key parsing

* Adding concrete types within KKT exchange

* initiator side of the full handshake

* responder side of the handshake and full e2e test

* fixed unit-tests within nym-kkt

* LpSession cleanup

* helpers for Transport

* revamp of the transport traits and initial work on client-side transport

* compiling nym-crypto

* 'working' client-entry dvpn reg

* Fix key conversion

* Slightly reduce use of rand08

* reverted back to libcrux repo refs

* intial telescoping reg

* removing dead code

* wip

* moved data encryption into the state machine

* restoring nym-lp tests

* update lp api model

* Add receiver index derivation

* Add receiver index derivation

* use derived receiver index

* feat: add kem key generation to nodes

* generate fresh x25519, mlkem768 and mceliece keys on config migration

* add lp peer config

* nym-node startup cleanup

* removed dependency on pre-rand09 from nym-lp

* re-expose LP information on the http API

* fixed tests compilation

* add peer config happy path tests

* formatting

* add more tests and fix bug

* better docs

* clippy and formatting issues

* return error on mceliece within NestedSession

* wasm fixes

* removed legacy nym-vpn-lib-wasm

* fixing wasm for real this time

* additional fixes

* add payload to kkt

* make clippy happy

* moved LP to nym-node crate

* cargo fmt

* integrate lpconfig payload

* fix response size trait impl

* Migrate receiver index

* Change receiver index to u32 and regorganize crates

* clippy

* hopefully final wasm fixes

* simple conversion method from semver to ciphersuite

* updated nym-node config template

* chore: remove duplicated code

---------

Co-authored-by: Georgio Nicolas <me@georgio.xyz>
2026-02-27 13:49:08 +00:00

98 lines
3.0 KiB
TOML

# Copyright 2020 - Nym Technologies SA <contact@nymtech.net>
# SPDX-License-Identifier: GPL-3.0-only
[package]
name = "nym-gateway"
license = "GPL-3.0"
version = "1.1.36"
authors = [
"Dave Hrycyszyn <futurechimp@users.noreply.github.com>",
"Jędrzej Stuczyński <andrew@nymtech.net>",
]
description = "Implementation of the Nym Mixnet Gateway"
edition = "2021"
rust-version = "1.85"
publish = false
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
path = "src/lib.rs"
[dependencies]
bincode = { workspace = true }
async-trait = { workspace = true }
bip39 = { workspace = true }
bs58 = { workspace = true }
dashmap = { workspace = true }
fastrand = { workspace = true }
futures = { workspace = true }
humantime-serde = { workspace = true }
ipnetwork = { workspace = true }
rand = { workspace = true }
serde = { workspace = true, features = ["derive"] }
thiserror = { workspace = true }
time = { workspace = true }
tokio = { workspace = true, features = [
"rt-multi-thread",
"net",
"signal",
"fs",
"time",
] }
tokio-stream = { workspace = true }
tokio-tungstenite = { workspace = true }
tracing = { workspace = true }
url = { workspace = true, features = ["serde"] }
zeroize = { workspace = true }
# internal
nym-credentials = { workspace = true }
nym-credentials-interface = { workspace = true }
nym-credential-verification = { workspace = true }
nym-crypto = { workspace = true, features = ["sphinx"] }
nym-config = { workspace = true }
nym-gateway-storage = { workspace = true }
nym-gateway-stats-storage = { workspace = true }
nym-gateway-requests = { workspace = true }
nym-mixnet-client = { workspace = true }
nym-network-defaults = { workspace = true }
nym-network-requester = { path = "../service-providers/network-requester" }
nym-sdk = { workspace = true }
nym-sphinx = { workspace = true }
nym-statistics-common = { workspace = true }
nym-task = { workspace = true }
nym-topology = { workspace = true }
nym-validator-client = { workspace = true }
nym-ip-packet-router = { path = "../service-providers/ip-packet-router" }
nym-node-metrics = { workspace = true }
nym-upgrade-mode-check = { workspace = true }
nym-metrics = { workspace = true }
nym-wireguard = { workspace = true }
nym-wireguard-private-metadata-server = { workspace = true }
nym-wireguard-types = { workspace = true }
nym-authenticator-requests = { workspace = true }
nym-client-core = { workspace = true, features = ["cli"] }
nym-id = { workspace = true }
nym-service-provider-requests-common = { workspace = true }
nym-registration-common = { path = "../common/registration" }
nym-lp = { path = "../common/nym-lp" }
defguard_wireguard_rs = { workspace = true }
[dev-dependencies]
anyhow = { workspace = true }
nym-test-utils = { workspace = true }
nym-gateway-storage = { workspace = true, features = ["mock"] }
nym-wireguard = { workspace = true, features = ["mock"] }
mock_instant = { workspace = true }
time = { workspace = true }
nym-lp = { path = "../common/nym-lp", features = ["mock"] }
[lints]
workspace = true