From f42f13cd8da6f6d956542498207260edc79c758c Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 12 Dec 2024 11:47:43 +1100 Subject: [PATCH] Simplify closures in call to fold Remove unnecessary code comments and make the closure variable names more terse with no loss of clarity. Refactor only, no logic changes. --- bitcoin/src/blockdata/transaction.rs | 29 ++++++++++------------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/bitcoin/src/blockdata/transaction.rs b/bitcoin/src/blockdata/transaction.rs index 35c0ff606..4abb83a8a 100644 --- a/bitcoin/src/blockdata/transaction.rs +++ b/bitcoin/src/blockdata/transaction.rs @@ -851,29 +851,20 @@ where I: IntoIterator, O: IntoIterator, { - // sum input_weights, input_count and count of inputs with witness data - let (input_count, input_weight, inputs_with_witnesses) = inputs.into_iter().fold( - (0, 0, 0), - |(count, input_weight, inputs_with_witnesses), prediction| { + let (input_count, input_weight, inputs_with_witnesses) = + inputs.into_iter().fold((0, 0, 0), |(count, weight, with_witnesses), prediction| { ( count + 1, - input_weight + prediction.total_weight().to_wu() as usize, - inputs_with_witnesses + (prediction.witness_size > 0) as usize, + weight + prediction.total_weight().to_wu() as usize, + with_witnesses + (prediction.witness_size > 0) as usize, ) - }, - ); + }); + + let (output_count, output_scripts_size) = + output_script_lens.into_iter().fold((0, 0), |(count, scripts_size), script_len| { + (count + 1, scripts_size + script_len + compact_size::encoded_size(script_len)) + }); - // This fold() does two things: - // 1) Counts the outputs and returns the sum as `output_count`. - // 2) Sums the output script sizes and returns the sum as `output_scripts_size`. - // script_len + the length of a VarInt struct that stores the value of script_len - let (output_count, output_scripts_size) = output_script_lens.into_iter().fold( - (0, 0), - |(output_count, total_scripts_size), script_len| { - let script_size = script_len + compact_size::encoded_size(script_len); - (output_count + 1, total_scripts_size + script_size) - }, - ); predict_weight_internal( input_count, input_weight,