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