diff --git a/clients/native/src/client/config/mod.rs b/clients/native/src/client/config/mod.rs index f699d1e027..91eb21875b 100644 --- a/clients/native/src/client/config/mod.rs +++ b/clients/native/src/client/config/mod.rs @@ -56,7 +56,7 @@ pub fn default_data_directory>(id: P) -> PathBuf { .join(DEFAULT_DATA_DIR) } -#[derive(Debug, Deserialize, PartialEq, Serialize)] +#[derive(Debug, Deserialize, PartialEq, Serialize, Clone)] pub struct Config { #[serde(flatten)] pub base: BaseClientConfig, @@ -94,6 +94,10 @@ impl CliClientConfig for Config { } impl Config { + pub fn base(&self) -> BaseClientConfig { + self.base.clone() + } + pub fn new>(id: S) -> Self { Config { base: BaseClientConfig::new(id.as_ref(), env!("CARGO_PKG_VERSION")), @@ -209,7 +213,7 @@ impl SocketType { } } -#[derive(Debug, Deserialize, PartialEq, Eq, Serialize)] +#[derive(Debug, Deserialize, PartialEq, Eq, Serialize, Clone)] #[serde(default, deny_unknown_fields)] pub struct Socket { pub socket_type: SocketType, diff --git a/clients/native/src/client/config/template.rs b/clients/native/src/client/config/template.rs index 0e09ea8a38..922f95b63c 100644 --- a/clients/native/src/client/config/template.rs +++ b/clients/native/src/client/config/template.rs @@ -107,5 +107,8 @@ enabled = {{ debug.stats_reporting.enabled }} provider_address = '{{ debug.stats_reporting.provider_address }}' reporting_interval = '{{ debug.stats_reporting.reporting_interval }}' +[debug.forget_me] +client = {{ debug.forget_me.client }} +stats = {{ debug.forget_me.stats }} "#; diff --git a/clients/native/src/client/mod.rs b/clients/native/src/client/mod.rs index f9ddefbff2..6e94408c24 100644 --- a/clients/native/src/client/mod.rs +++ b/clients/native/src/client/mod.rs @@ -20,7 +20,7 @@ pub use nym_sphinx::addressing::clients::Recipient; pub mod config; -type NativeClientBuilder<'a> = BaseClientBuilder<'a, QueryHttpRpcNyxdClient, OnDiskPersistent>; +type NativeClientBuilder = BaseClientBuilder; pub struct SocketClient { /// Client configuration options, including, among other things, packet sending rates, @@ -32,6 +32,10 @@ pub struct SocketClient { } impl SocketClient { + pub fn config(&self) -> Config { + self.config.clone() + } + pub fn new(config: Config, custom_mixnet: Option) -> Self { SocketClient { config, @@ -108,8 +112,9 @@ impl SocketClient { let storage = self.initialise_storage().await?; let user_agent = nym_bin_common::bin_info!().into(); - let mut base_client = BaseClientBuilder::new(&self.config.base, storage, dkg_query_client) - .with_user_agent(user_agent); + let mut base_client = + BaseClientBuilder::new(self.config().base(), storage, dkg_query_client) + .with_user_agent(user_agent); if let Some(custom_mixnet) = &self.custom_mixnet { base_client = base_client.with_stored_topology(custom_mixnet)?; diff --git a/clients/native/src/commands/init.rs b/clients/native/src/commands/init.rs index 3bf0c8a710..d92a8500b0 100644 --- a/clients/native/src/commands/init.rs +++ b/clients/native/src/commands/init.rs @@ -82,6 +82,7 @@ impl From for OverrideConfig { nyxd_urls: init_config.common_args.nyxd_urls, enabled_credentials_mode: init_config.common_args.enabled_credentials_mode, stats_reporting_address: init_config.common_args.stats_reporting_address, + forget_me: init_config.common_args.forget_me.into(), } } } diff --git a/clients/native/src/commands/mod.rs b/clients/native/src/commands/mod.rs index cfeb0ab511..4be73f95ca 100644 --- a/clients/native/src/commands/mod.rs +++ b/clients/native/src/commands/mod.rs @@ -16,6 +16,7 @@ use nym_bin_common::completions::{fig_generate, ArgShell}; use nym_client::client::Recipient; use nym_client_core::cli_helpers::CliClient; use nym_client_core::client::base_client::storage::migration_helpers::v1_1_33; +use nym_client_core::config::ForgetMe; use nym_config::OptionalSet; use std::error::Error; use std::net::IpAddr; @@ -106,6 +107,7 @@ pub(crate) struct OverrideConfig { nyxd_urls: Option>, enabled_credentials_mode: Option, stats_reporting_address: Option, + forget_me: ForgetMe, } pub(crate) async fn execute(args: Cli) -> Result<(), Box> { @@ -133,6 +135,7 @@ pub(crate) fn override_config(config: Config, args: OverrideConfig) -> Config { args.fastmode, ) .with_base(BaseClientConfig::with_disabled_cover_traffic, args.no_cover) + .with_base(BaseClientConfig::with_forget_me, args.forget_me) .with_optional(Config::with_port, args.port) .with_optional(Config::with_host, args.host) .with_optional_custom_env_ext( diff --git a/clients/native/src/commands/run.rs b/clients/native/src/commands/run.rs index c2e5c22a0f..5b76875435 100644 --- a/clients/native/src/commands/run.rs +++ b/clients/native/src/commands/run.rs @@ -41,6 +41,7 @@ impl From for OverrideConfig { nyxd_urls: run_config.common_args.nyxd_urls, enabled_credentials_mode: run_config.common_args.enabled_credentials_mode, stats_reporting_address: run_config.common_args.stats_reporting_address, + forget_me: run_config.common_args.forget_me.into(), } } } diff --git a/clients/socks5/src/commands/init.rs b/clients/socks5/src/commands/init.rs index 86fdb329ab..0c04114767 100644 --- a/clients/socks5/src/commands/init.rs +++ b/clients/socks5/src/commands/init.rs @@ -93,6 +93,7 @@ impl From for OverrideConfig { enabled_credentials_mode: init_config.common_args.enabled_credentials_mode, outfox: false, stats_reporting_address: init_config.common_args.stats_reporting_address, + forget_me: init_config.common_args.forget_me.into(), } } } diff --git a/clients/socks5/src/commands/mod.rs b/clients/socks5/src/commands/mod.rs index 545f36d778..2dca3c026e 100644 --- a/clients/socks5/src/commands/mod.rs +++ b/clients/socks5/src/commands/mod.rs @@ -17,7 +17,7 @@ use nym_bin_common::completions::{fig_generate, ArgShell}; use nym_client_core::cli_helpers::CliClient; use nym_client_core::client::base_client::storage::migration_helpers::v1_1_33; use nym_client_core::client::topology_control::geo_aware_provider::CountryGroup; -use nym_client_core::config::{GroupBy, TopologyStructure}; +use nym_client_core::config::{ForgetMe, GroupBy, TopologyStructure}; use nym_config::OptionalSet; use nym_sphinx::addressing::Recipient; use nym_sphinx::params::{PacketSize, PacketType}; @@ -113,6 +113,7 @@ pub(crate) struct OverrideConfig { enabled_credentials_mode: Option, outfox: bool, stats_reporting_address: Option, + forget_me: ForgetMe, } pub(crate) async fn execute(args: Cli) -> Result<(), Box> { @@ -179,6 +180,7 @@ pub(crate) fn override_config(config: Config, args: OverrideConfig) -> Config { BaseClientConfig::with_topology_structure, topology_structure, ) + .with_base(BaseClientConfig::with_forget_me, args.forget_me) .with_optional(Config::with_anonymous_replies, args.use_anonymous_replies) .with_optional(Config::with_port, args.port) .with_optional(Config::with_ip, args.ip) diff --git a/clients/socks5/src/commands/run.rs b/clients/socks5/src/commands/run.rs index 3dcbe1dfd4..e0928e3d67 100644 --- a/clients/socks5/src/commands/run.rs +++ b/clients/socks5/src/commands/run.rs @@ -65,6 +65,7 @@ impl From for OverrideConfig { enabled_credentials_mode: run_config.common_args.enabled_credentials_mode, outfox: run_config.outfox, stats_reporting_address: run_config.common_args.stats_reporting_address, + forget_me: run_config.common_args.forget_me.into(), } } } diff --git a/clients/socks5/src/config/template.rs b/clients/socks5/src/config/template.rs index 44149d1ac3..2a9a2791bd 100644 --- a/clients/socks5/src/config/template.rs +++ b/clients/socks5/src/config/template.rs @@ -113,4 +113,8 @@ enabled = {{ core.debug.stats_reporting.enabled }} provider_address = '{{ core.debug.stats_reporting.provider_address }}' reporting_interval = '{{ core.debug.stats_reporting.reporting_interval }}' +[core.debug.forget_me] +client = {{ core.debug.forget_me.client }} +stats = {{ core.debug.forget_me.stats }} + "#; diff --git a/common/client-core/config-types/src/lib.rs b/common/client-core/config-types/src/lib.rs index ae9d5c0659..9d5f687ab3 100644 --- a/common/client-core/config-types/src/lib.rs +++ b/common/client-core/config-types/src/lib.rs @@ -145,6 +145,11 @@ impl Config { self } + pub fn with_forget_me(mut self, forget_me: ForgetMe) -> Self { + self.debug.forget_me = forget_me; + self + } + // TODO: this should be refactored properly // as of 12.09.23 the below is true (not sure how this comment will rot in the future) // medium_toggle: @@ -713,6 +718,9 @@ pub struct DebugConfig { /// Defines all configuration options related to stats reporting. pub stats_reporting: StatsReporting, + + /// Defines all configuration options related to the forget me flag. + pub forget_me: ForgetMe, } impl DebugConfig { @@ -735,6 +743,69 @@ impl Default for DebugConfig { topology: Default::default(), reply_surbs: Default::default(), stats_reporting: Default::default(), + forget_me: Default::default(), + } + } +} + +#[derive(Clone, Default, Debug, Deserialize, PartialEq, Serialize, Copy)] +pub struct ForgetMe { + client: bool, + stats: bool, +} + +impl From for ForgetMe { + fn from(value: bool) -> Self { + if value { + Self::new_all() + } else { + Self::new_none() + } + } +} + +impl ForgetMe { + pub fn new_all() -> Self { + Self { + client: true, + stats: true, + } + } + + pub fn new_client() -> Self { + Self { + client: true, + stats: false, + } + } + + pub fn new_stats() -> Self { + Self { + client: false, + stats: true, + } + } + + pub fn new(client: bool, stats: bool) -> Self { + Self { client, stats } + } + + pub fn any(&self) -> bool { + self.client || self.stats + } + + pub fn client(&self) -> bool { + self.client + } + + pub fn stats(&self) -> bool { + self.stats + } + + pub fn new_none() -> Self { + Self { + client: false, + stats: false, } } } diff --git a/common/client-core/config-types/src/old/v5.rs b/common/client-core/config-types/src/old/v5.rs index aa11b0a99f..df673a0986 100644 --- a/common/client-core/config-types/src/old/v5.rs +++ b/common/client-core/config-types/src/old/v5.rs @@ -182,7 +182,7 @@ impl From for Config { maximum_reply_key_age: value.debug.reply_surbs.maximum_reply_key_age, surb_mix_hops: value.debug.reply_surbs.surb_mix_hops, }, - stats_reporting: Default::default(), + ..Default::default() }, } } diff --git a/common/client-core/src/cli_helpers/client_init.rs b/common/client-core/src/cli_helpers/client_init.rs index 95ee336765..9302ade290 100644 --- a/common/client-core/src/cli_helpers/client_init.rs +++ b/common/client-core/src/cli_helpers/client_init.rs @@ -93,6 +93,10 @@ pub struct CommonClientInitArgs { /// Sets the address to report statistics #[cfg_attr(feature = "cli", clap(long, hide = true))] pub stats_reporting_address: Option, + + /// Sets the forget me flag + #[cfg_attr(feature = "cli", clap(long, hide = true, default_value_t = false))] + pub forget_me: bool, } pub struct InitResultsWithConfig { diff --git a/common/client-core/src/cli_helpers/client_run.rs b/common/client-core/src/cli_helpers/client_run.rs index a156206454..327d38e501 100644 --- a/common/client-core/src/cli_helpers/client_run.rs +++ b/common/client-core/src/cli_helpers/client_run.rs @@ -61,4 +61,8 @@ pub struct CommonClientRunArgs { /// Sets the address to report statistics #[cfg_attr(feature = "cli", clap(long, hide = true))] pub stats_reporting_address: Option, + + /// Sets the forget me flag + #[cfg_attr(feature = "cli", clap(long, hide = true, default_value_t = false))] + pub forget_me: bool, } diff --git a/common/client-core/src/client/base_client/mod.rs b/common/client-core/src/client/base_client/mod.rs index 4b31108946..af95bf2ab1 100644 --- a/common/client-core/src/client/base_client/mod.rs +++ b/common/client-core/src/client/base_client/mod.rs @@ -32,10 +32,11 @@ use crate::init::{ setup_gateway, types::{GatewaySetup, InitialisationResult}, }; -use crate::{config, spawn_future, ForgetMe}; +use crate::{config, spawn_future}; use futures::channel::mpsc; use log::*; use nym_bandwidth_controller::BandwidthController; +use nym_client_core_config_types::ForgetMe; use nym_client_core_gateways_storage::{GatewayDetails, GatewaysDetailsStore}; use nym_credential_storage::storage::Storage as CredentialStorage; use nym_crypto::asymmetric::{encryption, identity}; @@ -176,8 +177,8 @@ impl From for CredentialsToggle { } } -pub struct BaseClientBuilder<'a, C, S: MixnetClientStorage> { - config: &'a Config, +pub struct BaseClientBuilder { + config: Config, client_store: S, dkg_query_client: Option, @@ -191,20 +192,18 @@ pub struct BaseClientBuilder<'a, C, S: MixnetClientStorage> { #[cfg(unix)] connection_fd_callback: Option>, - - forget_me: ForgetMe, } -impl<'a, C, S> BaseClientBuilder<'a, C, S> +impl BaseClientBuilder where S: MixnetClientStorage + 'static, C: DkgQueryClient + Send + Sync + 'static, { pub fn new( - base_config: &'a Config, + base_config: Config, client_store: S, dkg_query_client: Option, - ) -> BaseClientBuilder<'a, C, S> { + ) -> BaseClientBuilder { BaseClientBuilder { config: base_config, client_store, @@ -217,13 +216,12 @@ where setup_method: GatewaySetup::MustLoad { gateway_id: None }, #[cfg(unix)] connection_fd_callback: None, - forget_me: Default::default(), } } #[must_use] pub fn with_forget_me(mut self, forget_me: &ForgetMe) -> Self { - self.forget_me = forget_me.clone(); + self.config.debug.forget_me = *forget_me; self } @@ -773,7 +771,7 @@ where ); let stats_reporter = Self::start_statistics_control( - self.config, + &self.config, self.user_agent.clone(), generate_client_stats_id(*self_address.identity()), input_sender.clone(), @@ -799,7 +797,7 @@ where let gateway_transceiver = Self::setup_gateway_transceiver( self.custom_gateway_transceiver, - self.config, + &self.config, init_res, bandwidth_controller, &details_store, @@ -911,7 +909,7 @@ where stats_reporter, task_handle: shutdown, client_request_sender, - forget_me: self.forget_me, + forget_me: self.config.debug.forget_me, }) } } diff --git a/common/client-core/src/lib.rs b/common/client-core/src/lib.rs index 5154d192f1..ba1d80f4c4 100644 --- a/common/client-core/src/lib.rs +++ b/common/client-core/src/lib.rs @@ -33,48 +33,3 @@ where { tokio::spawn(future); } - -#[derive(Clone, Default, Debug)] -pub struct ForgetMe { - client: bool, - stats: bool, -} - -impl ForgetMe { - pub fn new_all() -> Self { - Self { - client: true, - stats: true, - } - } - - pub fn new_client() -> Self { - Self { - client: true, - stats: false, - } - } - - pub fn new_stats() -> Self { - Self { - client: false, - stats: true, - } - } - - pub fn new(client: bool, stats: bool) -> Self { - Self { client, stats } - } - - pub fn any(&self) -> bool { - self.client || self.stats - } - - pub fn client(&self) -> bool { - self.client - } - - pub fn stats(&self) -> bool { - self.stats - } -} diff --git a/common/socks5-client-core/src/config/mod.rs b/common/socks5-client-core/src/config/mod.rs index e4b3a8b623..4767eabcdd 100644 --- a/common/socks5-client-core/src/config/mod.rs +++ b/common/socks5-client-core/src/config/mod.rs @@ -30,6 +30,10 @@ pub struct Config { } impl Config { + pub fn base(&self) -> BaseClientConfig { + self.base.clone() + } + pub fn new>(id: S, version: S, provider_mix_address: S) -> Self { Config { base: BaseClientConfig::new(id, version), diff --git a/common/socks5-client-core/src/lib.rs b/common/socks5-client-core/src/lib.rs index fd2b0803da..9c112e7928 100644 --- a/common/socks5-client-core/src/lib.rs +++ b/common/socks5-client-core/src/lib.rs @@ -76,6 +76,10 @@ where ::StorageError: Sync + Send, ::StorageError: Send + Sync, { + pub fn config(&self) -> Config { + self.config.clone() + } + pub fn new( config: Config, storage: S, @@ -233,7 +237,7 @@ where }; let mut base_builder = - BaseClientBuilder::new(&self.config.base, self.storage, dkg_query_client) + BaseClientBuilder::new(self.config.base(), self.storage, dkg_query_client) .with_gateway_setup(self.setup_method) .with_user_agent(self.user_agent); @@ -241,7 +245,7 @@ where base_builder = base_builder.with_stored_topology(custom_mixnet)?; } - let packet_type = self.config.base.debug.traffic.packet_type; + let packet_type = self.config.base().debug.traffic.packet_type; let mut started_client = base_builder.start_base().await?; let self_address = started_client.address; let client_input = started_client.client_input.register_producer(); @@ -252,7 +256,7 @@ where Self::start_socks5_listener( &self.config.socks5, - self.config.base.debug, + self.config.base().debug, client_input, client_output, client_state, diff --git a/common/wasm/client-core/src/config/mod.rs b/common/wasm/client-core/src/config/mod.rs index 5c20f832d3..fec31f0af8 100644 --- a/common/wasm/client-core/src/config/mod.rs +++ b/common/wasm/client-core/src/config/mod.rs @@ -5,6 +5,7 @@ #![allow(clippy::drop_non_drop)] use crate::error::WasmCoreError; +use nym_client_core::config::ForgetMe; use nym_config::helpers::OptionalSet; use nym_sphinx::params::{PacketSize, PacketType}; use serde::{Deserialize, Serialize}; @@ -110,6 +111,8 @@ pub struct DebugWasm { /// Defines all configuration options related to stats reporting. #[wasm_bindgen(getter_with_clone)] pub stats_reporting: StatsReportingWasm, + + pub forget_me: ForgetMeWasm, } impl Default for DebugWasm { @@ -128,6 +131,7 @@ impl From for ConfigDebug { topology: debug.topology.into(), reply_surbs: debug.reply_surbs.into(), stats_reporting: debug.stats_reporting.into(), + forget_me: debug.forget_me.into(), } } } @@ -142,6 +146,7 @@ impl From for DebugWasm { topology: debug.topology.into(), reply_surbs: debug.reply_surbs.into(), stats_reporting: debug.stats_reporting.into(), + forget_me: ForgetMeWasm::from(debug.forget_me), } } } @@ -535,6 +540,29 @@ impl From for ReplySurbsWasm { } } +#[wasm_bindgen(inspectable)] +#[derive(Debug, Clone, Deserialize, PartialEq, Serialize, Copy, Default)] +#[serde(deny_unknown_fields)] +pub struct ForgetMeWasm { + pub client: bool, + pub stats: bool, +} + +impl From for ForgetMe { + fn from(value: ForgetMeWasm) -> Self { + ForgetMe::new(value.client, value.stats) + } +} + +impl From for ForgetMeWasm { + fn from(value: ForgetMe) -> Self { + Self { + client: value.client(), + stats: value.stats(), + } + } +} + #[wasm_bindgen(inspectable)] #[derive(Debug, Clone, Deserialize, PartialEq, Serialize)] #[serde(deny_unknown_fields)] diff --git a/common/wasm/client-core/src/config/override.rs b/common/wasm/client-core/src/config/override.rs index a1a10769fa..a8e638a036 100644 --- a/common/wasm/client-core/src/config/override.rs +++ b/common/wasm/client-core/src/config/override.rs @@ -8,8 +8,8 @@ #![allow(clippy::empty_docs)] use super::{ - AcknowledgementsWasm, CoverTrafficWasm, DebugWasm, GatewayConnectionWasm, ReplySurbsWasm, - StatsReportingWasm, TopologyWasm, TrafficWasm, + AcknowledgementsWasm, CoverTrafficWasm, DebugWasm, ForgetMeWasm, GatewayConnectionWasm, + ReplySurbsWasm, StatsReportingWasm, TopologyWasm, TrafficWasm, }; use crate::config::ConfigDebug; use serde::{Deserialize, Serialize}; @@ -47,6 +47,9 @@ pub struct DebugWasmOverride { /// Defines all configuration options related to stats reporting. #[tsify(optional)] pub stats_reporting: Option, + + #[tsify(optional)] + pub forget_me: Option, } impl From for DebugWasm { @@ -59,6 +62,7 @@ impl From for DebugWasm { topology: value.topology.map(Into::into).unwrap_or_default(), reply_surbs: value.reply_surbs.map(Into::into).unwrap_or_default(), stats_reporting: value.stats_reporting.map(Into::into).unwrap_or_default(), + forget_me: value.forget_me.map(Into::into).unwrap_or_default(), } } } @@ -400,6 +404,26 @@ impl From for ReplySurbsWasm { } } +#[derive(Tsify, Debug, Clone, Serialize, Deserialize)] +#[tsify(into_wasm_abi, from_wasm_abi)] +#[serde(rename_all = "camelCase")] +pub struct ForgetMeWasmOverride { + #[tsify(optional)] + pub client: Option, + + #[tsify(optional)] + pub stats: Option, +} + +impl From for ForgetMeWasm { + fn from(value: ForgetMeWasmOverride) -> Self { + ForgetMeWasm { + client: value.client.unwrap_or_default(), + stats: value.stats.unwrap_or_default(), + } + } +} + #[derive(Tsify, Debug, Clone, Serialize, Deserialize)] #[tsify(into_wasm_abi, from_wasm_abi)] #[serde(rename_all = "camelCase")] diff --git a/contracts/Cargo.lock b/contracts/Cargo.lock index 674d0b78c9..a5c961c076 100644 --- a/contracts/Cargo.lock +++ b/contracts/Cargo.lock @@ -179,7 +179,7 @@ dependencies = [ "semver", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -233,7 +233,7 @@ dependencies = [ "schemars", "serde", "subtle-encoding", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -267,7 +267,7 @@ dependencies = [ "ed25519-zebra", "k256 0.13.3", "rand_core 0.6.4", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -289,7 +289,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -320,7 +320,7 @@ dependencies = [ "serde", "serde-json-wasm", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -433,7 +433,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.98", ] [[package]] @@ -448,7 +448,7 @@ dependencies = [ "cw-utils", "schemars", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -467,7 +467,7 @@ dependencies = [ "prost", "schemars", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -493,7 +493,7 @@ dependencies = [ "schemars", "semver", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -508,7 +508,7 @@ dependencies = [ "schemars", "semver", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -538,7 +538,7 @@ dependencies = [ "schemars", "semver", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -553,7 +553,7 @@ dependencies = [ "cw20", "schemars", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -570,7 +570,7 @@ dependencies = [ "cw3", "schemars", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -622,7 +622,7 @@ dependencies = [ "nym-group-contract-common", "schemars", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -1140,7 +1140,7 @@ dependencies = [ "nym-coconut-bandwidth-contract-common", "nym-multisig-contract-common", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -1170,7 +1170,7 @@ dependencies = [ "nym-contracts-common", "nym-group-contract-common", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -1196,7 +1196,7 @@ dependencies = [ "cw-storage-plus", "schemars", "serde", - "thiserror", + "thiserror 2.0.11", "vergen", ] @@ -1210,7 +1210,7 @@ dependencies = [ "nym-sphinx-types", "rand", "subtle-encoding", - "thiserror", + "thiserror 2.0.11", "x25519-dalek", "zeroize", ] @@ -1240,7 +1240,7 @@ dependencies = [ "semver", "serde", "sylvia", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -1254,7 +1254,7 @@ dependencies = [ "cw-utils", "cw2", "nym-multisig-contract-common", - "thiserror", + "thiserror 2.0.11", ] [[package]] @@ -1289,7 +1289,7 @@ dependencies = [ "rand_chacha", "semver", "serde", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -1310,7 +1310,7 @@ dependencies = [ "serde", "serde-json-wasm", "serde_repr", - "thiserror", + "thiserror 2.0.11", "time", ] @@ -1326,7 +1326,7 @@ dependencies = [ "cw4", "schemars", "serde", - "thiserror", + "thiserror 2.0.11", ] [[package]] @@ -1349,7 +1349,7 @@ name = "nym-sphinx-types" version = "0.2.0" dependencies = [ "sphinx-packet", - "thiserror", + "thiserror 2.0.11", ] [[package]] @@ -1370,7 +1370,7 @@ dependencies = [ "rand_chacha", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -1383,7 +1383,7 @@ dependencies = [ "nym-contracts-common", "nym-mixnet-contract-common", "serde", - "thiserror", + "thiserror 2.0.11", ] [[package]] @@ -1489,9 +1489,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -1666,7 +1666,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.85", + "syn 2.0.98", ] [[package]] @@ -1699,9 +1699,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" dependencies = [ "serde", ] @@ -1741,7 +1741,7 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.98", ] [[package]] @@ -1752,7 +1752,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.98", ] [[package]] @@ -1775,7 +1775,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.98", ] [[package]] @@ -1934,9 +1934,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.85" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -1949,7 +1949,16 @@ version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.64", +] + +[[package]] +name = "thiserror" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +dependencies = [ + "thiserror-impl 2.0.11", ] [[package]] @@ -1960,7 +1969,18 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.98", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] @@ -2126,5 +2146,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.98", ] diff --git a/nym-network-monitor/src/main.rs b/nym-network-monitor/src/main.rs index c26f4859b4..e38fcefe8f 100644 --- a/nym-network-monitor/src/main.rs +++ b/nym-network-monitor/src/main.rs @@ -4,7 +4,7 @@ use anyhow::Result; use clap::Parser; use log::{error, info, warn}; use nym_bin_common::bin_info; -use nym_client_core::ForgetMe; +use nym_client_core::config::ForgetMe; use nym_crypto::asymmetric::ed25519::PrivateKey; use nym_network_defaults::setup_env; use nym_network_defaults::var_names::NYM_API; diff --git a/nym-wallet/Cargo.lock b/nym-wallet/Cargo.lock index e7c1e7e72b..cca0128ad8 100644 --- a/nym-wallet/Cargo.lock +++ b/nym-wallet/Cargo.lock @@ -295,15 +295,16 @@ dependencies = [ [[package]] name = "bip32" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa13fae8b6255872fd86f7faf4b41168661d7d78609f7bfe6771b85c6739a15b" +checksum = "db40d3dfbeab4e031d78c844642fa0caa0b0db11ce1607ac9d2986dff1405c69" dependencies = [ "bs58", "hmac", "k256", "rand_core 0.6.4", "ripemd", + "secp256k1", "sha2 0.10.8", "subtle 2.5.0", "zeroize", @@ -1232,6 +1233,12 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "data-encoding" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f" + [[package]] name = "der" version = "0.7.8" @@ -1374,6 +1381,17 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "dotenvy" version = "0.15.7" @@ -1517,6 +1535,18 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "enum-as-inner" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "env_logger" version = "0.7.1" @@ -1925,9 +1955,9 @@ dependencies = [ [[package]] name = "getset" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f636605b743120a8d32ed92fc27b6cde1a769f8f936c065151eb66f88ded513c" +checksum = "eded738faa0e88d3abc9d1a13cb11adc2073c400969eeb8793cf7132589959fc" dependencies = [ "proc-macro-error2", "proc-macro2", @@ -2237,6 +2267,61 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" +[[package]] +name = "hickory-proto" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447afdcdb8afb9d0a852af6dc65d9b285ce720ed7a59e42a8bf2e931c67bc1b5" +dependencies = [ + "async-trait", + "bytes", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "h2 0.3.20", + "http 0.2.9", + "idna 1.0.3", + "ipnet", + "once_cell", + "rand 0.8.5", + "rustls 0.21.9", + "rustls-pemfile 1.0.4", + "thiserror 1.0.64", + "tinyvec", + "tokio", + "tokio-rustls 0.24.1", + "tracing", + "url", + "webpki-roots 0.25.4", +] + +[[package]] +name = "hickory-resolver" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a2e2aba9c389ce5267d31cf1e4dace82390ae276b0b364ea55630b1fa1b44b4" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto", + "ipconfig", + "lru-cache", + "once_cell", + "parking_lot", + "rand 0.8.5", + "resolv-conf", + "rustls 0.21.9", + "smallvec", + "thiserror 1.0.64", + "tokio", + "tokio-rustls 0.24.1", + "tracing", + "webpki-roots 0.25.4", +] + [[package]] name = "hkdf" version = "0.12.4" @@ -2255,6 +2340,17 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi", +] + [[package]] name = "html5ever" version = "0.25.2" @@ -2489,6 +2585,124 @@ dependencies = [ "png", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -2505,6 +2719,27 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + [[package]] name = "ignore" version = "0.4.20" @@ -2590,6 +2825,18 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "ipconfig" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" +dependencies = [ + "socket2 0.5.5", + "widestring", + "windows-sys 0.48.0", + "winreg 0.50.0", +] + [[package]] name = "ipnet" version = "2.8.0" @@ -2768,6 +3015,12 @@ dependencies = [ "safemem", ] +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + [[package]] name = "linux-raw-sys" version = "0.4.5" @@ -2786,6 +3039,12 @@ dependencies = [ "keystream", ] +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + [[package]] name = "lock_api" version = "0.4.10" @@ -2820,6 +3079,15 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + [[package]] name = "mac" version = "0.1.1" @@ -2849,6 +3117,12 @@ dependencies = [ "tendril", ] +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + [[package]] name = "matchers" version = "0.1.0" @@ -3078,6 +3352,7 @@ dependencies = [ "ecdsa", "getset", "nym-compact-ecash", + "nym-config", "nym-contracts-common", "nym-credentials-interface", "nym-crypto", @@ -3092,7 +3367,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "tendermint 0.40.1", - "thiserror 1.0.64", + "thiserror 2.0.11", "time", "utoipa", ] @@ -3150,7 +3425,7 @@ dependencies = [ "serde", "sha2 0.9.9", "subtle 2.5.0", - "thiserror 1.0.64", + "thiserror 2.0.11", "zeroize", ] @@ -3163,7 +3438,7 @@ dependencies = [ "log", "nym-network-defaults", "serde", - "thiserror 1.0.64", + "thiserror 2.0.11", "toml 0.8.19", "url", ] @@ -3178,7 +3453,7 @@ dependencies = [ "cw-storage-plus", "schemars", "serde", - "thiserror 1.0.64", + "thiserror 2.0.11", "vergen", ] @@ -3193,7 +3468,7 @@ dependencies = [ "rand 0.8.5", "serde", "strum 0.26.3", - "thiserror 1.0.64", + "thiserror 2.0.11", "time", "utoipa", ] @@ -3210,7 +3485,7 @@ dependencies = [ "serde", "serde_bytes", "subtle-encoding", - "thiserror 1.0.64", + "thiserror 2.0.11", "x25519-dalek", "zeroize", ] @@ -3225,7 +3500,7 @@ dependencies = [ "cw-controllers", "cw-utils", "nym-multisig-contract-common", - "thiserror 1.0.64", + "thiserror 2.0.11", ] [[package]] @@ -3241,7 +3516,7 @@ version = "0.1.0" dependencies = [ "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.11", "tracing", "utoipa", ] @@ -3262,12 +3537,14 @@ name = "nym-http-api-client" version = "0.1.0" dependencies = [ "async-trait", + "hickory-resolver", "http 1.1.0", "nym-bin-common", + "once_cell", "reqwest 0.12.4", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.11", "tracing", "url", "wasmtimer", @@ -3289,7 +3566,7 @@ dependencies = [ "serde", "serde-json-wasm", "serde_repr", - "thiserror 1.0.64", + "thiserror 2.0.11", "time", "ts-rs", "utoipa", @@ -3307,7 +3584,7 @@ dependencies = [ "cw4", "schemars", "serde", - "thiserror 1.0.64", + "thiserror 2.0.11", ] [[package]] @@ -3341,7 +3618,7 @@ dependencies = [ "serde", "serde_json", "strum 0.26.3", - "thiserror 1.0.64", + "thiserror 2.0.11", "time", "utoipa", ] @@ -3369,7 +3646,7 @@ name = "nym-sphinx-types" version = "0.2.0" dependencies = [ "sphinx-packet", - "thiserror 1.0.64", + "thiserror 2.0.11", ] [[package]] @@ -3383,7 +3660,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.11", "zeroize", ] @@ -3423,7 +3700,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "strum 0.26.3", - "thiserror 1.0.64", + "thiserror 2.0.11", "ts-rs", "url", "utoipa", @@ -3470,7 +3747,7 @@ dependencies = [ "serde_json", "sha2 0.9.9", "tendermint-rpc", - "thiserror 1.0.64", + "thiserror 2.0.11", "time", "tokio", "tracing", @@ -3488,7 +3765,7 @@ dependencies = [ "nym-contracts-common", "nym-mixnet-contract-common", "serde", - "thiserror 1.0.64", + "thiserror 2.0.11", ] [[package]] @@ -3534,7 +3811,7 @@ dependencies = [ "nym-config", "nym-network-defaults", "serde", - "thiserror 1.0.64", + "thiserror 2.0.11", "x25519-dalek", ] @@ -3640,9 +3917,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.18.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -4223,7 +4500,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -4518,10 +4795,20 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots", + "webpki-roots 0.26.1", "winreg 0.52.0", ] +[[package]] +name = "resolv-conf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +dependencies = [ + "hostname", + "quick-error 1.2.3", +] + [[package]] name = "rfc6979" version = "0.4.0" @@ -4798,6 +5085,24 @@ dependencies = [ "zeroize", ] +[[package]] +name = "secp256k1" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" +dependencies = [ + "secp256k1-sys", +] + +[[package]] +name = "secp256k1-sys" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" +dependencies = [ + "cc", +] + [[package]] name = "security-framework" version = "2.9.2" @@ -4843,9 +5148,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" dependencies = [ "serde", ] @@ -4901,9 +5206,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa 1.0.9", "memchr", @@ -5331,6 +5636,17 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -5887,6 +6203,16 @@ dependencies = [ "time-core", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -6234,7 +6560,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", - "idna", + "idna 0.5.0", "percent-encoding", "serde", ] @@ -6245,6 +6571,18 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.1" @@ -6502,6 +6840,12 @@ dependencies = [ "system-deps 6.1.1", ] +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + [[package]] name = "webpki-roots" version = "0.26.1" @@ -6549,6 +6893,12 @@ dependencies = [ "windows-metadata", ] +[[package]] +name = "widestring" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" + [[package]] name = "winapi" version = "0.3.9" @@ -6951,6 +7301,18 @@ dependencies = [ "toml 0.5.11", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "wry" version = "0.23.4" @@ -7031,6 +7393,51 @@ dependencies = [ "libc", ] +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", + "synstructure", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", + "synstructure", +] + [[package]] name = "zeroize" version = "1.6.0" @@ -7052,6 +7459,28 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "zip" version = "0.6.6" diff --git a/sdk/rust/nym-sdk/src/mixnet/client.rs b/sdk/rust/nym-sdk/src/mixnet/client.rs index af0f059cfa..38dd6c3e64 100644 --- a/sdk/rust/nym-sdk/src/mixnet/client.rs +++ b/sdk/rust/nym-sdk/src/mixnet/client.rs @@ -23,12 +23,11 @@ use nym_client_core::client::key_manager::persistence::KeyStore; use nym_client_core::client::{ base_client::BaseClientBuilder, replies::reply_storage::ReplyStorageBackend, }; -use nym_client_core::config::{DebugConfig, StatsReporting}; +use nym_client_core::config::{DebugConfig, ForgetMe, StatsReporting}; use nym_client_core::error::ClientCoreError; use nym_client_core::init::helpers::gateways_for_init; use nym_client_core::init::setup_gateway; use nym_client_core::init::types::{GatewaySelectionSpecification, GatewaySetup}; -use nym_client_core::ForgetMe; use nym_credentials_interface::TicketType; use nym_socks5_client_core::config::Socks5; use nym_task::{TaskClient, TaskHandle, TaskStatus}; @@ -641,7 +640,7 @@ where .as_base_client_config(nyxd_endpoints, nym_api_endpoints.clone()); let mut base_builder: BaseClientBuilder<_, _> = - BaseClientBuilder::new(&base_config, self.storage, self.dkg_query_client) + BaseClientBuilder::new(base_config, self.storage, self.dkg_query_client) .with_wait_for_gateway(self.wait_for_gateway) .with_forget_me(&self.forget_me); diff --git a/sdk/rust/nym-sdk/src/mixnet/native_client.rs b/sdk/rust/nym-sdk/src/mixnet/native_client.rs index 436214819b..33e0a7023b 100644 --- a/sdk/rust/nym-sdk/src/mixnet/native_client.rs +++ b/sdk/rust/nym-sdk/src/mixnet/native_client.rs @@ -11,7 +11,7 @@ use nym_client_core::client::{ inbound_messages::InputMessage, received_buffer::ReconstructedMessagesReceiver, }; -use nym_client_core::ForgetMe; +use nym_client_core::config::ForgetMe; use nym_crypto::asymmetric::identity; use nym_gateway_requests::ClientRequest; use nym_sphinx::addressing::clients::Recipient; diff --git a/wasm/client/src/client.rs b/wasm/client/src/client.rs index f7c23bdad8..112ac85dd6 100644 --- a/wasm/client/src/client.rs +++ b/wasm/client/src/client.rs @@ -225,11 +225,8 @@ impl NymClientBuilder { let packet_type = self.config.base.debug.traffic.packet_type; let storage = Self::initialise_storage(&self.config, client_store); - let base_builder = BaseClientBuilder::::new( - &self.config.base, - storage, - None, - ); + let base_builder = + BaseClientBuilder::::new(self.config.base, storage, None); // if let Some(topology_provider) = maybe_topology_provider { // base_builder = base_builder.with_topology_provider(topology_provider); // } diff --git a/wasm/mix-fetch/src/client.rs b/wasm/mix-fetch/src/client.rs index b513cb3ca9..9009b6653e 100644 --- a/wasm/mix-fetch/src/client.rs +++ b/wasm/mix-fetch/src/client.rs @@ -163,11 +163,8 @@ impl MixFetchClientBuilder { let storage = Self::initialise_storage(&self.config, client_store); - let base_builder = BaseClientBuilder::::new( - &self.config.base, - storage, - None, - ); + let base_builder = + BaseClientBuilder::::new(self.config.base, storage, None); // if let Ok(reuse_setup) = GatewaySetup::try_reuse_connection(init_res) { // base_builder = base_builder.with_gateway_setup(reuse_setup);