From 5f210639a0fb728daa59ff9e26467a8127c3a62d Mon Sep 17 00:00:00 2001 From: Andrei Ashikhmin Date: Sat, 5 Apr 2025 16:40:17 +0700 Subject: [PATCH 1/2] fix: coinjoin tx type check --- dash-spv-coinjoin/src/models/coinjoin_tx_type.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dash-spv-coinjoin/src/models/coinjoin_tx_type.rs b/dash-spv-coinjoin/src/models/coinjoin_tx_type.rs index 2ee2e506..ac9cd790 100644 --- a/dash-spv-coinjoin/src/models/coinjoin_tx_type.rs +++ b/dash-spv-coinjoin/src/models/coinjoin_tx_type.rs @@ -17,7 +17,7 @@ impl CoinJoinTransactionType { pub fn from_tx(tx: &Transaction, input_values: &Vec) -> Self { let input_sum: u64 = input_values.iter().sum(); - if tx.inputs.len() == tx.outputs.len() && tx.outputs.iter().all(|output| CoinJoin::is_denominated_amount(output.amount)) { + if tx.inputs.len() == tx.outputs.len() && tx.inputs.len() > 0 && tx.outputs.iter().all(|output| CoinJoin::is_denominated_amount(output.amount)) { return Self::Mixing; } else if Self::is_mixing_fee(tx, input_sum) { return Self::MixingFee; From d87cc7dacb2605451b0da83f66d6e831182f1018 Mon Sep 17 00:00:00 2001 From: Andrei Ashikhmin Date: Sat, 5 Apr 2025 16:45:39 +0700 Subject: [PATCH 2/2] fix: output amount --- dash-spv-coinjoin/src/models/coinjoin_tx_type.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dash-spv-coinjoin/src/models/coinjoin_tx_type.rs b/dash-spv-coinjoin/src/models/coinjoin_tx_type.rs index 9688139d..0460d9e5 100644 --- a/dash-spv-coinjoin/src/models/coinjoin_tx_type.rs +++ b/dash-spv-coinjoin/src/models/coinjoin_tx_type.rs @@ -39,7 +39,7 @@ impl CoinJoinTransactionType { pub fn from_tx(tx: &Transaction, input_values: &Vec) -> CoinJoinTransactionType { let input_sum: u64 = input_values.iter().sum(); - if tx.input.len() == tx.output.len() && tx.input.len() > 0 && tx.output.iter().all(|output| CoinJoin::is_denominated_amount(output.amount)) { + if tx.input.len() == tx.output.len() && tx.input.len() > 0 && tx.output.iter().all(|output| CoinJoin::is_denominated_amount(output.value)) { return Self::Mixing; } else if Self::is_mixing_fee(tx, input_sum) { return Self::MixingFee;