Electroneum
Loading...
Searching...
No Matches
wallet_rpc_server.cpp File Reference
#include <boost/format.hpp>
#include <boost/asio/ip/address.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/preprocessor/stringize.hpp>
#include <cstdint>
#include "include_base_utils.h"
#include "wallet_rpc_server.h"
#include "wallet/wallet_args.h"
#include "common/command_line.h"
#include "common/i18n.h"
#include "cryptonote_config.h"
#include "cryptonote_basic/cryptonote_format_utils.h"
#include "cryptonote_basic/account.h"
#include "multisig/multisig.h"
#include "wallet_rpc_server_commands_defs.h"
#include "misc_language.h"
#include "string_coding.h"
#include "string_tools.h"
#include "crypto/hash.h"
#include "mnemonics/electrum-words.h"
#include "rpc/rpc_args.h"
#include "rpc/core_rpc_server_commands_defs.h"
#include "daemonizer/daemonizer.h"
Include dependency graph for wallet_rpc_server.cpp:

Go to the source code of this file.

Classes

class  t_daemon
class  t_executor

Namespaces

namespace  tools
 Various Tools.

Macros

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "wallet.rpc"
#define DEFAULT_AUTO_REFRESH_PERIOD   20
#define MKDIR(path, mode)

Functions

int main (int argc, char **argv)

Macro Definition Documentation

◆ DEFAULT_AUTO_REFRESH_PERIOD

#define DEFAULT_AUTO_REFRESH_PERIOD   20

Definition at line 61 of file wallet_rpc_server.cpp.

◆ ELECTRONEUM_DEFAULT_LOG_CATEGORY

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "wallet.rpc"

Definition at line 59 of file wallet_rpc_server.cpp.

◆ MKDIR

#define MKDIR ( path,
mode )
Value:
mkdir(path, mode)

Function Documentation

◆ main()

int main ( int argc,
char ** argv )

Definition at line 4453 of file wallet_rpc_server.cpp.

4453 {
4454 TRY_ENTRY();
4455
4456 namespace po = boost::program_options;
4457
4459 const auto arg_from_json = wallet_args::arg_generate_from_json();
4460
4461 po::options_description hidden_options("Hidden");
4462
4463 po::options_description desc_params(wallet_args::tr("Wallet options"));
4464 tools::wallet2::init_options(desc_params);
4465 command_line::add_arg(desc_params, arg_rpc_bind_port);
4466 command_line::add_arg(desc_params, arg_disable_rpc_login);
4467 command_line::add_arg(desc_params, arg_restricted);
4469 command_line::add_arg(desc_params, arg_wallet_file);
4470 command_line::add_arg(desc_params, arg_from_json);
4471 command_line::add_arg(desc_params, arg_wallet_dir);
4472 command_line::add_arg(desc_params, arg_prompt_for_password);
4473
4474 daemonizer::init_options(hidden_options, desc_params);
4475 desc_params.add(hidden_options);
4476
4477 boost::optional<po::variables_map> vm;
4478 bool should_terminate = false;
4479 std::tie(vm, should_terminate) = wallet_args::main(
4480 argc, argv,
4481 "electroneum-wallet-rpc [--wallet-file=<file>|--generate-from-json=<file>|--wallet-dir=<directory>] [--rpc-bind-port=<port>]",
4482 tools::wallet_rpc_server::tr("This is the RPC electroneum wallet. It needs to connect to a electroneum\ndaemon to work correctly."),
4483 desc_params,
4484 po::positional_options_description(),
4485 [](const std::string &s, bool emphasis){ epee::set_console_color(emphasis ? epee::console_color_white : epee::console_color_default, true); std::cout << s << std::endl; if (emphasis) epee::reset_console_color(); },
4486 "electroneum-wallet-rpc.log",
4487 true
4488 );
4489 if (!vm)
4490 {
4491 return 1;
4492 }
4493 if (should_terminate)
4494 {
4495 return 0;
4496 }
4497
4498 return daemonizer::daemonize(argc, const_cast<const char**>(argv), t_executor{}, *vm) ? 0 : 1;
4499 CATCH_ENTRY_L0("main", 1);
4500}
static void init_options(boost::program_options::options_description &desc_params)
Definition wallet2.cpp:1193
static const char * tr(const char *str)
#define CATCH_ENTRY_L0(lacation, return_val)
#define TRY_ENTRY()
void add_arg(boost::program_options::options_description &description, const arg_descriptor< T, required, dependent, NUM_DEPS > &arg, bool unique=true)
bool daemonize(int argc, char const *argv[], T_executor &&executor, boost::program_options::variables_map const &vm)
void init_options(boost::program_options::options_description &hidden_options, boost::program_options::options_description &normal_options)
void set_console_color(int color, bool bright)
Definition mlog.cpp:341
void reset_console_color()
Definition mlog.cpp:460
@ console_color_default
@ console_color_white
const char * tr(const char *str)
std::pair< boost::optional< boost::program_options::variables_map >, bool > main(int argc, char **argv, const char *const usage, const char *const notice, boost::program_options::options_description desc_params, const boost::program_options::positional_options_description &positional_options, const std::function< void(const std::string &, bool)> &print, const char *default_log_name, bool log_to_console)
command_line::arg_descriptor< std::string > arg_generate_from_json()
command_line::arg_descriptor< std::string > arg_wallet_file()
#define true
static void init_options(boost::program_options::options_description &desc, const bool any_cert_option=false)
Definition rpc_args.cpp:108
Here is the call graph for this function: