From e33dc5cd37cff6468385f05dbc6b1e4901222ccf Mon Sep 17 00:00:00 2001 From: victorchukwuemeka Date: Sat, 25 Jul 2026 17:26:09 +0100 Subject: [PATCH] fix: use correct error variant for delta commitment mismatch in transfer_with_fee --- confidential/proof-extraction/src/errors.rs | 2 ++ confidential/proof-extraction/src/transfer_with_fee.rs | 2 +- program/src/extension/confidential_transfer/processor.rs | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/confidential/proof-extraction/src/errors.rs b/confidential/proof-extraction/src/errors.rs index e710dec71..45a8a4ec8 100644 --- a/confidential/proof-extraction/src/errors.rs +++ b/confidential/proof-extraction/src/errors.rs @@ -14,4 +14,6 @@ pub enum TokenProofExtractionError { CurveArithmetic, #[error("Ciphertext extraction failed")] CiphertextExtraction, + #[error("Delta commitment mismatch")] + DeltaCommitmentMismatch, } diff --git a/confidential/proof-extraction/src/transfer_with_fee.rs b/confidential/proof-extraction/src/transfer_with_fee.rs index 72b423848..c6150c87d 100644 --- a/confidential/proof-extraction/src/transfer_with_fee.rs +++ b/confidential/proof-extraction/src/transfer_with_fee.rs @@ -336,7 +336,7 @@ fn verify_delta_commitment( let proof_delta_commitment_point = commitment_to_ristretto(proof_delta_commitment); if expected_delta_commitment_point != proof_delta_commitment_point { - return Err(TokenProofExtractionError::CurveArithmetic); + return Err(TokenProofExtractionError::DeltaCommitmentMismatch); } Ok(()) } diff --git a/program/src/extension/confidential_transfer/processor.rs b/program/src/extension/confidential_transfer/processor.rs index 383b3f030..01adac301 100644 --- a/program/src/extension/confidential_transfer/processor.rs +++ b/program/src/extension/confidential_transfer/processor.rs @@ -724,7 +724,7 @@ fn process_transfer( let fee_sigma_proof_instruction_offset = fee_sigma_proof_instruction_offset.ok_or(ProgramError::InvalidInstructionData)?; - let fee_ciphertext_validity_proof_insruction_offset = + let fee_ciphertext_validity_proof_instruction_offset = fee_ciphertext_validity_proof_instruction_offset .ok_or(ProgramError::InvalidInstructionData)?; @@ -739,7 +739,7 @@ fn process_transfer( equality_proof_instruction_offset, transfer_amount_ciphertext_validity_proof_instruction_offset, fee_sigma_proof_instruction_offset, - fee_ciphertext_validity_proof_insruction_offset, + fee_ciphertext_validity_proof_instruction_offset, range_proof_instruction_offset, fee_parameters, )?;