Update a non-secret wallet record value

    :param wallet_handle: wallet handler (created by open_wallet).
    :param type_: allows to separate different record types collections
    :param id_: the id of record
    :param value: the value of record
    :return: None

async def update_wallet_record_value(wallet_handle: int,
                                     type_: str,
                                     id_: str,
                                     value: str) -> None:
    """
    Update a non-secret wallet record value

    :param wallet_handle: wallet handler (created by open_wallet).
    :param type_: allows to separate different record types collections
    :param id_: the id of record
    :param value: the value of record
    :return: None
    """

    logger = logging.getLogger(__name__)
    logger.debug("update_wallet_record_value: >>> wallet_handle: %r, type_: %r, id: %r, value: %r",
                 wallet_handle,
                 type_,
                 id_,
                 value)

    if not hasattr(update_wallet_record_value, "cb"):
        logger.debug("update_wallet_record_value: Creating callback")
        update_wallet_record_value.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32))

    c_wallet_handle = c_int32(wallet_handle)
    c_type = c_char_p(type_.encode('utf-8'))
    c_id = c_char_p(id_.encode('utf-8'))
    c_value = c_char_p(value.encode('utf-8'))

    res = await do_call('indy_update_wallet_record_value',
                        c_wallet_handle,
                        c_type,
                        c_id,
                        c_value,
                        update_wallet_record_value.cb)

    logger.debug("update_wallet_record_value: <<< res: %r", res)
    return res