From f62a74a6afa913e557fe57ef8b437e1d0c6ebd06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?= Date: Mon, 2 Mar 2026 14:54:27 +0000 Subject: [PATCH] wip --- nym-node/src/node/lp/client_handler.rs | 2 ++ nym-node/src/node/lp/directory.rs | 24 ++++++++++++++++++++++++ nym-node/src/node/lp/listener.rs | 2 ++ 3 files changed, 28 insertions(+) create mode 100644 nym-node/src/node/lp/client_handler.rs create mode 100644 nym-node/src/node/lp/directory.rs create mode 100644 nym-node/src/node/lp/listener.rs diff --git a/nym-node/src/node/lp/client_handler.rs b/nym-node/src/node/lp/client_handler.rs new file mode 100644 index 0000000000..bdc05451cb --- /dev/null +++ b/nym-node/src/node/lp/client_handler.rs @@ -0,0 +1,2 @@ +// Copyright 2026 - Nym Technologies SA +// SPDX-License-Identifier: GPL-3.0-only diff --git a/nym-node/src/node/lp/directory.rs b/nym-node/src/node/lp/directory.rs new file mode 100644 index 0000000000..57638548bd --- /dev/null +++ b/nym-node/src/node/lp/directory.rs @@ -0,0 +1,24 @@ +// Copyright 2026 - Nym Technologies SA +// SPDX-License-Identifier: GPL-3.0-only + +use arc_swap::ArcSwap; +use nym_lp::peer::DHPublicKey; +use nym_lp::{KEM, KEMKeyDigests}; +use std::collections::{BTreeMap, HashMap}; +use std::net::IpAddr; +use std::sync::Arc; + +/// Wrapper around all known LP nodes +pub(crate) struct LpNodes { + // map between all available ip addresses of other nodes and their details + nodes: ArcSwap>, +} + +struct LpNodeDetails { + inner: Arc, +} + +struct LpNodeDetailsInner { + kem_key_hashes: BTreeMap, + x25519: DHPublicKey, +} diff --git a/nym-node/src/node/lp/listener.rs b/nym-node/src/node/lp/listener.rs new file mode 100644 index 0000000000..bdc05451cb --- /dev/null +++ b/nym-node/src/node/lp/listener.rs @@ -0,0 +1,2 @@ +// Copyright 2026 - Nym Technologies SA +// SPDX-License-Identifier: GPL-3.0-only