diff --git a/Cargo.lock b/Cargo.lock index dc4b682eeb..7024761e7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -292,15 +292,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "383d29d513d8764dcdc42ea295d979eb99c3c9f00607b3692cf68a431f7dca72" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bip32" version = "0.3.0" @@ -4076,11 +4067,9 @@ dependencies = [ name = "nym-sphinx-framing" version = "0.1.0" dependencies = [ - "bincode", "bytes", "nym-sphinx-params", "nym-sphinx-types", - "serde", "thiserror", "tokio-util", ] @@ -4100,7 +4089,6 @@ name = "nym-sphinx-types" version = "0.2.0" dependencies = [ "nym-outfox", - "serde", "sphinx-packet", "thiserror", ] diff --git a/common/nymsphinx/framing/Cargo.toml b/common/nymsphinx/framing/Cargo.toml index 4915eb66af..b510926555 100644 --- a/common/nymsphinx/framing/Cargo.toml +++ b/common/nymsphinx/framing/Cargo.toml @@ -11,8 +11,6 @@ repository = { workspace = true } bytes = "1.0" tokio-util = { version = "0.7.4", features = ["codec"] } thiserror = "1.0.37" -serde = { version = "1", features = ["derive"] } -bincode = "1" nym-sphinx-types = { path = "../types" } nym-sphinx-params = { path = "../params" } diff --git a/common/nymsphinx/framing/src/packet.rs b/common/nymsphinx/framing/src/packet.rs index 513131a44f..3d6d865b01 100644 --- a/common/nymsphinx/framing/src/packet.rs +++ b/common/nymsphinx/framing/src/packet.rs @@ -7,10 +7,9 @@ use nym_sphinx_params::packet_sizes::PacketSize; use nym_sphinx_params::packet_version::PacketVersion; use nym_sphinx_params::PacketMode; use nym_sphinx_types::NymPacket; -use serde::{Deserialize, Serialize}; use std::convert::TryFrom; -#[derive(Serialize, Deserialize, Debug)] +#[derive(Debug)] pub struct FramedNymPacket { /// Contains any metadata helping receiver to handle the underlying packet. pub(crate) header: Header, @@ -55,7 +54,7 @@ impl FramedNymPacket { // Contains any metadata that might be useful for sending between mix nodes. // TODO: in theory all those data could be put in a single `u8` by setting appropriate bits, // but would that really be worth it? -#[derive(Debug, Default, PartialEq, Eq, Copy, Clone, Serialize, Deserialize)] +#[derive(Debug, Default, PartialEq, Eq, Copy, Clone)] pub struct Header { /// Represents the wire format version used to construct this packet. pub(crate) packet_version: PacketVersion, diff --git a/common/nymsphinx/types/Cargo.toml b/common/nymsphinx/types/Cargo.toml index 0fb12f3fd1..2c52ef03d9 100644 --- a/common/nymsphinx/types/Cargo.toml +++ b/common/nymsphinx/types/Cargo.toml @@ -9,6 +9,5 @@ repository = { workspace = true } [dependencies] sphinx-packet = { version = "0.1.0" } -serde = "1" nym-outfox = { path = "../../../nym-outfox" } thiserror = "1" diff --git a/common/nymsphinx/types/src/lib.rs b/common/nymsphinx/types/src/lib.rs index 000982e0ae..38ca61a6ce 100644 --- a/common/nymsphinx/types/src/lib.rs +++ b/common/nymsphinx/types/src/lib.rs @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 pub use nym_outfox::{error::OutfoxError, packet::OutfoxPacket, packet::OUTFOX_PACKET_OVERHEAD}; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; // re-exporting types and constants available in sphinx pub use sphinx_packet::{ constants::{ @@ -17,6 +16,7 @@ pub use sphinx_packet::{ surb::{SURBMaterial, SURB}, Error as SphinxError, ProcessedPacket, SphinxPacket, }; +use std::fmt; use thiserror::Error; #[derive(Error, Debug)] @@ -75,50 +75,3 @@ impl NymPacket { } } } - -impl Serialize for NymPacket { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_bytes(&self.to_bytes().unwrap()) - } -} - -use std::fmt; - -use serde::de::{self, Visitor}; - -struct NymPacketVisitor; - -impl<'de> Visitor<'de> for NymPacketVisitor { - type Value = NymPacket; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("Byte encoded NymPacket") - } - - fn visit_bytes(self, v: &[u8]) -> Result - where - E: de::Error, - { - match SphinxPacket::from_bytes(v) { - Ok(packet) => Ok(NymPacket::Sphinx(packet)), - Err(_) => match OutfoxPacket::try_from(v) { - Ok(packet) => Ok(NymPacket::Outfox(packet)), - Err(_) => Err(E::custom( - "Could not deserialize Outfox nor Sphinx packet from bytes", - )), - }, - } - } -} - -impl<'de> Deserialize<'de> for NymPacket { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_bytes(NymPacketVisitor) - } -} diff --git a/contracts/Cargo.lock b/contracts/Cargo.lock index 6bf76ee003..027c8adb8d 100644 --- a/contracts/Cargo.lock +++ b/contracts/Cargo.lock @@ -1344,7 +1344,6 @@ name = "nym-sphinx-types" version = "0.2.0" dependencies = [ "nym-outfox", - "serde", "sphinx-packet", "thiserror", ] diff --git a/nym-connect/desktop/Cargo.lock b/nym-connect/desktop/Cargo.lock index d4ff7fca09..6dd6ad7428 100644 --- a/nym-connect/desktop/Cargo.lock +++ b/nym-connect/desktop/Cargo.lock @@ -217,15 +217,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bip32" version = "0.3.0" @@ -3757,11 +3748,9 @@ dependencies = [ name = "nym-sphinx-framing" version = "0.1.0" dependencies = [ - "bincode", "bytes", "nym-sphinx-params", "nym-sphinx-types", - "serde", "thiserror", "tokio-util", ] @@ -3781,7 +3770,6 @@ name = "nym-sphinx-types" version = "0.2.0" dependencies = [ "nym-outfox", - "serde", "sphinx-packet", "thiserror", ] diff --git a/nym-wallet/Cargo.lock b/nym-wallet/Cargo.lock index 3565ae37e7..e21247e821 100644 --- a/nym-wallet/Cargo.lock +++ b/nym-wallet/Cargo.lock @@ -3101,7 +3101,6 @@ name = "nym-sphinx-types" version = "0.2.0" dependencies = [ "nym-outfox", - "serde", "sphinx-packet", "thiserror", ]