Function spl_token_2022::extension::confidential_transfer::verify_proof::verify_transfer_proof
source · pub fn verify_transfer_proof(
account_info_iter: &mut Iter<'_, AccountInfo<'_>>,
proof_instruction_offset: i64,
split_proof_context_state_accounts: bool,
no_op_on_split_proof_context_state: bool,
close_split_context_state_on_execution: bool,
source_decrypt_handles: &SourceDecryptHandles
) -> Result<Option<TransferProofContextInfo>, ProgramError>
Expand description
Verify zero-knowledge proof needed for a [Transfer] instruction without fee and return the corresponding proof context.
This returns a Result
type for an Option<TransferProofContextInfo>
type.
If the proof verification fails, then the function returns a suitable error
variant. If the proof succeeds to verify, then the function returns a
TransferProofContextInfo
that is wrapped inside
Ok(Some(TransferProofContextInfo))
. If
no_op_on_split_proof_context_state
is true
and some a split context
state account is not initialized, then it returns Ok(None)
.