Monero
Loading...
Searching...
No Matches
wallet_errors.h File Reference
#include <stdexcept>
#include <system_error>
#include <string>
#include <vector>
#include "cryptonote_basic/cryptonote_format_utils.h"
#include "cryptonote_core/cryptonote_tx_utils.h"
#include "rpc/core_rpc_server_commands_defs.h"
#include "include_base_utils.h"
Include dependency graph for wallet_errors.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tools::error::wallet_error_base< Base >
struct  tools::error::failed_rpc_request< Base, msg_index >
struct  tools::error::wallet_internal_error
struct  tools::error::unexpected_txin_type
struct  tools::error::wallet_not_initialized
struct  tools::error::multisig_export_needed
struct  tools::error::multisig_import_needed
struct  tools::error::password_needed
struct  tools::error::password_entry_failed
struct  tools::error::file_error_base< msg_index >
struct  tools::error::invalid_password
struct  tools::error::invalid_priority
struct  tools::error::invalid_multisig_seed
struct  tools::error::invalid_spend_key
struct  tools::error::invalid_pregenerated_random
struct  tools::error::refresh_error
struct  tools::error::index_outofbound
struct  tools::error::account_index_outofbound
struct  tools::error::address_index_outofbound
struct  tools::error::acc_outs_lookup_error
struct  tools::error::block_parse_error
struct  tools::error::tx_parse_error
struct  tools::error::get_tx_pool_error
struct  tools::error::out_of_hashchain_bounds_error
struct  tools::error::reorg_depth_error
struct  tools::error::incorrect_fork_version
struct  tools::error::signature_check_failed
struct  tools::error::transfer_error
struct  tools::error::not_enough_unlocked_money
struct  tools::error::not_enough_money
struct  tools::error::tx_not_possible
struct  tools::error::not_enough_outs_to_mix
struct  tools::error::tx_not_constructed
struct  tools::error::tx_rejected
struct  tools::error::tx_sum_overflow
struct  tools::error::tx_too_big
struct  tools::error::zero_amount
struct  tools::error::zero_destination
struct  tools::error::subtract_fee_from_bad_index
struct  tools::error::nonzero_unlock_time
struct  tools::error::wallet_rpc_error
struct  tools::error::wallet_generic_rpc_error
struct  tools::error::wallet_coded_rpc_error
struct  tools::error::daemon_busy
struct  tools::error::no_connection_to_daemon
struct  tools::error::is_key_image_spent_error
struct  tools::error::get_histogram_error
struct  tools::error::get_output_distribution
struct  tools::error::payment_required
struct  tools::error::wallet_files_doesnt_correspond
struct  tools::error::mms_error
struct  tools::error::no_connection_to_bitmessage
struct  tools::error::bitmessage_api_error
struct  tools::error::scan_tx_error
struct  tools::error::wont_reprocess_recent_txs_via_untrusted_daemon
struct  tools::error::background_sync_error
struct  tools::error::background_wallet_already_open
struct  tools::error::background_custom_password_same_as_wallet_password

Namespaces

namespace  tools
 Various Tools.
namespace  tools::error

Macros

#define STRINGIZE_DETAIL(x)
#define STRINGIZE(x)
#define THROW_WALLET_EXCEPTION(err_type, ...)
#define THROW_WALLET_EXCEPTION_IF(cond, err_type, ...)

Typedefs

typedef wallet_error_base< std::logic_error > tools::error::wallet_logic_error
typedef wallet_error_base< std::runtime_error > tools::error::wallet_runtime_error
typedef file_error_base< file_exists_message_indextools::error::file_exists
typedef file_error_base< file_not_found_message_indextools::error::file_not_found
typedef file_error_base< file_read_error_message_indextools::error::file_read_error
typedef file_error_base< file_save_error_message_indextools::error::file_save_error
typedef failed_rpc_request< refresh_error, get_blocks_error_message_indextools::error::get_blocks_error
typedef failed_rpc_request< refresh_error, get_hashes_error_message_indextools::error::get_hashes_error
typedef failed_rpc_request< refresh_error, get_out_indices_error_message_indextools::error::get_out_indices_error
typedef failed_rpc_request< transfer_error, get_outs_error_message_indextools::error::get_outs_error

Enumerations

enum  tools::error::failed_rpc_request_message_indices { tools::error::get_blocks_error_message_index , tools::error::get_hashes_error_message_index , tools::error::get_out_indices_error_message_index , tools::error::get_outs_error_message_index }
enum  tools::error::file_error_message_indices { tools::error::file_exists_message_index , tools::error::file_not_found_message_index , tools::error::file_read_error_message_index , tools::error::file_save_error_message_index }

Functions

template<typename TException, typename... TArgs>
void tools::error::throw_wallet_ex (std::string &&loc, const TArgs &... args)

Variables

const char *const tools::error::failed_rpc_request_messages []
const char *const tools::error::file_error_messages []

Macro Definition Documentation

◆ STRINGIZE

#define STRINGIZE ( x)
Value:
#define STRINGIZE_DETAIL(x)
Definition wallet_errors.h:1027

◆ STRINGIZE_DETAIL

#define STRINGIZE_DETAIL ( x)
Value:
#x

◆ THROW_WALLET_EXCEPTION

#define THROW_WALLET_EXCEPTION ( err_type,
... )
Value:
do { \
LOG_ERROR("THROW EXCEPTION: " << #err_type); \
tools::error::throw_wallet_ex<err_type>(std::string(__FILE__ ":" STRINGIZE(__LINE__)), ## __VA_ARGS__); \
} while(0)
#define STRINGIZE(x)
Definition wallet_errors.h:1028

◆ THROW_WALLET_EXCEPTION_IF

#define THROW_WALLET_EXCEPTION_IF ( cond,
err_type,
... )
Value:
if (cond) \
{ \
LOG_ERROR(#cond << ". THROW EXCEPTION: " << #err_type); \
tools::error::throw_wallet_ex<err_type>(std::string(__FILE__ ":" STRINGIZE(__LINE__)), ## __VA_ARGS__); \
}