From 5a47a1710112153fb38e4406251c9874c366f1c0 Mon Sep 17 00:00:00 2001 From: Antioch Peverell <30642645+antiochp@users.noreply.github.com> Date: Wed, 21 Mar 2018 14:55:41 -0400 Subject: [PATCH] remove redundant verify_proof call (#835) * we verify rangeproofs in sum_commitments (in verify_kernels) remove this redundant (and expensive) rangeproof verification * rustfmt --- core/src/core/transaction.rs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/core/src/core/transaction.rs b/core/src/core/transaction.rs index f02ad7940..ef5ad0c11 100644 --- a/core/src/core/transaction.rs +++ b/core/src/core/transaction.rs @@ -302,11 +302,11 @@ impl Readable for Transaction { let (input_len, output_len, kernel_len) = ser_multiread!(reader, read_u64, read_u64, read_u64); - if input_len > consensus::MAX_TX_INPUTS - || output_len > consensus::MAX_TX_OUTPUTS - || kernel_len > consensus::MAX_TX_KERNELS { - return Err(ser::Error::CorruptedData) - } + if input_len > consensus::MAX_TX_INPUTS || output_len > consensus::MAX_TX_OUTPUTS + || kernel_len > consensus::MAX_TX_KERNELS + { + return Err(ser::Error::CorruptedData); + } let inputs = read_and_verify_sorted(reader, input_len)?; let outputs = read_and_verify_sorted(reader, output_len)?; @@ -457,13 +457,7 @@ impl Transaction { return Err(Error::TooManyInputs); } self.verify_sorted()?; - self.verify_inputs()?; - - for out in &self.outputs { - out.verify_proof()?; - } - self.verify_kernels()?; Ok(())