From 9ee93f67fc3473ed236e32c129afacb09d612cdb Mon Sep 17 00:00:00 2001 From: ananas-block Date: Thu, 5 Feb 2026 01:33:42 +0100 Subject: [PATCH] fix: decompress compress_only amount check --- .../compression/ctoken/decompress.rs | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/programs/compressed-token/program/src/compressed_token/transfer2/compression/ctoken/decompress.rs b/programs/compressed-token/program/src/compressed_token/transfer2/compression/ctoken/decompress.rs index a38fcaefaf..55ab3dec25 100644 --- a/programs/compressed-token/program/src/compressed_token/transfer2/compression/ctoken/decompress.rs +++ b/programs/compressed-token/program/src/compressed_token/transfer2/compression/ctoken/decompress.rs @@ -28,21 +28,15 @@ pub fn validate_and_apply_compressed_only( return Ok(()); }; - // === VALIDATE amount matches for ATA or compress_to_pubkey decompress === - let compress_to_pubkey = ctoken - .get_compressible_extension() - .map(|ext| ext.info.compress_to_pubkey()) - .unwrap_or(false); - if ext_data.is_ata() || compress_to_pubkey { - let input_amount: u64 = inputs.input_token_data.amount.into(); - if compression_amount != input_amount { - msg!( - "Decompress: amount mismatch (compression: {}, input: {})", - compression_amount, - input_amount - ); - return Err(TokenError::DecompressAmountMismatch.into()); - } + // === VALIDATE amount matches === + let input_amount: u64 = inputs.input_token_data.amount.into(); + if compression_amount != input_amount { + msg!( + "Decompress: amount mismatch (compression: {}, input: {})", + compression_amount, + input_amount + ); + return Err(TokenError::DecompressAmountMismatch.into()); } // === VALIDATE destination ownership ===