Monero
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Enumerations | Functions | Variables
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_tcryptonote::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