Monero
Loading...
Searching...
No Matches
core_rpc_server.cpp File Reference
#include <boost/preprocessor/stringize.hpp>
#include <boost/uuid/nil_generator.hpp>
#include <boost/filesystem.hpp>
#include "include_base_utils.h"
#include "string_tools.h"
#include "core_rpc_server.h"
#include "common/command_line.h"
#include "common/updates.h"
#include "common/download.h"
#include "common/util.h"
#include "common/perf_timer.h"
#include "int-util.h"
#include "cryptonote_basic/cryptonote_format_utils.h"
#include "cryptonote_basic/account.h"
#include "cryptonote_basic/cryptonote_basic_impl.h"
#include "cryptonote_basic/merge_mining.h"
#include "cryptonote_core/tx_sanity_check.h"
#include "misc_language.h"
#include "net/local_ip.h"
#include "net/parse.h"
#include "storages/http_abstract_invoke.h"
#include "crypto/hash.h"
#include "rpc/rpc_args.h"
#include "rpc/rpc_handler.h"
#include "rpc/rpc_payment_costs.h"
#include "rpc/rpc_payment_signature.h"
#include "core_rpc_server_error_codes.h"
#include "p2p/net_node.h"
#include "version.h"
Include dependency graph for core_rpc_server.cpp:

Classes

class  cryptonote::pruned_transaction

Namespaces

namespace  cryptonote
 Holds cryptonote related classes and helpers.

Macros

#define MONERO_DEFAULT_LOG_CATEGORY   "daemon.rpc"
#define MAX_RESTRICTED_FAKE_OUTS_COUNT   40
#define MAX_RESTRICTED_GLOBAL_FAKE_OUTS_COUNT   5000
#define OUTPUT_HISTOGRAM_RECENT_CUTOFF_RESTRICTION   (3 * 86400)
#define DEFAULT_PAYMENT_DIFFICULTY   1000
#define DEFAULT_PAYMENT_CREDITS_PER_HASH   100
#define RESTRICTED_BLOCK_HEADER_RANGE   1000
#define RESTRICTED_TRANSACTIONS_COUNT   100
#define RESTRICTED_SPENT_KEY_IMAGES_COUNT   5000
#define RESTRICTED_BLOCK_COUNT   1000
#define RPC_TRACKER(rpc)
#define CHECK_PAYMENT_BASE(req, res, payment, same_ts)
#define CHECK_PAYMENT(req, res, payment)
#define CHECK_PAYMENT_SAME_TS(req, res, payment)
#define CHECK_PAYMENT_MIN1(req, res, payment, same_ts)
#define CHECK_CORE_READY()

Functions

size_t cryptonote::slow_memmem (const void *start_buff, size_t buflen, const void *pat, size_t patlen)

Macro Definition Documentation

◆ CHECK_CORE_READY

#define CHECK_CORE_READY ( )
Value:
do { if(!check_core_ready()){res.status = CORE_RPC_STATUS_BUSY;return true;} } while(0)
#define CORE_RPC_STATUS_BUSY
Definition core_rpc_server_commands_defs.h:79
const char * res
Definition hmac_keccak.cpp:42

◆ CHECK_PAYMENT

#define CHECK_PAYMENT ( req,
res,
payment )
Value:
CHECK_PAYMENT_BASE(req, res, payment, false)
#define CHECK_PAYMENT_BASE(req, res, payment, same_ts)
Definition core_rpc_server.cpp:446

◆ CHECK_PAYMENT_BASE

#define CHECK_PAYMENT_BASE ( req,
res,
payment,
same_ts )
Value:
do { if (!ctx) break; uint64_t P = (uint64_t)payment; if (P > 0 && !check_payment(req.client, P, tracker.rpc_name(), same_ts, res.status, res.credits, res.top_hash)){return true;} tracker.pay(P); } while(0)
unsigned __int64 uint64_t
Definition stdint.h:136

◆ CHECK_PAYMENT_MIN1

#define CHECK_PAYMENT_MIN1 ( req,
res,
payment,
same_ts )
Value:
do { if (!ctx || (m_rpc_payment_allow_free_loopback && ctx->m_remote_address.is_loopback())) break; uint64_t P = (uint64_t)payment; if (P == 0) P = 1; if(!check_payment(req.client, P, tracker.rpc_name(), same_ts, res.status, res.credits, res.top_hash)){return true;} tracker.pay(P); } while(0)

◆ CHECK_PAYMENT_SAME_TS

#define CHECK_PAYMENT_SAME_TS ( req,
res,
payment )
Value:
CHECK_PAYMENT_BASE(req, res, payment, true)

◆ DEFAULT_PAYMENT_CREDITS_PER_HASH

#define DEFAULT_PAYMENT_CREDITS_PER_HASH   100

◆ DEFAULT_PAYMENT_DIFFICULTY

#define DEFAULT_PAYMENT_DIFFICULTY   1000

◆ MAX_RESTRICTED_FAKE_OUTS_COUNT

#define MAX_RESTRICTED_FAKE_OUTS_COUNT   40

◆ MAX_RESTRICTED_GLOBAL_FAKE_OUTS_COUNT

#define MAX_RESTRICTED_GLOBAL_FAKE_OUTS_COUNT   5000

◆ MONERO_DEFAULT_LOG_CATEGORY

#define MONERO_DEFAULT_LOG_CATEGORY   "daemon.rpc"

◆ OUTPUT_HISTOGRAM_RECENT_CUTOFF_RESTRICTION

#define OUTPUT_HISTOGRAM_RECENT_CUTOFF_RESTRICTION   (3 * 86400)

◆ RESTRICTED_BLOCK_COUNT

#define RESTRICTED_BLOCK_COUNT   1000

◆ RESTRICTED_BLOCK_HEADER_RANGE

#define RESTRICTED_BLOCK_HEADER_RANGE   1000

◆ RESTRICTED_SPENT_KEY_IMAGES_COUNT

#define RESTRICTED_SPENT_KEY_IMAGES_COUNT   5000

◆ RESTRICTED_TRANSACTIONS_COUNT

#define RESTRICTED_TRANSACTIONS_COUNT   100

◆ RPC_TRACKER

#define RPC_TRACKER ( rpc)
Value:
PERF_TIMER(rpc); \
RPCTracker tracker(#rpc, PERF_TIMER_NAME(rpc))
#define PERF_TIMER(name)
Definition perf_timer.h:83
#define PERF_TIMER_NAME(name)
Definition perf_timer.h:80