Monero
Loading...
Searching...
No Matches
cryptonote_config.h File Reference
#include <cstdint>
#include <stdexcept>
#include <string>
#include <boost/uuid/uuid.hpp>
Include dependency graph for cryptonote_config.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cryptonote::config_t

Namespaces

namespace  config
namespace  config::testnet
namespace  config::stagenet
namespace  cryptonote
 Holds cryptonote related classes and helpers.

Macros

#define CRYPTONOTE_DNS_TIMEOUT_MS   20000
#define CRYPTONOTE_MAX_BLOCK_NUMBER   500000000
#define CRYPTONOTE_MAX_TX_SIZE   1000000
#define CRYPTONOTE_MAX_TX_PER_BLOCK   0x10000000
#define CRYPTONOTE_PUBLIC_ADDRESS_TEXTBLOB_VER   0
#define CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW   60
#define CURRENT_TRANSACTION_VERSION   2
#define CURRENT_BLOCK_MAJOR_VERSION   1
#define CURRENT_BLOCK_MINOR_VERSION   0
#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT   60*60*2
#define CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE   10
#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW   60
#define MONEY_SUPPLY   ((uint64_t)(-1))
#define EMISSION_SPEED_FACTOR_PER_MINUTE   (20)
#define FINAL_SUBSIDY_PER_MINUTE   ((uint64_t)300000000000)
#define CRYPTONOTE_REWARD_BLOCKS_WINDOW   100
#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2   60000
#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V1   20000
#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5   300000
#define CRYPTONOTE_LONG_TERM_BLOCK_WEIGHT_WINDOW_SIZE   100000
#define CRYPTONOTE_SHORT_TERM_BLOCK_WEIGHT_SURGE_FACTOR   50
#define CRYPTONOTE_COINBASE_BLOB_RESERVED_SIZE   600
#define CRYPTONOTE_DISPLAY_DECIMAL_POINT   12
#define COIN   ((uint64_t)1000000000000)
#define FEE_PER_KB_OLD   ((uint64_t)10000000000)
#define FEE_PER_KB   ((uint64_t)2000000000)
#define FEE_PER_BYTE   ((uint64_t)300000)
#define DYNAMIC_FEE_PER_KB_BASE_FEE   ((uint64_t)2000000000)
#define DYNAMIC_FEE_PER_KB_BASE_BLOCK_REWARD   ((uint64_t)10000000000000)
#define DYNAMIC_FEE_PER_KB_BASE_FEE_V5   ((uint64_t)2000000000 * (uint64_t)CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2 / CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5)
#define DYNAMIC_FEE_REFERENCE_TRANSACTION_WEIGHT   ((uint64_t)3000)
#define ORPHANED_BLOCKS_MAX_COUNT   100
#define DIFFICULTY_TARGET_V2   120
#define DIFFICULTY_TARGET_V1   60
#define DIFFICULTY_WINDOW   720
#define DIFFICULTY_LAG   15
#define DIFFICULTY_CUT   60
#define DIFFICULTY_BLOCKS_COUNT   DIFFICULTY_WINDOW + DIFFICULTY_LAG
#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V1   DIFFICULTY_TARGET_V1 * CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS
#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V2   DIFFICULTY_TARGET_V2 * CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS
#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS   1
#define DIFFICULTY_BLOCKS_ESTIMATE_TIMESPAN   DIFFICULTY_TARGET_V1
#define BLOCKS_IDS_SYNCHRONIZING_DEFAULT_COUNT   10000
#define BLOCKS_IDS_SYNCHRONIZING_MAX_COUNT   25000
#define BLOCKS_SYNCHRONIZING_DEFAULT_COUNT_PRE_V4   100
#define BLOCKS_SYNCHRONIZING_DEFAULT_COUNT   20
#define BLOCKS_SYNCHRONIZING_MAX_COUNT   2048
#define CRYPTONOTE_MEMPOOL_TX_LIVETIME   (86400*3)
#define CRYPTONOTE_MEMPOOL_TX_FROM_ALT_BLOCK_LIVETIME   604800
#define CRYPTONOTE_DANDELIONPP_STEMS   2
#define CRYPTONOTE_DANDELIONPP_FLUFF_PROBABILITY   20
#define CRYPTONOTE_DANDELIONPP_MIN_EPOCH   10
#define CRYPTONOTE_DANDELIONPP_EPOCH_RANGE   30
#define CRYPTONOTE_DANDELIONPP_FLUSH_AVERAGE   5
#define CRYPTONOTE_DANDELIONPP_EMBARGO_AVERAGE   39
#define CRYPTONOTE_NOISE_MIN_EPOCH   5
#define CRYPTONOTE_NOISE_EPOCH_RANGE   30
#define CRYPTONOTE_NOISE_MIN_DELAY   10
#define CRYPTONOTE_NOISE_DELAY_RANGE   5
#define CRYPTONOTE_NOISE_BYTES   3*1024
#define CRYPTONOTE_NOISE_CHANNELS   2
#define CRYPTONOTE_FORWARD_DELAY_BASE   (CRYPTONOTE_NOISE_MIN_DELAY + CRYPTONOTE_NOISE_DELAY_RANGE)
#define CRYPTONOTE_FORWARD_DELAY_AVERAGE   (CRYPTONOTE_FORWARD_DELAY_BASE + (CRYPTONOTE_FORWARD_DELAY_BASE / 2))
#define CRYPTONOTE_MAX_FRAGMENTS   20
#define COMMAND_RPC_GET_BLOCKS_FAST_MAX_BLOCK_COUNT   1000
#define COMMAND_RPC_GET_BLOCKS_FAST_MAX_TX_COUNT   20000
#define DEFAULT_RPC_MAX_CONNECTIONS_PER_PUBLIC_IP   3
#define DEFAULT_RPC_MAX_CONNECTIONS_PER_PRIVATE_IP   25
#define DEFAULT_RPC_MAX_CONNECTIONS   100
#define DEFAULT_RPC_SOFT_LIMIT_SIZE   25 * 1024 * 1024
#define MAX_RPC_CONTENT_LENGTH   1048576
#define P2P_LOCAL_WHITE_PEERLIST_LIMIT   1000
#define P2P_LOCAL_GRAY_PEERLIST_LIMIT   5000
#define P2P_DEFAULT_CONNECTIONS_COUNT   12
#define P2P_DEFAULT_HANDSHAKE_INTERVAL   60
#define P2P_DEFAULT_PACKET_MAX_SIZE   50000000
#define P2P_DEFAULT_PEERS_IN_HANDSHAKE   250
#define P2P_MAX_PEERS_IN_HANDSHAKE   250
#define P2P_DEFAULT_CONNECTION_TIMEOUT   5000
#define P2P_DEFAULT_SOCKS_CONNECT_TIMEOUT   45
#define P2P_DEFAULT_PING_CONNECTION_TIMEOUT   2000
#define P2P_DEFAULT_INVOKE_TIMEOUT   60*2*1000
#define P2P_DEFAULT_HANDSHAKE_INVOKE_TIMEOUT   5000
#define P2P_DEFAULT_WHITELIST_CONNECTIONS_PERCENT   70
#define P2P_DEFAULT_ANCHOR_CONNECTIONS_COUNT   2
#define P2P_DEFAULT_SYNC_SEARCH_CONNECTIONS_COUNT   2
#define P2P_DEFAULT_LIMIT_RATE_UP   8192
#define P2P_DEFAULT_LIMIT_RATE_DOWN   32768
#define P2P_FAILED_ADDR_FORGET_SECONDS   (60*60)
#define P2P_IP_BLOCKTIME   (60*60*24)
#define P2P_IP_FAILS_BEFORE_BLOCK   10
#define P2P_IDLE_CONNECTION_KILL_INTERVAL   (5*60)
#define P2P_SUPPORT_FLAG_FLUFFY_BLOCKS   0x01
#define P2P_SUPPORT_FLAGS   P2P_SUPPORT_FLAG_FLUFFY_BLOCKS
#define RPC_IP_FAILS_BEFORE_BLOCK   3
#define CRYPTONOTE_NAME   "bitmonero"
#define CRYPTONOTE_BLOCKCHAINDATA_FILENAME   "data.mdb"
#define CRYPTONOTE_BLOCKCHAINDATA_LOCK_FILENAME   "lock.mdb"
#define P2P_NET_DATA_FILENAME   "p2pstate.bin"
#define RPC_PAYMENTS_DATA_FILENAME   "rpcpayments.bin"
#define MINER_CONFIG_FILE_NAME   "miner_conf.json"
#define THREAD_STACK_SIZE   5 * 1024 * 1024
#define HF_VERSION_DYNAMIC_FEE   4
#define HF_VERSION_MIN_MIXIN_4   6
#define HF_VERSION_MIN_MIXIN_6   7
#define HF_VERSION_MIN_MIXIN_10   8
#define HF_VERSION_MIN_MIXIN_15   15
#define HF_VERSION_ENFORCE_RCT   6
#define HF_VERSION_PER_BYTE_FEE   8
#define HF_VERSION_SMALLER_BP   10
#define HF_VERSION_LONG_TERM_BLOCK_WEIGHT   10
#define HF_VERSION_MIN_2_OUTPUTS   12
#define HF_VERSION_MIN_V2_COINBASE_TX   12
#define HF_VERSION_SAME_MIXIN   12
#define HF_VERSION_REJECT_SIGS_IN_COINBASE   12
#define HF_VERSION_ENFORCE_MIN_AGE   12
#define HF_VERSION_EFFECTIVE_SHORT_TERM_MEDIAN_IN_PENALTY   12
#define HF_VERSION_EXACT_COINBASE   13
#define HF_VERSION_CLSAG   13
#define HF_VERSION_DETERMINISTIC_UNLOCK_TIME   13
#define HF_VERSION_BULLETPROOF_PLUS   15
#define HF_VERSION_VIEW_TAGS   15
#define HF_VERSION_2021_SCALING   15
#define PER_KB_FEE_QUANTIZATION_DECIMALS   8
#define CRYPTONOTE_SCALING_2021_FEE_ROUNDING_PLACES   2
#define HASH_OF_HASHES_STEP   512
#define DEFAULT_TXPOOL_MAX_WEIGHT   648000000ull
#define BULLETPROOF_MAX_OUTPUTS   16
#define BULLETPROOF_PLUS_MAX_OUTPUTS   16
#define CRYPTONOTE_PRUNING_STRIPE_SIZE   4096
#define CRYPTONOTE_PRUNING_LOG_STRIPES   3
#define CRYPTONOTE_PRUNING_TIP_BLOCKS   5500
#define RPC_CREDITS_PER_HASH_SCALE   ((float)(1<<24))
#define DNS_BLOCKLIST_LIFETIME   (86400 * 8)
#define MAX_TX_EXTRA_SIZE   1060

