def p2pkh_input_and_witness(outpoint, sig, pubkey, sequence=0xFFFFFFFE):
    '''
    OutPoint, hex_string, hex_string, int -> (TxIn, InputWitness)
    Create a signed legacy TxIn from a p2pkh prevout
    Create an empty InputWitness for it
    Useful for transactions spending some witness and some legacy prevouts
    '''
    stack_script = '{sig} {pk}'.format(sig=sig, pk=pubkey)
    return tb.make_legacy_input_and_empty_witness(
        outpoint=outpoint,
        stack_script=script_ser.serialize(stack_script),
        redeem_script=b'',
        sequence=sequence)
OutPoint, hex_string, hex_string, int -> (TxIn, InputWitness)
    Create a signed legacy TxIn from a p2pkh prevout
    Create an empty InputWitness for it
    Useful for transactions spending some witness and some legacy prevouts