diff --git a/programs/compressed-token/program/src/compressed_token/transfer2/cpi.rs b/programs/compressed-token/program/src/compressed_token/transfer2/cpi.rs index 79784a5190..3d912124bf 100644 --- a/programs/compressed-token/program/src/compressed_token/transfer2/cpi.rs +++ b/programs/compressed-token/program/src/compressed_token/transfer2/cpi.rs @@ -43,13 +43,16 @@ pub fn allocate_cpi_bytes( // Build TLV config for byte length calculation let tlv_config: Vec = tlv .iter() - .filter_map(|ext| match ext { + .map(|ext| match ext { ZExtensionInstructionData::CompressedOnly(_) => { - Some(ExtensionStructConfig::CompressedOnly(())) + Ok(ExtensionStructConfig::CompressedOnly(())) } - _ => None, + _ => Err(ProgramError::Custom( + anchor_compressed_token::ErrorCode::InvalidExtensionInstructionData + as u32, + )), }) - .collect(); + .collect::, ProgramError>>()?; let token_config = TokenDataConfig { delegate: (has_delegate, ()),