Enumerations

enum  cryptonote::network_type : uint8_t {
  cryptonote::MAINNET = 0 , cryptonote::TESTNET , cryptonote::STAGENET , cryptonote::FAKECHAIN ,
  cryptonote::UNDEFINED = 255
}

Functions

const config_t & cryptonote::get_config (network_type nettype)

Variables

uint64_t const config::DEFAULT_FEE_ATOMIC_XMR_PER_KB = 500
uint8_t const config::FEE_CALCULATION_MAX_RETRIES = 10
uint64_t const config::DEFAULT_DUST_THRESHOLD = ((uint64_t)2000000000)
uint64_t const config::BASE_REWARD_CLAMP_THRESHOLD = ((uint64_t)100000000)
uint64_t const config::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX = 18
uint64_t const config::CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX = 19
uint64_t const config::CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX = 42
uint16_t const config::P2P_DEFAULT_PORT = 18080
uint16_t const config::RPC_DEFAULT_PORT = 18081
uint16_t const config::ZMQ_RPC_DEFAULT_PORT = 18082
boost::uuids::uuid const config::NETWORK_ID
std::string const config::GENESIS_TX = "013c01ff0001ffffffffffff03029b2e4c0281c0b02e7c53291a94d1d0cbff8883f8024f5142ee494ffbbd08807121017767aafcde9be00dcfd098715ebcf7f410daebc582fda69d24a28e9d0bc890d1"
uint32_t const config::GENESIS_NONCE = 10000
const char config::HASH_KEY_BULLETPROOF_EXPONENT [] = "bulletproof"
const char config::HASH_KEY_BULLETPROOF_PLUS_EXPONENT [] = "bulletproof_plus"
const char config::HASH_KEY_BULLETPROOF_PLUS_TRANSCRIPT [] = "bulletproof_plus_transcript"
const char config::HASH_KEY_RINGDB [] = "ringdsb"
const char config::HASH_KEY_SUBADDRESS [] = "SubAddr"
const unsigned char config::HASH_KEY_ENCRYPTED_PAYMENT_ID = 0x8d
const unsigned char config::HASH_KEY_WALLET = 0x8c
const unsigned char config::HASH_KEY_WALLET_CACHE = 0x8d
const unsigned char config::HASH_KEY_BACKGROUND_CACHE = 0x8e
const unsigned char config::HASH_KEY_BACKGROUND_KEYS_FILE = 0x8f
const unsigned char config::HASH_KEY_RPC_PAYMENT_NONCE = 0x58
const unsigned char config::HASH_KEY_MEMORY = 'k'
const unsigned char config::HASH_KEY_MULTISIG [] = {'M', 'u', 'l', 't' , 'i', 's', 'i', 'g', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
const unsigned char config::HASH_KEY_MULTISIG_KEY_AGGREGATION [] = "Multisig_key_agg"
const unsigned char config::HASH_KEY_CLSAG_ROUND_MULTISIG [] = "CLSAG_round_ms_merge_factor"
const unsigned char config::HASH_KEY_TXPROOF_V2 [] = "TXPROOF_V2"
const unsigned char config::HASH_KEY_CLSAG_ROUND [] = "CLSAG_round"
const unsigned char config::HASH_KEY_CLSAG_AGG_0 [] = "CLSAG_agg_0"
const unsigned char config::HASH_KEY_CLSAG_AGG_1 [] = "CLSAG_agg_1"
const char config::HASH_KEY_MESSAGE_SIGNING [] = "MoneroMessageSignature"
const unsigned char config::HASH_KEY_MM_SLOT = 'm'
const constexpr char config::HASH_KEY_MULTISIG_TX_PRIVKEYS_SEED [] = "multisig_tx_privkeys_seed"
const constexpr char config::HASH_KEY_MULTISIG_TX_PRIVKEYS [] = "multisig_tx_privkeys"
const constexpr char config::HASH_KEY_TXHASH_AND_MIXRING [] = "txhash_and_mixring"
const uint32_t config::MULTISIG_MAX_SIGNERS {16}
uint64_t const config::testnet::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX = 53
uint64_t const config::testnet::CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX = 54
uint64_t const config::testnet::CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX = 63
uint16_t const config::testnet::P2P_DEFAULT_PORT = 28080
uint16_t const config::testnet::RPC_DEFAULT_PORT = 28081
uint16_t const config::testnet::ZMQ_RPC_DEFAULT_PORT = 28082
boost::uuids::uuid const config::testnet::NETWORK_ID
std::string const config::testnet::GENESIS_TX = "013c01ff0001ffffffffffff03029b2e4c0281c0b02e7c53291a94d1d0cbff8883f8024f5142ee494ffbbd08807121017767aafcde9be00dcfd098715ebcf7f410daebc582fda69d24a28e9d0bc890d1"
uint32_t const config::testnet::GENESIS_NONCE = 10001
uint64_t const config::stagenet::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX = 24
uint64_t const config::stagenet::CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX = 25
uint64_t const config::stagenet::CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX = 36
uint16_t const config::stagenet::P2P_DEFAULT_PORT = 38080
uint16_t const config::stagenet::RPC_DEFAULT_PORT = 38081
uint16_t const config::stagenet::ZMQ_RPC_DEFAULT_PORT = 38082
boost::uuids::uuid const config::stagenet::NETWORK_ID
std::string const config::stagenet::GENESIS_TX = "013c01ff0001ffffffffffff0302df5d56da0c7d643ddd1ce61901c7bdc5fb1738bfe39fbe69c28a3a7032729c0f2101168d0c4ca86fb55a4cf6a36d31431be1c53a3bd7411bb24e8832410289fa6f3b"
uint32_t const config::stagenet::GENESIS_NONCE = 10002

Macro Definition Documentation

◆ BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW

#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW   60

◆ BLOCKS_IDS_SYNCHRONIZING_DEFAULT_COUNT

#define BLOCKS_IDS_SYNCHRONIZING_DEFAULT_COUNT   10000

◆ BLOCKS_IDS_SYNCHRONIZING_MAX_COUNT

#define BLOCKS_IDS_SYNCHRONIZING_MAX_COUNT   25000

◆ BLOCKS_SYNCHRONIZING_DEFAULT_COUNT

#define BLOCKS_SYNCHRONIZING_DEFAULT_COUNT   20

◆ BLOCKS_SYNCHRONIZING_DEFAULT_COUNT_PRE_V4

#define BLOCKS_SYNCHRONIZING_DEFAULT_COUNT_PRE_V4   100

◆ BLOCKS_SYNCHRONIZING_MAX_COUNT

#define BLOCKS_SYNCHRONIZING_MAX_COUNT   2048

◆ BULLETPROOF_MAX_OUTPUTS

#define BULLETPROOF_MAX_OUTPUTS   16

◆ BULLETPROOF_PLUS_MAX_OUTPUTS

#define BULLETPROOF_PLUS_MAX_OUTPUTS   16

◆ COIN

#define COIN   ((uint64_t)1000000000000)

◆ COMMAND_RPC_GET_BLOCKS_FAST_MAX_BLOCK_COUNT

#define COMMAND_RPC_GET_BLOCKS_FAST_MAX_BLOCK_COUNT   1000

◆ COMMAND_RPC_GET_BLOCKS_FAST_MAX_TX_COUNT

#define COMMAND_RPC_GET_BLOCKS_FAST_MAX_TX_COUNT   20000

◆ CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT

#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT   60*60*2

◆ CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V1

#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V1   20000

◆ CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2

#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2   60000

◆ CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5

#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5   300000

◆ CRYPTONOTE_BLOCKCHAINDATA_FILENAME

#define CRYPTONOTE_BLOCKCHAINDATA_FILENAME   "data.mdb"

◆ CRYPTONOTE_BLOCKCHAINDATA_LOCK_FILENAME

#define CRYPTONOTE_BLOCKCHAINDATA_LOCK_FILENAME   "lock.mdb"

◆ CRYPTONOTE_COINBASE_BLOB_RESERVED_SIZE

#define CRYPTONOTE_COINBASE_BLOB_RESERVED_SIZE   600

◆ CRYPTONOTE_DANDELIONPP_EMBARGO_AVERAGE

#define CRYPTONOTE_DANDELIONPP_EMBARGO_AVERAGE   39

◆ CRYPTONOTE_DANDELIONPP_EPOCH_RANGE

#define CRYPTONOTE_DANDELIONPP_EPOCH_RANGE   30

◆ CRYPTONOTE_DANDELIONPP_FLUFF_PROBABILITY

#define CRYPTONOTE_DANDELIONPP_FLUFF_PROBABILITY   20

◆ CRYPTONOTE_DANDELIONPP_FLUSH_AVERAGE

#define CRYPTONOTE_DANDELIONPP_FLUSH_AVERAGE   5

◆ CRYPTONOTE_DANDELIONPP_MIN_EPOCH

#define CRYPTONOTE_DANDELIONPP_MIN_EPOCH   10

◆ CRYPTONOTE_DANDELIONPP_STEMS

#define CRYPTONOTE_DANDELIONPP_STEMS   2

◆ CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE

#define CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE   10

◆ CRYPTONOTE_DISPLAY_DECIMAL_POINT

#define CRYPTONOTE_DISPLAY_DECIMAL_POINT   12

◆ CRYPTONOTE_DNS_TIMEOUT_MS

#define CRYPTONOTE_DNS_TIMEOUT_MS   20000

◆ CRYPTONOTE_FORWARD_DELAY_AVERAGE

#define CRYPTONOTE_FORWARD_DELAY_AVERAGE   (CRYPTONOTE_FORWARD_DELAY_BASE + (CRYPTONOTE_FORWARD_DELAY_BASE / 2))

◆ CRYPTONOTE_FORWARD_DELAY_BASE

#define CRYPTONOTE_FORWARD_DELAY_BASE   (CRYPTONOTE_NOISE_MIN_DELAY + CRYPTONOTE_NOISE_DELAY_RANGE)

◆ CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS

#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS   1

◆ CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V1

#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V1   DIFFICULTY_TARGET_V1 * CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS

◆ CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V2

#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V2   DIFFICULTY_TARGET_V2 * CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS

◆ CRYPTONOTE_LONG_TERM_BLOCK_WEIGHT_WINDOW_SIZE

#define CRYPTONOTE_LONG_TERM_BLOCK_WEIGHT_WINDOW_SIZE   100000

◆ CRYPTONOTE_MAX_BLOCK_NUMBER

#define CRYPTONOTE_MAX_BLOCK_NUMBER   500000000

◆ CRYPTONOTE_MAX_FRAGMENTS

#define CRYPTONOTE_MAX_FRAGMENTS   20

◆ CRYPTONOTE_MAX_TX_PER_BLOCK

#define CRYPTONOTE_MAX_TX_PER_BLOCK   0x10000000

◆ CRYPTONOTE_MAX_TX_SIZE

#define CRYPTONOTE_MAX_TX_SIZE   1000000

◆ CRYPTONOTE_MEMPOOL_TX_FROM_ALT_BLOCK_LIVETIME

#define CRYPTONOTE_MEMPOOL_TX_FROM_ALT_BLOCK_LIVETIME   604800

◆ CRYPTONOTE_MEMPOOL_TX_LIVETIME

#define CRYPTONOTE_MEMPOOL_TX_LIVETIME   (86400*3)

◆ CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW

#define CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW   60

◆ CRYPTONOTE_NAME

#define CRYPTONOTE_NAME   "bitmonero"

◆ CRYPTONOTE_NOISE_BYTES

#define CRYPTONOTE_NOISE_BYTES   3*1024

◆ CRYPTONOTE_NOISE_CHANNELS

#define CRYPTONOTE_NOISE_CHANNELS   2

◆ CRYPTONOTE_NOISE_DELAY_RANGE

#define CRYPTONOTE_NOISE_DELAY_RANGE   5

◆ CRYPTONOTE_NOISE_EPOCH_RANGE

#define CRYPTONOTE_NOISE_EPOCH_RANGE   30

◆ CRYPTONOTE_NOISE_MIN_DELAY

#define CRYPTONOTE_NOISE_MIN_DELAY   10

◆ CRYPTONOTE_NOISE_MIN_EPOCH

#define CRYPTONOTE_NOISE_MIN_EPOCH   5

◆ CRYPTONOTE_PRUNING_LOG_STRIPES

#define CRYPTONOTE_PRUNING_LOG_STRIPES   3

◆ CRYPTONOTE_PRUNING_STRIPE_SIZE

#define CRYPTONOTE_PRUNING_STRIPE_SIZE   4096

◆ CRYPTONOTE_PRUNING_TIP_BLOCKS

#define CRYPTONOTE_PRUNING_TIP_BLOCKS   5500

◆ CRYPTONOTE_PUBLIC_ADDRESS_TEXTBLOB_VER

#define CRYPTONOTE_PUBLIC_ADDRESS_TEXTBLOB_VER   0

◆ CRYPTONOTE_REWARD_BLOCKS_WINDOW

#define CRYPTONOTE_REWARD_BLOCKS_WINDOW   100

◆ CRYPTONOTE_SCALING_2021_FEE_ROUNDING_PLACES

#define CRYPTONOTE_SCALING_2021_FEE_ROUNDING_PLACES   2

◆ CRYPTONOTE_SHORT_TERM_BLOCK_WEIGHT_SURGE_FACTOR

#define CRYPTONOTE_SHORT_TERM_BLOCK_WEIGHT_SURGE_FACTOR   50

◆ CURRENT_BLOCK_MAJOR_VERSION

#define CURRENT_BLOCK_MAJOR_VERSION   1

◆ CURRENT_BLOCK_MINOR_VERSION

#define CURRENT_BLOCK_MINOR_VERSION   0

◆ CURRENT_TRANSACTION_VERSION

#define CURRENT_TRANSACTION_VERSION   2

◆ DEFAULT_RPC_MAX_CONNECTIONS

#define DEFAULT_RPC_MAX_CONNECTIONS   100

◆ DEFAULT_RPC_MAX_CONNECTIONS_PER_PRIVATE_IP

#define DEFAULT_RPC_MAX_CONNECTIONS_PER_PRIVATE_IP   25

◆ DEFAULT_RPC_MAX_CONNECTIONS_PER_PUBLIC_IP

#define DEFAULT_RPC_MAX_CONNECTIONS_PER_PUBLIC_IP   3

◆ DEFAULT_RPC_SOFT_LIMIT_SIZE

#define DEFAULT_RPC_SOFT_LIMIT_SIZE   25 * 1024 * 1024

◆ DEFAULT_TXPOOL_MAX_WEIGHT

#define DEFAULT_TXPOOL_MAX_WEIGHT   648000000ull

◆ DIFFICULTY_BLOCKS_COUNT

#define DIFFICULTY_BLOCKS_COUNT   DIFFICULTY_WINDOW + DIFFICULTY_LAG

◆ DIFFICULTY_BLOCKS_ESTIMATE_TIMESPAN

#define DIFFICULTY_BLOCKS_ESTIMATE_TIMESPAN   DIFFICULTY_TARGET_V1

◆ DIFFICULTY_CUT

#define DIFFICULTY_CUT   60

◆ DIFFICULTY_LAG

#define DIFFICULTY_LAG   15

◆ DIFFICULTY_TARGET_V1

#define DIFFICULTY_TARGET_V1   60

◆ DIFFICULTY_TARGET_V2

#define DIFFICULTY_TARGET_V2   120

◆ DIFFICULTY_WINDOW

#define DIFFICULTY_WINDOW   720

◆ DNS_BLOCKLIST_LIFETIME

#define DNS_BLOCKLIST_LIFETIME   (86400 * 8)

◆ DYNAMIC_FEE_PER_KB_BASE_BLOCK_REWARD

#define DYNAMIC_FEE_PER_KB_BASE_BLOCK_REWARD   ((uint64_t)10000000000000)

◆ DYNAMIC_FEE_PER_KB_BASE_FEE

#define DYNAMIC_FEE_PER_KB_BASE_FEE   ((uint64_t)2000000000)

◆ DYNAMIC_FEE_PER_KB_BASE_FEE_V5

◆ DYNAMIC_FEE_REFERENCE_TRANSACTION_WEIGHT

#define DYNAMIC_FEE_REFERENCE_TRANSACTION_WEIGHT   ((uint64_t)3000)

◆ EMISSION_SPEED_FACTOR_PER_MINUTE

#define EMISSION_SPEED_FACTOR_PER_MINUTE   (20)

◆ FEE_PER_BYTE

#define FEE_PER_BYTE   ((uint64_t)300000)

◆ FEE_PER_KB

#define FEE_PER_KB   ((uint64_t)2000000000)

◆ FEE_PER_KB_OLD

#define FEE_PER_KB_OLD   ((uint64_t)10000000000)

◆ FINAL_SUBSIDY_PER_MINUTE

#define FINAL_SUBSIDY_PER_MINUTE   ((uint64_t)300000000000)

◆ HASH_OF_HASHES_STEP

#define HASH_OF_HASHES_STEP   512

◆ HF_VERSION_2021_SCALING

#define HF_VERSION_2021_SCALING   15

◆ HF_VERSION_BULLETPROOF_PLUS

#define HF_VERSION_BULLETPROOF_PLUS   15

◆ HF_VERSION_CLSAG

#define HF_VERSION_CLSAG   13

◆ HF_VERSION_DETERMINISTIC_UNLOCK_TIME

#define HF_VERSION_DETERMINISTIC_UNLOCK_TIME   13

◆ HF_VERSION_DYNAMIC_FEE

#define HF_VERSION_DYNAMIC_FEE   4

◆ HF_VERSION_EFFECTIVE_SHORT_TERM_MEDIAN_IN_PENALTY

#define HF_VERSION_EFFECTIVE_SHORT_TERM_MEDIAN_IN_PENALTY   12

◆ HF_VERSION_ENFORCE_MIN_AGE

#define HF_VERSION_ENFORCE_MIN_AGE   12

◆ HF_VERSION_ENFORCE_RCT

#define HF_VERSION_ENFORCE_RCT   6

◆ HF_VERSION_EXACT_COINBASE

#define HF_VERSION_EXACT_COINBASE   13

◆ HF_VERSION_LONG_TERM_BLOCK_WEIGHT

#define HF_VERSION_LONG_TERM_BLOCK_WEIGHT   10

◆ HF_VERSION_MIN_2_OUTPUTS

#define HF_VERSION_MIN_2_OUTPUTS   12

◆ HF_VERSION_MIN_MIXIN_10

#define HF_VERSION_MIN_MIXIN_10   8

◆ HF_VERSION_MIN_MIXIN_15

#define HF_VERSION_MIN_MIXIN_15   15

◆ HF_VERSION_MIN_MIXIN_4

#define HF_VERSION_MIN_MIXIN_4   6

◆ HF_VERSION_MIN_MIXIN_6

#define HF_VERSION_MIN_MIXIN_6   7

◆ HF_VERSION_MIN_V2_COINBASE_TX

#define HF_VERSION_MIN_V2_COINBASE_TX   12

◆ HF_VERSION_PER_BYTE_FEE

#define HF_VERSION_PER_BYTE_FEE   8

◆ HF_VERSION_REJECT_SIGS_IN_COINBASE

#define HF_VERSION_REJECT_SIGS_IN_COINBASE   12

◆ HF_VERSION_SAME_MIXIN

#define HF_VERSION_SAME_MIXIN   12

◆ HF_VERSION_SMALLER_BP

#define HF_VERSION_SMALLER_BP   10

◆ HF_VERSION_VIEW_TAGS

#define HF_VERSION_VIEW_TAGS   15

◆ MAX_RPC_CONTENT_LENGTH

#define MAX_RPC_CONTENT_LENGTH   1048576

◆ MAX_TX_EXTRA_SIZE

#define MAX_TX_EXTRA_SIZE   1060

◆ MINER_CONFIG_FILE_NAME

#define MINER_CONFIG_FILE_NAME   "miner_conf.json"

◆ MONEY_SUPPLY

#define MONEY_SUPPLY   ((uint64_t)(-1))

◆ ORPHANED_BLOCKS_MAX_COUNT

#define ORPHANED_BLOCKS_MAX_COUNT   100

◆ P2P_DEFAULT_ANCHOR_CONNECTIONS_COUNT

#define P2P_DEFAULT_ANCHOR_CONNECTIONS_COUNT   2

◆ P2P_DEFAULT_CONNECTION_TIMEOUT

#define P2P_DEFAULT_CONNECTION_TIMEOUT   5000

◆ P2P_DEFAULT_CONNECTIONS_COUNT

#define P2P_DEFAULT_CONNECTIONS_COUNT   12

◆ P2P_DEFAULT_HANDSHAKE_INTERVAL

#define P2P_DEFAULT_HANDSHAKE_INTERVAL   60

◆ P2P_DEFAULT_HANDSHAKE_INVOKE_TIMEOUT

#define P2P_DEFAULT_HANDSHAKE_INVOKE_TIMEOUT   5000

◆ P2P_DEFAULT_INVOKE_TIMEOUT

#define P2P_DEFAULT_INVOKE_TIMEOUT   60*2*1000

◆ P2P_DEFAULT_LIMIT_RATE_DOWN

#define P2P_DEFAULT_LIMIT_RATE_DOWN   32768

◆ P2P_DEFAULT_LIMIT_RATE_UP

#define P2P_DEFAULT_LIMIT_RATE_UP   8192

◆ P2P_DEFAULT_PACKET_MAX_SIZE

#define P2P_DEFAULT_PACKET_MAX_SIZE   50000000

◆ P2P_DEFAULT_PEERS_IN_HANDSHAKE

#define P2P_DEFAULT_PEERS_IN_HANDSHAKE   250

◆ P2P_DEFAULT_PING_CONNECTION_TIMEOUT

#define P2P_DEFAULT_PING_CONNECTION_TIMEOUT   2000

◆ P2P_DEFAULT_SOCKS_CONNECT_TIMEOUT

#define P2P_DEFAULT_SOCKS_CONNECT_TIMEOUT   45

◆ P2P_DEFAULT_SYNC_SEARCH_CONNECTIONS_COUNT

#define P2P_DEFAULT_SYNC_SEARCH_CONNECTIONS_COUNT   2

◆ P2P_DEFAULT_WHITELIST_CONNECTIONS_PERCENT

#define P2P_DEFAULT_WHITELIST_CONNECTIONS_PERCENT   70

◆ P2P_FAILED_ADDR_FORGET_SECONDS

#define P2P_FAILED_ADDR_FORGET_SECONDS   (60*60)

◆ P2P_IDLE_CONNECTION_KILL_INTERVAL

#define P2P_IDLE_CONNECTION_KILL_INTERVAL   (5*60)

◆ P2P_IP_BLOCKTIME

#define P2P_IP_BLOCKTIME   (60*60*24)

◆ P2P_IP_FAILS_BEFORE_BLOCK

#define P2P_IP_FAILS_BEFORE_BLOCK   10

◆ P2P_LOCAL_GRAY_PEERLIST_LIMIT

#define P2P_LOCAL_GRAY_PEERLIST_LIMIT   5000

◆ P2P_LOCAL_WHITE_PEERLIST_LIMIT

#define P2P_LOCAL_WHITE_PEERLIST_LIMIT   1000

◆ P2P_MAX_PEERS_IN_HANDSHAKE

#define P2P_MAX_PEERS_IN_HANDSHAKE   250

◆ P2P_NET_DATA_FILENAME

#define P2P_NET_DATA_FILENAME   "p2pstate.bin"

◆ P2P_SUPPORT_FLAG_FLUFFY_BLOCKS

#define P2P_SUPPORT_FLAG_FLUFFY_BLOCKS   0x01

◆ P2P_SUPPORT_FLAGS

#define P2P_SUPPORT_FLAGS   P2P_SUPPORT_FLAG_FLUFFY_BLOCKS

◆ PER_KB_FEE_QUANTIZATION_DECIMALS

#define PER_KB_FEE_QUANTIZATION_DECIMALS   8

◆ RPC_CREDITS_PER_HASH_SCALE

#define RPC_CREDITS_PER_HASH_SCALE   ((float)(1<<24))

◆ RPC_IP_FAILS_BEFORE_BLOCK

#define RPC_IP_FAILS_BEFORE_BLOCK   3

◆ RPC_PAYMENTS_DATA_FILENAME

#define RPC_PAYMENTS_DATA_FILENAME   "rpcpayments.bin"

◆ THREAD_STACK_SIZE

#define THREAD_STACK_SIZE   5 * 1024 * 1024