Scorum
chain_api_objects.hpp
Go to the documentation of this file.
1 #pragma once
2 
10 
12 
13 namespace scorum {
14 namespace app {
15 
16 using namespace scorum::protocol;
17 
19 {
21  {
22  }
23 
24  template <class FundType>
25  reward_fund_api_obj(const FundType& obj)
26  : activity_reward_balance(obj.activity_reward_balance)
27  , recent_claims(obj.recent_claims)
28  , last_update(obj.last_update)
29  , author_reward_curve(obj.author_reward_curve)
30  , curation_reward_curve(obj.curation_reward_curve)
31  {
32  }
33 
34  asset activity_reward_balance; // in SCR or SP
35  fc::uint128_t recent_claims = 0;
36  time_point_sec last_update;
39 };
40 
42 {
44  fc::time_point_sec live_time;
45 };
46 
47 struct chain_properties_api_obj : public api_obj<scorum::witness::reserve_ratio_object>
48 {
49  template <class T> chain_properties_api_obj& operator=(const T& other)
50  {
51  T& base = static_cast<T&>(*this);
52  base = other;
53  return *this;
54  }
55 
57 
59 
60  uint32_t head_block_number = 0;
61 
62  uint32_t last_irreversible_block_number = 0;
63 
69  uint64_t current_aslot = 0;
70 
71  time_point_sec time;
72 
74 
85 
87 
89 };
90 
92 {
93  uint32_t head_block_number = 0;
95  time_point_sec head_block_time;
97 
99  asset total_supply = asset(0, SCORUM_SYMBOL);
100 
102  asset circulating_scr = asset(0, SCORUM_SYMBOL);
103 
105  asset circulating_sp = asset(0, SP_SYMBOL);
106 
108  asset circulating_capital = asset(0, SCORUM_SYMBOL);
109 
111  asset total_scr = asset(0, SCORUM_SYMBOL);
112 
114  asset total_scorumpower = asset(0, SP_SYMBOL);
115 
116  asset registration_pool_balance = asset(0, SCORUM_SYMBOL);
117  asset registration_pool_delegated = asset(0, SP_SYMBOL);
118  asset fund_budget_balance = asset(0, SP_SYMBOL);
119  asset dev_pool_scr_balance = asset(0, SCORUM_SYMBOL);
120  asset dev_pool_sp_balance = asset(0, SP_SYMBOL);
121 
122  asset content_balancer_scr = asset(0, SCORUM_SYMBOL);
123  asset active_voters_balancer_scr = asset(0, SCORUM_SYMBOL);
124  asset active_voters_balancer_sp = asset(0, SP_SYMBOL);
125 
126  asset content_reward_fund_scr_balance = asset(0, SCORUM_SYMBOL);
127  asset content_reward_fund_sp_balance = asset(0, SP_SYMBOL);
128  asset content_reward_fifa_world_cup_2018_bounty_fund_sp_balance = asset(0, SP_SYMBOL);
129 
130  asset total_witness_reward_scr = asset(0, SCORUM_SYMBOL);
131  asset total_witness_reward_sp = asset(0, SP_SYMBOL);
132  asset witness_reward_in_sp_migration_fund = asset(0, SP_SYMBOL);
133 
135  asset total_pending_scr = asset(0, SCORUM_SYMBOL);
137  asset total_pending_sp = asset(0, SP_SYMBOL);
138 
141 };
142 }
143 }
144 
145 // clang-format off
147  (activity_reward_balance)
148  (recent_claims)
149  (last_update)
150  (author_reward_curve)
151  (curation_reward_curve))
152 
154  (hf_version)
155  (live_time))
156 
157 FC_REFLECT_DERIVED(scorum::app::chain_properties_api_obj,
159  (chain_id)
160  (head_block_id)
161  (head_block_number)
162  (last_irreversible_block_number)
163  (current_aslot)
164  (time)
165  (current_witness)
166  (median_chain_props)
167  (majority_version)
168  (hf_version))
169 
171  (head_block_number)
172  (head_block_id)
173  (head_block_time)
174  (current_witness)
175  (total_supply)
176  (circulating_scr)
177  (circulating_sp)
178  (circulating_capital)
179  (total_scr)
180  (total_scorumpower)
181  (registration_pool_balance)
182  (registration_pool_delegated)
183  (fund_budget_balance)
184  (dev_pool_scr_balance)
185  (dev_pool_sp_balance)
186  (content_balancer_scr)
187  (active_voters_balancer_scr)
188  (active_voters_balancer_sp)
189  (content_reward_fund_scr_balance)
190  (content_reward_fund_sp_balance)
191  (content_reward_fifa_world_cup_2018_bounty_fund_sp_balance)
192  (total_witness_reward_scr)
193  (total_witness_reward_sp)
194  (witness_reward_in_sp_migration_fund)
195  (total_pending_scr)
196  (total_pending_sp)
197  (advertising)
198  (betting_stats))
199 // clang-format on
#define SP_SYMBOL
Definition: config.hpp:104
#define SCORUM_SYMBOL
Definition: config.hpp:102
FC_REFLECT(appender_args,(appender)(stream)) FC_REFLECT_DERIVED(file_appender_args
fc::fixed_string_16 account_name_type
Definition: types.hpp:62
fc::sha256 chain_id_type
Definition: types.hpp:61
fc::ripemd160 block_id_type
Definition: types.hpp:63
Definition: asset.cpp:15
scorum::chain::betting_total_stats betting_stats
scorum::chain::adv_total_stats advertising
chain_properties_api_obj & operator=(const T &other)
reward_fund_api_obj(const FundType &obj)