Verify that the list of transaction senders are acceptable
    * a sender should have 1 address
    * that address should match the epoch's supported sender types

def check_tx_sender_types(senders, block_height):
    """
    Verify that the list of transaction senders are acceptable
    * a sender should have 1 address
    * that address should match the epoch's supported sender types
    """
    supported_sender_types = get_epoch_btc_sender_types(block_height)
    for sender in senders:
        if len(sender['addresses']) != 1:
            log.warning('Sender has {} addresses'.format(sender['addresses']))
            return False

        out_type = virtualchain.btc_script_classify(sender['script_pubkey'])
        if out_type not in supported_sender_types:
            log.warning('Unsupported sender output type {} ({})'.format(out_type, sender['script_pubkey']))
            return False

    return True