TARAXA
Loading...
Searching...
No Matches
state_config.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
6#include "common/types.hpp"
8#include "config/hardfork.hpp"
9
11
12static constexpr auto BlockNumberNIL = std::numeric_limits<EthBlockNumber>::max();
13
15 uint64_t chain_id = 0;
17};
18Json::Value enc_json(const EVMChainConfig& obj);
19void dec_json(const Json::Value& json, uint64_t chain_id, EVMChainConfig& obj);
20
21using BalanceMap = std::map<addr_t, u256>;
22Json::Value enc_json(const BalanceMap& obj);
23void dec_json(const Json::Value& json, BalanceMap& obj);
24
36Json::Value enc_json(const ValidatorInfo& obj);
37void dec_json(const Json::Value& json, ValidatorInfo& obj);
38
39struct DPOSConfig {
47 uint32_t commission_change_frequency = 0; // number of blocks
48 uint32_t delegation_delay = 5; // number of blocks
49 uint32_t delegation_locking_period = 5; // number of blocks
50 uint32_t blocks_per_year = 0; // number of blocks - it is calculated from lambda_ms
51 uint16_t yield_percentage = 0; // [%]
52 std::vector<ValidatorInfo> initial_validators;
53
55};
56Json::Value enc_json(const DPOSConfig& obj);
57void dec_json(const Json::Value& json, DPOSConfig& obj);
58
68void append_json(Json::Value& json, const Config& obj);
69void dec_json(const Json::Value& json, Config& obj);
70
77
84
85} // namespace taraxa::state_api
Definition FixedHash.h:35
Class for writing to an RLP bytestream.
Definition RLP.h:484
#define HAS_RLP_FIELDS
Definition encoding_rlp.hpp:208
Definition state_config.hpp:10
u256 validator_maximum_stake
Definition state_config.hpp:42
std::string db_path
Definition state_config.hpp:79
void dec_json(const Json::Value &json, uint64_t chain_id, EVMChainConfig &obj)
Definition state_config.cpp:15
bool disable_most_recent_trie_value_views
Definition state_config.hpp:80
uint64_t chain_id
Definition state_config.hpp:15
Json::Value enc_json(const EVMChainConfig &obj)
Definition state_config.cpp:9
std::map< addr_t, u256 > BalanceMap
Definition state_config.hpp:21
std::string description
Definition state_config.hpp:31
uint16_t commission
Definition state_config.hpp:29
uint16_t dag_proposers_reward
Definition state_config.hpp:45
vrf_wrapper::vrf_pk_t vrf_key
Definition state_config.hpp:28
uint32_t delegation_delay
Definition state_config.hpp:48
uint32_t expected_max_trx_per_block
Definition state_config.hpp:72
BalanceMap delegations
Definition state_config.hpp:32
uint16_t commission_change_delta
Definition state_config.hpp:46
void append_json(Json::Value &json, const Config &obj)
Definition state_config.cpp:23
std::vector< ValidatorInfo > initial_validators
Definition state_config.hpp:52
uint32_t delegation_locking_period
Definition state_config.hpp:49
static constexpr auto BlockNumberNIL
Definition state_config.hpp:12
u256 vote_eligibility_balance_step
Definition state_config.hpp:41
std::string endpoint
Definition state_config.hpp:30
uint32_t commission_change_frequency
Definition state_config.hpp:47
uint32_t blocks_per_year
Definition state_config.hpp:50
uint8_t max_trie_full_node_levels_to_cache
Definition state_config.hpp:73
addr_t owner
Definition state_config.hpp:27
addr_t address
Definition state_config.hpp:26
u256 minimum_deposit
Definition state_config.hpp:43
uint16_t max_block_author_reward
Definition state_config.hpp:44
u256 eligibility_balance_threshold
Definition state_config.hpp:40
uint16_t yield_percentage
Definition state_config.hpp:51
Definition state_config.hpp:39
Definition state_config.hpp:14
Definition state_config.hpp:71
Definition state_config.hpp:78
Definition state_config.hpp:25
Definition hardfork.hpp:114
Definition state_config.hpp:59
BalanceMap initial_balances
Definition state_config.hpp:61
void rlp_without_hardforks(util::RLPEncoderRef encoding) const
Definition state_config.cpp:19
EVMChainConfig evm_chain_config
Definition state_config.hpp:60
HardforksConfig hardforks
Definition state_config.hpp:63
DPOSConfig dpos
Definition state_config.hpp:62