mirror of
https://github.com/monero-project/monero.git
synced 2025-08-10 16:00:16 -04:00
cryptonote_config: add get_config to refactor x = testnet ? config::testnet::X : stagenet ? config::stagenet::X : config::X
This commit is contained in:
parent
25e7a7d96f
commit
08b85a8e00
6 changed files with 70 additions and 44 deletions
|
@ -203,4 +203,60 @@ namespace cryptonote
|
|||
FAKECHAIN,
|
||||
UNDEFINED = 255
|
||||
};
|
||||
struct config_t
|
||||
{
|
||||
uint64_t const CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX;
|
||||
uint64_t const CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX;
|
||||
uint64_t const CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX;
|
||||
uint16_t const P2P_DEFAULT_PORT;
|
||||
uint16_t const RPC_DEFAULT_PORT;
|
||||
uint16_t const ZMQ_RPC_DEFAULT_PORT;
|
||||
boost::uuids::uuid const NETWORK_ID;
|
||||
std::string const GENESIS_TX;
|
||||
uint32_t const GENESIS_NONCE;
|
||||
};
|
||||
inline const config_t& get_config(network_type nettype)
|
||||
{
|
||||
static const config_t mainnet = {
|
||||
::config::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX,
|
||||
::config::CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX,
|
||||
::config::CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX,
|
||||
::config::P2P_DEFAULT_PORT,
|
||||
::config::RPC_DEFAULT_PORT,
|
||||
::config::ZMQ_RPC_DEFAULT_PORT,
|
||||
::config::NETWORK_ID,
|
||||
::config::GENESIS_TX,
|
||||
::config::GENESIS_NONCE
|
||||
};
|
||||
static const config_t testnet = {
|
||||
::config::testnet::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX,
|
||||
::config::testnet::CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX,
|
||||
::config::testnet::CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX,
|
||||
::config::testnet::P2P_DEFAULT_PORT,
|
||||
::config::testnet::RPC_DEFAULT_PORT,
|
||||
::config::testnet::ZMQ_RPC_DEFAULT_PORT,
|
||||
::config::testnet::NETWORK_ID,
|
||||
::config::testnet::GENESIS_TX,
|
||||
::config::testnet::GENESIS_NONCE
|
||||
};
|
||||
static const config_t stagenet = {
|
||||
::config::stagenet::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX,
|
||||
::config::stagenet::CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX,
|
||||
::config::stagenet::CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX,
|
||||
::config::stagenet::P2P_DEFAULT_PORT,
|
||||
::config::stagenet::RPC_DEFAULT_PORT,
|
||||
::config::stagenet::ZMQ_RPC_DEFAULT_PORT,
|
||||
::config::stagenet::NETWORK_ID,
|
||||
::config::stagenet::GENESIS_TX,
|
||||
::config::stagenet::GENESIS_NONCE
|
||||
};
|
||||
switch (nettype)
|
||||
{
|
||||
case MAINNET: return mainnet;
|
||||
case TESTNET: return testnet;
|
||||
case STAGENET: return stagenet;
|
||||
case FAKECHAIN: return mainnet;
|
||||
default: throw std::runtime_error("Invalid network type");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue