Get the current name record and its history
    (this is a replacement for proxy.get_name_blockchain_record())
    Return {'status': True, 'record': ...} on success, where .record.history is defined as {block_height: [{history}, {history}, ...], ...}
    Return {'error': ...} on error

def get_name_and_history(name, include_expired=False, include_grace=True, hostport=None, proxy=None, history_page=None):
    """
    Get the current name record and its history
    (this is a replacement for proxy.get_name_blockchain_record())
    Return {'status': True, 'record': ...} on success, where .record.history is defined as {block_height: [{history}, {history}, ...], ...}
    Return {'error': ...} on error
    """
    assert hostport or proxy, 'Need hostport or proxy'
    if proxy is None:
        proxy = connect_hostport(hostport)

    hist = get_name_history(name, proxy=proxy, history_page=history_page)
    if 'error' in hist:
        return hist

    # just the name
    rec = get_name_record(name, include_history=False, include_expired=include_expired, include_grace=include_grace, proxy=proxy)
    if 'error' in rec:
        return rec

    rec['history'] = hist['history']
    return {'status': True, 'record': rec, 'lastblock': hist['lastblock'], 'indexing': hist['indexing']}