pub fn transfer_split_proof_data(
    current_available_balance: &ElGamalCiphertext,
    current_decryptable_available_balance: &AeCiphertext,
    transfer_amount: u64,
    source_elgamal_keypair: &ElGamalKeypair,
    aes_key: &AeKey,
    destination_elgamal_pubkey: &ElGamalPubkey,
    auditor_elgamal_pubkey: Option<&ElGamalPubkey>
) -> Result<(CiphertextCommitmentEqualityProofData, BatchedGroupedCiphertext2HandlesValidityProofData, BatchedRangeProofU128Data, SourceDecryptHandles), TokenError>
Expand description

The main logic to create the three split proof data for a transfer.