Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit 94b912a

Browse files
Add pubkey consistency check on account and proof data (#3768)
1 parent d6a72eb commit 94b912a

File tree

1 file changed

+4
-0
lines changed
  • token/program-2022/src/extension/confidential_transfer

1 file changed

+4
-0
lines changed

token/program-2022/src/extension/confidential_transfer/processor.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,10 @@ fn process_withdraw(
424424
let mut confidential_transfer_account =
425425
token_account.get_extension_mut::<ConfidentialTransferAccount>()?;
426426

427+
if confidential_transfer_account.encryption_pubkey != proof_data.pubkey {
428+
return Err(TokenError::ConfidentialTransferElGamalPubkeyMismatch.into());
429+
}
430+
427431
confidential_transfer_account.available_balance =
428432
ops::subtract_from(&confidential_transfer_account.available_balance, amount)
429433
.ok_or(ProgramError::InvalidInstructionData)?;

0 commit comments

Comments
 (0)