Esempio n. 1
0
def error_message(error_code: int) -> str:
    logger = logging.getLogger(__name__)
    name = 'vcx_error_c_message'
    c_error_code = c_uint32(error_code)
    getattr(_cdll(), name).restype = c_char_p
    err_msg = getattr(_cdll(), name)(c_error_code)
    logger.debug("error_message: Function %s[%s] returned error_message: %s", name, error_code, err_msg)
    return err_msg.decode()
Esempio n. 2
0
def error_message(error_code: int) -> str:
    logger = logging.getLogger(__name__)
    name = 'vcx_error_c_message'
    c_error_code = c_uint32(error_code)
    getattr(_cdll(), name).restype = c_char_p
    err_msg = getattr(_cdll(), name)(c_error_code)
    logger.debug("error_message: Function %s[%s] returned error_message: %s", name, error_code, err_msg)
    return err_msg.decode()
Esempio n. 3
0
def default_logger():
    pattern = "info"
    c_pattern = c_char_p(pattern.encode('utf-8'))
    name = 'vcx_set_default_logger'
    err = getattr(_cdll(), name)(c_pattern)
    if err != ErrorCode.Success:
        raise VcxError(ErrorCode(err))
Esempio n. 4
0
def shutdown(delete_wallet: bool):
    c_delete = c_bool(delete_wallet)
    name = 'vcx_shutdown'
    err = getattr(_cdll(), name)(c_delete)

    if err != ErrorCode.Success:
        raise VcxError(ErrorCode(err))
Esempio n. 5
0
def do_call_sync(name: str, *args):
    logger = logging.getLogger(__name__)
    logger.debug("do_call_sync: >>> name: %s, args: %s", name, args)

    err = getattr(_cdll(), name)(*args)

    logger.debug("do_call_sync: <<< %s", err)
    return err
Esempio n. 6
0
def do_call_sync(name: str, *args):
    logger = logging.getLogger(__name__)
    logger.debug("do_call_sync: >>> name: %s, args: %s", name, args)

    err = getattr(_cdll(), name)(*args)

    logger.debug("do_call_sync: <<< %s", err)
    return err
Esempio n. 7
0
def update_institution_info(institution_name: str, logo_url: str) -> None:
    logger = logging.getLogger(__name__)

    name = 'vcx_update_institution_info'
    c_name = c_char_p(institution_name.encode('utf-8'))
    c_logo_url = c_char_p(logo_url.encode('utf-8'))

    getattr(_cdll(), name)(c_name, c_logo_url)
    logger.debug("vcx_init_with_config completed")
Esempio n. 8
0
def get_error_details() -> Optional[dict]:
    logger = logging.getLogger(__name__)
    logger.debug("get_error_details: >>>")

    error_c = c_char_p()
    getattr(_cdll(), 'vcx_get_current_error')(byref(error_c))
    error_details = json.loads(error_c.value.decode()) if error_c.value else None

    logger.debug("get_error_details: <<< error_details: %s", error_details)
    return error_details
Esempio n. 9
0
def get_version() -> str:
    logger = logging.getLogger(__name__)

    name = 'vcx_version'
    c_version = getattr(_cdll(), name)()

    version = cast(c_version , c_char_p).value.decode()
    logger.debug("error_message: Function %s returned version: %s", name, version)

    return version
Esempio n. 10
0
def release(name, handle):
    logger = logging.getLogger(__name__)

    err = getattr(_cdll(), name)(handle)

    logger.debug("release: Function %s returned err: %i", name, err)

    if err != ErrorCode.Success:
        logger.warning("release: Function %s returned error %i", name, err)
        raise VcxError(ErrorCode(err))
Esempio n. 11
0
def get_error_details() -> Optional[dict]:
    logger = logging.getLogger(__name__)
    logger.debug("get_error_details: >>>")

    error_c = c_char_p()
    getattr(_cdll(), 'vcx_get_current_error')(byref(error_c))
    error_details = json.loads(error_c.value.decode()) if error_c.value else None

    logger.debug("get_error_details: <<< error_details: %s", error_details)
    return error_details
Esempio n. 12
0
def error_message(error_code: int) -> str:
    logger = logging.getLogger(__name__)

    name = 'vcx_error_c_message'
    c_error_code = c_uint32(error_code)
    c_err_msg = getattr(_cdll(), name)(c_error_code)

    err_msg = cast(c_err_msg, c_char_p).value.decode()
    logger.debug("error_message: Function %s returned error_message: %s", name,
                 err_msg)

    return err_msg
Esempio n. 13
0
def do_call(name: str, *args):
    logger = logging.getLogger(__name__)
    logger.debug("do_call: >>> name: %s, args: %s", name, args)

    event_loop = asyncio.get_event_loop()
    future = event_loop.create_future()
    command_handle = next(_futures_counter)

    _futures[command_handle] = (event_loop, future)

    err = getattr(_cdll(), name)(command_handle, *args)

    logger.debug("do_call: Function %s returned err: %i", name, err)

    if err != ErrorCode.Success:
        logger.warning("_do_call: Function %s returned error %i", name, err)
        future.set_exception(VcxError(ErrorCode(err)))

    logger.debug("do_call: <<< %s", future)
    return future
Esempio n. 14
0
def do_call(name: str, *args):
    logger = logging.getLogger(__name__)
    logger.debug("do_call: >>> name: %s, args: %s", name, args)

    event_loop = asyncio.get_event_loop()
    future = event_loop.create_future()
    command_handle = next(_futures_counter)

    _futures[command_handle] = (event_loop, future)

    err = getattr(_cdll(), name)(command_handle,
                                 *args)

    logger.debug("do_call: Function %s returned err: %i", name, err)

    if err != ErrorCode.Success:
        logger.warning("_do_call: Function %s returned error %i", name, err)
        error_details = get_error_details()
        future.set_exception(VcxError(ErrorCode(err), error_details))

    logger.debug("do_call: <<< %s", future)
    return future
Esempio n. 15
0
def set_logger(user_set_logger_fn):
    logger = Logger()
    log_cb_converter = CFUNCTYPE(None, c_uint32, c_char_p, c_char_p, c_char_p,
                                 c_char_p, c_uint32)
    f2 = log_cb_converter(user_set_logger_fn)
    logger.log = f2

    c_flush_converter = CFUNCTYPE(None, c_void_p)
    c_flush_fn = c_flush_converter(flush_cb)
    logger.flush = c_flush_fn

    _logger_obj_ptr = ctypes.pointer(logger)
    void_pointer_context = ctypes.cast(_logger_obj_ptr, ctypes.c_void_p)

    set_logger_converter = CFUNCTYPE(None, c_void_p, c_uint32, c_char_p,
                                     c_char_p, c_char_p, c_char_p, c_uint32)
    c_set_logger_fn = set_logger_converter(set_logger_fn)

    name = 'vcx_set_logger'
    err = getattr(_cdll(), name)(void_pointer_context, None, c_set_logger_fn,
                                 c_flush_fn)
    if err != ErrorCode.Success:
        raise VcxError(ErrorCode(err))
Esempio n. 16
0
def mint_tokens():
    name = 'vcx_mint_tokens'
    getattr(_cdll(), name)(None, None)
Esempio n. 17
0
def get_logger(context, enabled_cb, log_cb, flush_cb):
    name = 'vcx_get_logger'
    err = getattr(_cdll(), name)(context, enabled_cb, log_cb, flush_cb)
    if err != ErrorCode.Success:
        raise VcxError(ErrorCode(err))