pub fn create_inputs_and_remaining_accounts(
    input_token_data: &[TokenData],
    input_merkle_context: &[MerkleContext],
    output_compressed_account_merkle_tree_pubkeys: &[Pubkey],
    owner_if_delegate_is_signer: Option<Pubkey>,
    output_compressed_accounts: &[TokenTransferOutputData],
    root_indices: &[u16],
    proof: &Option<CompressedProof>,
    mint: Pubkey,
    is_compress: bool,
    compression_amount: Option<u64>
) -> (HashMap<Pubkey, usize>, CompressedTokenInstructionDataTransfer)