pub fn transfer_with_fee_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>,
    withdraw_withheld_authority_elgamal_pubkey: &ElGamalPubkey,
    transfer_fee_parameters: &FeeParameters
) -> Result<(CiphertextCommitmentEqualityProofData, BatchedGroupedCiphertext2HandlesValidityProofData, FeeSigmaProofData, BatchedGroupedCiphertext2HandlesValidityProofData, BatchedRangeProofU256Data, SourceDecryptHandles), TokenError>
Expand description

The main logic to create the five split proof data for a transfer with fee.