From 1b0cd3ad1e489a7162d53b7f6b2c73758a0d299d Mon Sep 17 00:00:00 2001 From: rozhkovdmitrii <rozhkovdmitrii@infatica.io> Date: Wed, 19 Apr 2023 17:55:07 +0500 Subject: [PATCH] Avoid clippy warnings on zcash native tests --- .github/workflows/fmt-and-lint.yml | 2 +- mm2src/coins/z_coin.rs | 10 +- mm2src/coins/z_coin/z_coin_native_tests.rs | 138 ++++++++---------- .../tests/docker_tests/docker_tests_inner.rs | 2 +- mm2src/mm2_main/tests/docker_tests/mod.rs | 3 +- mm2src/mm2_main/tests/mm2_tests/mod.rs | 10 +- 6 files changed, 71 insertions(+), 94 deletions(-) diff --git a/.github/workflows/fmt-and-lint.yml b/.github/workflows/fmt-and-lint.yml index 5b424a15d85..2eb992bc8bc 100644 --- a/.github/workflows/fmt-and-lint.yml +++ b/.github/workflows/fmt-and-lint.yml @@ -29,7 +29,7 @@ jobs: run: cargo fmt -- --check - name: x86-64 code lint - run: cargo clippy --all-targets --all-features --profile ci -- --D warnings + run: cargo clippy --all-targets --all-features -- --D warnings wasm-lint: timeout-minutes: 45 diff --git a/mm2src/coins/z_coin.rs b/mm2src/coins/z_coin.rs index fe445c7d159..4022553495f 100644 --- a/mm2src/coins/z_coin.rs +++ b/mm2src/coins/z_coin.rs @@ -285,15 +285,7 @@ impl ZCoin { pub fn consensus_params_ref(&self) -> &ZcoinConsensusParams { &self.z_fields.consensus_params } pub async fn is_sapling_state_synced(&self) -> bool { - matches!( - self.z_fields - .sync_state_connector - .lock() - .await - .current_sync_status() - .await, - Ok(SyncStatus::Finished { block_number: _ }) - ) + matches!(self.sync_status().await, Ok(SyncStatus::Finished { block_number: _ })) } #[inline] diff --git a/mm2src/coins/z_coin/z_coin_native_tests.rs b/mm2src/coins/z_coin/z_coin_native_tests.rs index 27c6d83c6fc..07e5831d584 100644 --- a/mm2src/coins/z_coin/z_coin_native_tests.rs +++ b/mm2src/coins/z_coin/z_coin_native_tests.rs @@ -1,41 +1,36 @@ -use crate::{CoinProtocol, IguanaPrivKey}; use bitcrypto::dhash160; -use common::block_on; -use common::now_ms; +use common::{block_on, now_ms}; use mm2_core::mm_ctx::MmCtxBuilder; use mm2_test_helpers::for_tests::zombie_conf; +use std::path::PathBuf; use std::time::Duration; use zcash_client_backend::encoding::decode_extended_spending_key; -use super::*; -use crate::z_coin::{z_htlc::z_send_dex_fee, ZcoinActivationParams}; +use super::{z_coin_from_conf_and_params_with_z_key, z_mainnet_constants, Future, PrivKeyBuildPolicy, + RefundPaymentArgs, SendPaymentArgs, SpendPaymentArgs, SwapOps, ValidateFeeArgs, ValidatePaymentError, + ZTransaction}; +use crate::z_coin::{z_htlc::z_send_dex_fee, ZcoinActivationParams, ZcoinRpcMode}; +use crate::CoinProtocol; #[test] fn zombie_coin_send_and_refund_maker_payment() { let ctx = MmCtxBuilder::default().into_mm_arc(); - let priv_key = PrivKeyBuildPolicy::IguanaPrivKey(IguanaPrivKey::default()); - let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); - + let mut conf = zombie_conf(); + let params = default_zcoin_activation_params(); + let pk_data = [1; 32]; let db_dir = PathBuf::from("./for_tests"); - - let params = ZcoinActivationParams { - mode: ZcoinRpcMode::Native, - required_confirmations: None, - requires_notarization: None, - zcash_params_path: None, - scan_blocks_per_iteration: 0, - scan_interval_ms: 0, + let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); + let protocol_info = match serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() { + CoinProtocol::ZHTLC(protocol_info) => protocol_info, + other_protocol => panic!("Failed to get protocol from config: {:?}", other_protocol), }; - let mut conf = zombie_conf(); - let CoinProtocol::ZHTLC(protocol_info) = serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() else { todo!() }; - let coin = block_on(z_coin_from_conf_and_params_with_z_key( &ctx, "ZOMBIE", &conf, ¶ms, - priv_key.clone(), + PrivKeyBuildPolicy::IguanaPrivKey(pk_data.into()), db_dir, z_key, protocol_info, @@ -60,7 +55,6 @@ fn zombie_coin_send_and_refund_maker_payment() { }; let tx = coin.send_maker_payment(args).wait().unwrap(); println!("swap tx {}", hex::encode(tx.tx_hash().0)); - let PrivKeyBuildPolicy::IguanaPrivKey(private_key_data) = priv_key else { todo!() }; let refund_args = RefundPaymentArgs { payment_tx: &tx.tx_hex(), @@ -68,7 +62,7 @@ fn zombie_coin_send_and_refund_maker_payment() { other_pubkey: taker_pub, secret_hash: &secret_hash, swap_contract_address: &None, - swap_unique_data: private_key_data.as_slice(), + swap_unique_data: pk_data.as_slice(), watcher_reward: false, }; let refund_tx = coin.send_maker_refunds_payment(refund_args).wait().unwrap(); @@ -78,27 +72,22 @@ fn zombie_coin_send_and_refund_maker_payment() { #[test] fn zombie_coin_send_and_spend_maker_payment() { let ctx = MmCtxBuilder::default().into_mm_arc(); - let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); - - let db_dir = PathBuf::from("./for_tests"); - let mut conf = zombie_conf(); - let CoinProtocol::ZHTLC(protocol_info) = serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() else { todo!() }; - let params = ZcoinActivationParams { - mode: ZcoinRpcMode::Native, - required_confirmations: None, - requires_notarization: None, - zcash_params_path: None, - scan_blocks_per_iteration: 0, - scan_interval_ms: 0, + let params = default_zcoin_activation_params(); + let pk_data = [1; 32]; + let db_dir = PathBuf::from("./for_tests"); + let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); + let protocol_info = match serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() { + CoinProtocol::ZHTLC(protocol_info) => protocol_info, + other_protocol => panic!("Failed to get protocol from config: {:?}", other_protocol), }; - let priv_key = PrivKeyBuildPolicy::IguanaPrivKey(IguanaPrivKey::default()); + let coin = block_on(z_coin_from_conf_and_params_with_z_key( &ctx, "ZOMBIE", &conf, ¶ms, - priv_key.clone(), + PrivKeyBuildPolicy::IguanaPrivKey(pk_data.into()), db_dir, z_key, protocol_info, @@ -128,8 +117,6 @@ fn zombie_coin_send_and_spend_maker_payment() { let maker_pub = taker_pub; - let PrivKeyBuildPolicy::IguanaPrivKey(private_key_data) = priv_key else { todo!() }; - let spends_payment_args = SpendPaymentArgs { other_payment_tx: &tx.tx_hex(), time_lock: lock_time, @@ -137,7 +124,7 @@ fn zombie_coin_send_and_spend_maker_payment() { secret: &secret, secret_hash: &[], swap_contract_address: &None, - swap_unique_data: private_key_data.as_slice(), + swap_unique_data: pk_data.as_slice(), watcher_reward: false, }; let spend_tx = coin @@ -150,21 +137,16 @@ fn zombie_coin_send_and_spend_maker_payment() { #[test] fn zombie_coin_send_dex_fee() { let ctx = MmCtxBuilder::default().into_mm_arc(); - let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); - - let db_dir = PathBuf::from("./for_tests"); - let mut conf = zombie_conf(); - let CoinProtocol::ZHTLC(protocol_info) = serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() else { todo!() }; - let params = ZcoinActivationParams { - mode: ZcoinRpcMode::Native, - required_confirmations: None, - requires_notarization: None, - zcash_params_path: None, - scan_blocks_per_iteration: 0, - scan_interval_ms: 0, + let params = default_zcoin_activation_params(); + let priv_key = PrivKeyBuildPolicy::IguanaPrivKey([1; 32].into()); + let db_dir = PathBuf::from("./for_tests"); + let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); + let protocol_info = match serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() { + CoinProtocol::ZHTLC(protocol_info) => protocol_info, + other_protocol => panic!("Failed to get protocol from config: {:?}", other_protocol), }; - let priv_key = PrivKeyBuildPolicy::IguanaPrivKey(IguanaPrivKey::default()); + let coin = block_on(z_coin_from_conf_and_params_with_z_key( &ctx, "ZOMBIE", @@ -184,20 +166,16 @@ fn zombie_coin_send_dex_fee() { #[test] fn prepare_zombie_sapling_cache() { let ctx = MmCtxBuilder::default().into_mm_arc(); - let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); - - let db_dir = PathBuf::from("./for_tests"); let mut conf = zombie_conf(); - let CoinProtocol::ZHTLC(protocol_info) = serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() else { todo!() }; - let params = ZcoinActivationParams { - mode: ZcoinRpcMode::Native, - required_confirmations: None, - requires_notarization: None, - zcash_params_path: None, - scan_blocks_per_iteration: 0, - scan_interval_ms: 0, + let params = default_zcoin_activation_params(); + let priv_key = PrivKeyBuildPolicy::IguanaPrivKey([1; 32].into()); + let db_dir = PathBuf::from("./for_tests"); + let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); + let protocol_info = match serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() { + CoinProtocol::ZHTLC(protocol_info) => protocol_info, + other_protocol => panic!("Failed to get protocol from config: {:?}", other_protocol), }; - let priv_key = PrivKeyBuildPolicy::IguanaPrivKey(IguanaPrivKey::default()); + let coin = block_on(z_coin_from_conf_and_params_with_z_key( &ctx, "ZOMBIE", @@ -218,21 +196,16 @@ fn prepare_zombie_sapling_cache() { #[test] fn zombie_coin_validate_dex_fee() { let ctx = MmCtxBuilder::default().into_mm_arc(); - let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); - - let db_dir = PathBuf::from("./for_tests"); - let mut conf = zombie_conf(); - let CoinProtocol::ZHTLC(protocol_info) = serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() else { todo!() }; - let params = ZcoinActivationParams { - mode: ZcoinRpcMode::Native, - required_confirmations: None, - requires_notarization: None, - zcash_params_path: None, - scan_blocks_per_iteration: 0, - scan_interval_ms: 0, + let params = default_zcoin_activation_params(); + let priv_key = PrivKeyBuildPolicy::IguanaPrivKey([1; 32].into()); + let db_dir = PathBuf::from("./for_tests"); + let z_key = decode_extended_spending_key(z_mainnet_constants::HRP_SAPLING_EXTENDED_SPENDING_KEY, "secret-extended-key-main1q0k2ga2cqqqqpq8m8j6yl0say83cagrqp53zqz54w38ezs8ly9ly5ptamqwfpq85u87w0df4k8t2lwyde3n9v0gcr69nu4ryv60t0kfcsvkr8h83skwqex2nf0vr32794fmzk89cpmjptzc22lgu5wfhhp8lgf3f5vn2l3sge0udvxnm95k6dtxj2jwlfyccnum7nz297ecyhmd5ph526pxndww0rqq0qly84l635mec0x4yedf95hzn6kcgq8yxts26k98j9g32kjc8y83fe").unwrap().unwrap(); + let protocol_info = match serde_json::from_value::<CoinProtocol>(conf["protocol"].take()).unwrap() { + CoinProtocol::ZHTLC(protocol_info) => protocol_info, + other_protocol => panic!("Failed to get protocol from config: {:?}", other_protocol), }; - let priv_key = PrivKeyBuildPolicy::IguanaPrivKey(IguanaPrivKey::default()); + let coin = block_on(z_coin_from_conf_and_params_with_z_key( &ctx, "ZOMBIE", @@ -307,3 +280,14 @@ fn zombie_coin_validate_dex_fee() { }; coin.validate_fee(validate_fee_args).wait().unwrap(); } + +fn default_zcoin_activation_params() -> ZcoinActivationParams { + ZcoinActivationParams { + mode: ZcoinRpcMode::Native, + required_confirmations: None, + requires_notarization: None, + zcash_params_path: None, + scan_blocks_per_iteration: 0, + scan_interval_ms: 0, + } +} diff --git a/mm2src/mm2_main/tests/docker_tests/docker_tests_inner.rs b/mm2src/mm2_main/tests/docker_tests/docker_tests_inner.rs index 3c44e783e84..83e53f87c49 100644 --- a/mm2src/mm2_main/tests/docker_tests/docker_tests_inner.rs +++ b/mm2src/mm2_main/tests/docker_tests/docker_tests_inner.rs @@ -162,7 +162,7 @@ fn test_search_for_swap_tx_spend_native_was_refunded_maker() { let search_input = SearchForSwapTxSpendInput { time_lock, - other_pub: coin.my_public_key().unwrap().as_ref(), + other_pub: coin.my_public_key().unwrap(), secret_hash: &[0; 20], tx: &tx.tx_hex(), search_from_block: 0, diff --git a/mm2src/mm2_main/tests/docker_tests/mod.rs b/mm2src/mm2_main/tests/docker_tests/mod.rs index 2eddf4758ab..4ac4e6541d9 100644 --- a/mm2src/mm2_main/tests/docker_tests/mod.rs +++ b/mm2src/mm2_main/tests/docker_tests/mod.rs @@ -12,4 +12,5 @@ mod swaps_file_lock_tests; // dummy test helping IDE to recognize this as test module #[test] -fn dummy() {} +#[allow(clippy::assertions_on_constants)] +fn dummy() { assert!(true) } diff --git a/mm2src/mm2_main/tests/mm2_tests/mod.rs b/mm2src/mm2_main/tests/mm2_tests/mod.rs index e8ddce3348f..9c6cdd35e31 100644 --- a/mm2src/mm2_main/tests/mm2_tests/mod.rs +++ b/mm2src/mm2_main/tests/mm2_tests/mod.rs @@ -21,11 +21,6 @@ mod zhtlc_native_reexport { #[cfg(all(feature = "zhtlc-native-tests", not(target_arch = "wasm32")))] use zhtlc_native_reexport::*; -// dummy test helping IDE to recognize this as test module -#[test] -#[allow(clippy::assertions_on_constants)] -fn dummy() { assert!(true) } - #[cfg(all(feature = "zhtlc-native-tests", not(target_arch = "wasm32")))] async fn enable_z_coin(mm: &MarketMakerIt, coin: &str) -> CoinActivationResult { let init = init_z_coin_native(mm, coin).await; @@ -46,3 +41,8 @@ async fn enable_z_coin(mm: &MarketMakerIt, coin: &str) -> CoinActivationResult { } } } + +// dummy test helping IDE to recognize this as test module +#[test] +#[allow(clippy::assertions_on_constants)] +fn dummy() { assert!(true) }