From d77bcbb241d7f050510c305ab2eb02e08d1ea553 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?= Date: Thu, 12 Oct 2023 11:30:50 +0100 Subject: [PATCH] fixed build and lints of other crates --- common/client-core/src/init/types.rs | 9 +- common/mixnode-common/src/verloc/packet.rs | 4 +- common/nymsphinx/src/receiver.rs | 3 +- .../src/support/setup.rs | 2 +- contracts/mixnet/src/support/tests/mod.rs | 4 +- .../name-service/src/test_helpers/signing.rs | 2 +- .../src/test_helpers/signing.rs | 2 +- .../src/registration/handshake/state.rs | 4 +- nym-api/src/nym_contract_cache/routes.rs | 4 +- .../src/operations/directory/gateways.rs | 2 +- .../api/v1/gateway/client_interfaces/mod.rs | 2 +- .../client_interfaces/wireguard/mod.rs | 2 +- .../src/api/v1/gateway/mod.rs | 2 +- .../client_interfaces/wireguard/mod.rs | 2 +- nym-node/src/lib.rs | 2 +- nym-wallet/Cargo.lock | 121 ++++++++++++++++-- .../src-tauri/src/operations/helpers.rs | 4 +- sdk/lib/socks5-listener/src/lib.rs | 4 +- 18 files changed, 131 insertions(+), 44 deletions(-) diff --git a/common/client-core/src/init/types.rs b/common/client-core/src/init/types.rs index f1fc8e40cc..f420a07324 100644 --- a/common/client-core/src/init/types.rs +++ b/common/client-core/src/init/types.rs @@ -178,8 +178,9 @@ impl From> for GatewayDetails { } } -#[derive(Clone)] +#[derive(Clone, Default)] pub enum GatewaySelectionSpecification { + #[default] /// Uniformly choose a random remote gateway. UniformRemote, @@ -198,12 +199,6 @@ pub enum GatewaySelectionSpecification { }, } -impl Default for GatewaySelectionSpecification { - fn default() -> Self { - GatewaySelectionSpecification::UniformRemote - } -} - impl GatewaySelectionSpecification { pub fn new(gateway_identity: Option, latency_based_selection: Option) -> Self { if let Some(identity) = gateway_identity { diff --git a/common/mixnode-common/src/verloc/packet.rs b/common/mixnode-common/src/verloc/packet.rs index 80d7f59ac9..3951a7f6b0 100644 --- a/common/mixnode-common/src/verloc/packet.rs +++ b/common/mixnode-common/src/verloc/packet.rs @@ -23,7 +23,7 @@ impl EchoPacket { .chain(keys.public_key().to_bytes().iter().cloned()) .collect::>(); - let signature = keys.private_key().sign(&bytes_to_sign); + let signature = keys.private_key().sign(bytes_to_sign); EchoPacket { sequence_number, @@ -67,7 +67,7 @@ impl EchoPacket { pub(crate) fn construct_reply(self, private_key: &identity::PrivateKey) -> ReplyPacket { let bytes = self.to_bytes(); - let signature = private_key.sign(&bytes); + let signature = private_key.sign(bytes); ReplyPacket { base_packet: self, signature, diff --git a/common/nymsphinx/src/receiver.rs b/common/nymsphinx/src/receiver.rs index a756d6b1ba..cbf3db277c 100644 --- a/common/nymsphinx/src/receiver.rs +++ b/common/nymsphinx/src/receiver.rs @@ -294,7 +294,8 @@ mod message_receiver { owner: "foomp4".to_string(), host: "1.2.3.4".parse().unwrap(), mix_host: "1.2.3.4:1789".parse().unwrap(), - clients_port: 9000, + clients_ws_port: 9000, + clients_wss_port: None, identity_key: identity::PublicKey::from_base58_string( "FioFa8nMmPpQnYi7JyojoTuwGLeyNS8BF4ChPr29zUML", ) diff --git a/contracts/mixnet-vesting-integration-tests/src/support/setup.rs b/contracts/mixnet-vesting-integration-tests/src/support/setup.rs index ecc25f459e..4f1a4d3bec 100644 --- a/contracts/mixnet-vesting-integration-tests/src/support/setup.rs +++ b/contracts/mixnet-vesting-integration-tests/src/support/setup.rs @@ -243,7 +243,7 @@ impl TestSetup { ContractMessageContent::new(Addr::unchecked(owner), proxy, vec![stake], payload); let sign_payload = SignableMixNodeBondingMsg::new(signing_nonce, content); let plaintext = sign_payload.to_plaintext().unwrap(); - let signature = keypair.private_key().sign(&plaintext); + let signature = keypair.private_key().sign(plaintext); let msg_signature = MessageSignature::from(signature.to_bytes().as_ref()); (mixnode, msg_signature) diff --git a/contracts/mixnet/src/support/tests/mod.rs b/contracts/mixnet/src/support/tests/mod.rs index 851d394bfe..2bd98eb175 100644 --- a/contracts/mixnet/src/support/tests/mod.rs +++ b/contracts/mixnet/src/support/tests/mod.rs @@ -206,7 +206,7 @@ pub mod test_helpers { let sig_bytes = family_owner_keys .private_key() - .sign(&msg.to_plaintext().unwrap()) + .sign(msg.to_plaintext().unwrap()) .to_bytes(); MessageSignature::from(sig_bytes.as_ref()) } @@ -956,7 +956,7 @@ pub mod test_helpers { match message.algorithm { SigningAlgorithm::Ed25519 => { let plaintext = message.to_plaintext().unwrap(); - let signature = private_key.sign(&plaintext); + let signature = private_key.sign(plaintext); MessageSignature::from(signature.to_bytes().as_ref()) } SigningAlgorithm::Secp256k1 => { diff --git a/contracts/name-service/src/test_helpers/signing.rs b/contracts/name-service/src/test_helpers/signing.rs index d7431fc7ed..2a2a280290 100644 --- a/contracts/name-service/src/test_helpers/signing.rs +++ b/contracts/name-service/src/test_helpers/signing.rs @@ -29,7 +29,7 @@ pub fn ed25519_sign_message( match message.algorithm { SigningAlgorithm::Ed25519 => { let plaintext = message.to_plaintext().unwrap(); - let signature = private_key.sign(&plaintext); + let signature = private_key.sign(plaintext); MessageSignature::from(signature.to_bytes().as_ref()) } SigningAlgorithm::Secp256k1 => { diff --git a/contracts/service-provider-directory/src/test_helpers/signing.rs b/contracts/service-provider-directory/src/test_helpers/signing.rs index 4bd1708bff..1d9aed1266 100644 --- a/contracts/service-provider-directory/src/test_helpers/signing.rs +++ b/contracts/service-provider-directory/src/test_helpers/signing.rs @@ -31,7 +31,7 @@ pub fn ed25519_sign_message( match message.algorithm { SigningAlgorithm::Ed25519 => { let plaintext = message.to_plaintext().unwrap(); - let signature = private_key.sign(&plaintext); + let signature = private_key.sign(plaintext); MessageSignature::from(signature.to_bytes().as_ref()) } SigningAlgorithm::Secp256k1 => { diff --git a/gateway/gateway-requests/src/registration/handshake/state.rs b/gateway/gateway-requests/src/registration/handshake/state.rs index 97f88c570a..a224e24720 100644 --- a/gateway/gateway-requests/src/registration/handshake/state.rs +++ b/gateway/gateway-requests/src/registration/handshake/state.rs @@ -137,7 +137,7 @@ impl<'a, S> State<'a, S> { .chain(remote_ephemeral_key.to_bytes().iter().cloned()) .collect(); - let signature = self.identity.private_key().sign(&message); + let signature = self.identity.private_key().sign(message); let zero_iv = stream_cipher::zero_iv::(); stream_cipher::encrypt::( self.derived_shared_keys.as_ref().unwrap().encryption_key(), @@ -191,7 +191,7 @@ impl<'a, S> State<'a, S> { self.remote_pubkey .as_ref() .unwrap() - .verify(&signed_payload, &signature) + .verify(signed_payload, &signature) .map_err(|_| HandshakeError::InvalidSignature) } diff --git a/nym-api/src/nym_contract_cache/routes.rs b/nym-api/src/nym_contract_cache/routes.rs index c886aa3526..9840e51e97 100644 --- a/nym-api/src/nym_contract_cache/routes.rs +++ b/nym-api/src/nym_contract_cache/routes.rs @@ -119,13 +119,13 @@ pub async fn get_blacklisted_gateways( pub async fn get_interval_reward_params( cache: &State, ) -> Json> { - Json(cache.interval_reward_params().await.clone()) + Json(*cache.interval_reward_params().await) } #[openapi(tag = "contract-cache")] #[get("/epoch/current")] pub async fn get_current_epoch(cache: &State) -> Json> { - Json(cache.current_interval().await.clone()) + Json(*cache.current_interval().await) } #[openapi(tag = "contract-cache")] diff --git a/nym-connect/desktop/src-tauri/src/operations/directory/gateways.rs b/nym-connect/desktop/src-tauri/src/operations/directory/gateways.rs index e6c4d2403b..ea953eaada 100644 --- a/nym-connect/desktop/src-tauri/src/operations/directory/gateways.rs +++ b/nym-connect/desktop/src-tauri/src/operations/directory/gateways.rs @@ -17,7 +17,7 @@ use url::Url; const GATEWAY_PERFORMANCE_SCORE_THRESHOLD: u64 = 90; async fn fetch_all_gateways() -> Result> { - let api_client = ApiClient::new(Url::from_str(&std::env::var(NYM_API)?)?); + let api_client = ApiClient::new(Url::from_str(&std::env::var(NYM_API)?)?, None); let gateways = api_client.get_gateways_detailed().await?; if gateways.is_empty() { Err(BackendError::NoGatewaysFoundInDirectory) diff --git a/nym-node/nym-node-requests/src/api/v1/gateway/client_interfaces/mod.rs b/nym-node/nym-node-requests/src/api/v1/gateway/client_interfaces/mod.rs index c67bf7db3b..487c41bb7d 100644 --- a/nym-node/nym-node-requests/src/api/v1/gateway/client_interfaces/mod.rs +++ b/nym-node/nym-node-requests/src/api/v1/gateway/client_interfaces/mod.rs @@ -1,4 +1,4 @@ // Copyright 2023 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -pub mod wireguard; \ No newline at end of file +pub mod wireguard; diff --git a/nym-node/nym-node-requests/src/api/v1/gateway/client_interfaces/wireguard/mod.rs b/nym-node/nym-node-requests/src/api/v1/gateway/client_interfaces/wireguard/mod.rs index afafedca78..c57081432b 100644 --- a/nym-node/nym-node-requests/src/api/v1/gateway/client_interfaces/wireguard/mod.rs +++ b/nym-node/nym-node-requests/src/api/v1/gateway/client_interfaces/wireguard/mod.rs @@ -1,4 +1,4 @@ // Copyright 2023 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -pub mod models; \ No newline at end of file +pub mod models; diff --git a/nym-node/nym-node-requests/src/api/v1/gateway/mod.rs b/nym-node/nym-node-requests/src/api/v1/gateway/mod.rs index a43d077c71..6c690d4f82 100644 --- a/nym-node/nym-node-requests/src/api/v1/gateway/mod.rs +++ b/nym-node/nym-node-requests/src/api/v1/gateway/mod.rs @@ -1,5 +1,5 @@ // Copyright 2023 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 +pub mod client_interfaces; pub mod models; -pub mod client_interfaces; \ No newline at end of file diff --git a/nym-node/src/http/router/api/v1/gateway/client_interfaces/wireguard/mod.rs b/nym-node/src/http/router/api/v1/gateway/client_interfaces/wireguard/mod.rs index 222ed56a35..edc5b8b542 100644 --- a/nym-node/src/http/router/api/v1/gateway/client_interfaces/wireguard/mod.rs +++ b/nym-node/src/http/router/api/v1/gateway/client_interfaces/wireguard/mod.rs @@ -229,7 +229,7 @@ mod test { assert_eq!( ro_clients .values() - .map(|c| c.pub_key().clone()) + .map(|c| c.pub_key()) .collect::>(), clients ) diff --git a/nym-node/src/lib.rs b/nym-node/src/lib.rs index 4d9ea96d5a..e32c757b15 100644 --- a/nym-node/src/lib.rs +++ b/nym-node/src/lib.rs @@ -6,7 +6,7 @@ // this crate will eventually get converted into proper binary +pub mod config; pub mod error; pub mod http; pub mod wireguard; -pub mod config; diff --git a/nym-wallet/Cargo.lock b/nym-wallet/Cargo.lock index da568b7427..77405ef906 100644 --- a/nym-wallet/Cargo.lock +++ b/nym-wallet/Cargo.lock @@ -282,9 +282,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "base64ct" @@ -1066,6 +1066,33 @@ dependencies = [ "zeroize", ] +[[package]] +name = "curve25519-dalek" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "fiat-crypto", + "platforms", + "rustc_version", + "subtle 2.4.1", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + [[package]] name = "curve25519-dalek-ng" version = "4.1.1" @@ -1455,7 +1482,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 3.2.0", "ed25519 1.5.3", "rand 0.7.3", "serde", @@ -1469,7 +1496,7 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 3.2.0", "hashbrown 0.12.3", "hex", "rand_core 0.6.4", @@ -1663,6 +1690,12 @@ dependencies = [ "subtle 2.4.1", ] +[[package]] +name = "fiat-crypto" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" + [[package]] name = "field-offset" version = "0.3.6" @@ -2399,6 +2432,9 @@ dependencies = [ "serde", "serde_json", "thiserror", + "tracing", + "url", + "wasmtimer", ] [[package]] @@ -3148,6 +3184,7 @@ dependencies = [ "getset", "nym-coconut-interface", "nym-mixnet-contract-common", + "nym-node-requests", "schemars", "serde", ] @@ -3162,6 +3199,7 @@ dependencies = [ "clap_complete_fig", "log", "pretty_env_logger", + "schemars", "semver 0.11.0", "serde", "vergen", @@ -3254,7 +3292,7 @@ dependencies = [ "rand 0.7.3", "subtle-encoding", "thiserror", - "x25519-dalek", + "x25519-dalek 1.1.1", "zeroize", ] @@ -3361,6 +3399,20 @@ dependencies = [ "url", ] +[[package]] +name = "nym-node-requests" +version = "0.1.0" +dependencies = [ + "base64 0.21.4", + "nym-bin-common", + "nym-crypto", + "schemars", + "serde", + "serde_json", + "thiserror", + "x25519-dalek 2.0.0", +] + [[package]] name = "nym-pemstore" version = "0.3.0" @@ -4049,13 +4101,19 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +[[package]] +name = "platforms" +version = "3.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" + [[package]] name = "plist" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" dependencies = [ - "base64 0.21.2", + "base64 0.21.4", "indexmap 1.9.3", "line-wrap", "quick-xml", @@ -4399,11 +4457,11 @@ checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "reqwest" -version = "0.11.18" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.2", + "base64 0.21.4", "bytes", "encoding_rs", "futures-core", @@ -4424,6 +4482,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "system-configuration", "tokio", "tokio-native-tls", "tower-service", @@ -5043,7 +5102,7 @@ dependencies = [ "bs58 0.4.0", "byteorder", "chacha", - "curve25519-dalek", + "curve25519-dalek 3.2.0", "digest 0.9.0", "hkdf", "hmac 0.11.0", @@ -5199,6 +5258,27 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "system-deps" version = "5.0.0" @@ -6556,11 +6636,12 @@ dependencies = [ [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] @@ -6646,11 +6727,23 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 3.2.0", "rand_core 0.5.1", "zeroize", ] +[[package]] +name = "x25519-dalek" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" +dependencies = [ + "curve25519-dalek 4.1.1", + "rand_core 0.6.4", + "serde", + "zeroize", +] + [[package]] name = "xattr" version = "1.0.1" diff --git a/nym-wallet/src-tauri/src/operations/helpers.rs b/nym-wallet/src-tauri/src/operations/helpers.rs index 35dacbb190..9f66f29289 100644 --- a/nym-wallet/src-tauri/src/operations/helpers.rs +++ b/nym-wallet/src-tauri/src/operations/helpers.rs @@ -107,7 +107,7 @@ pub(crate) async fn verify_mixnode_bonding_sign_payload