BitShares-Core  4.0.0
BitShares blockchain implementation and command-line interface software
small_objects.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019 BitShares Blockchain Foundation, and contributors.
3  *
4  * The MIT License
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in
14  * all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  */
24 
26 
45 
46 #include <fc/io/raw.hpp>
47 
49  (owner)(balance)(vesting_policy)(last_claim_date) )
50 
51 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::block_summary_object, (graphene::db::object), (block_id) )
52 
54  graphene::chain::budget_record, BOOST_PP_SEQ_NIL,
55  (time_since_last_budget)
56  (from_initial_reserve)
57  (from_accumulated_fees)
58  (from_unused_witness_budget)
59  (requested_witness_budget)
60  (total_budget)
61  (witness_budget)
62  (worker_budget)
63  (leftover_worker_funds)
64  (supply_delta)
65 )
66 
68  graphene::chain::budget_record_object,
69  (graphene::db::object),
70  (time)
71  (record)
72 )
73 
74 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::buyback_object, (graphene::db::object), (asset_to_buy) )
75 
76 
77 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::immutable_chain_parameters, BOOST_PP_SEQ_NIL,
78  (min_committee_member_count)
79  (min_witness_count)
80  (num_special_accounts)
81  (num_special_assets)
82 )
83 
84 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::chain_property_object, (graphene::db::object),
85  (chain_id)
86  (immutable_parameters)
87  )
88 
89 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::committee_member_object, (graphene::db::object),
90  (committee_member_account)(vote_id)(total_votes)(url) )
91 
92 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::blinded_balance_object, (graphene::db::object),
93  (commitment)(asset_id)(owner) )
94 
95 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::fba_accumulator_object, (graphene::db::object),
96  (accumulated_fba_fees)(designated_asset) )
97 
98 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::dynamic_global_property_object, (graphene::db::object),
99  (head_block_number)
100  (head_block_id)
101  (time)
102  (current_witness)
103  (next_maintenance_time)
104  (last_budget_time)
105  (witness_budget)
106  (total_pob)
107  (total_inactive)
108  (accounts_registered_this_interval)
109  (recently_missed_count)
110  (current_aslot)
111  (recent_slots_filled)
112  (dynamic_flags)
113  (last_irreversible_block_num)
114  )
115 
116 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::global_property_object, (graphene::db::object),
117  (parameters)
118  (pending_parameters)
119  (next_available_vote_id)
120  (active_committee_members)
121  (active_witnesses)
122  )
123 
124 FC_REFLECT( graphene::chain::htlc_object::transfer_info,
125  (from) (to) (amount) (asset_id) )
126 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::htlc_object::condition_info::hash_lock_info, BOOST_PP_SEQ_NIL,
127  (preimage_hash) (preimage_size) )
128 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::htlc_object::condition_info::time_lock_info, BOOST_PP_SEQ_NIL,
129  (expiration) )
130 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::htlc_object::condition_info, BOOST_PP_SEQ_NIL,
131  (hash_lock)(time_lock) )
132 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::htlc_object, (graphene::db::object),
133  (transfer) (conditions) (memo) )
134 
135 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::operation_history_object, (graphene::chain::object),
136  (op)(result)(block_num)(trx_in_block)(op_in_trx)(virtual_op) )
137 
138 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::account_transaction_history_object, (graphene::chain::object),
139  (account)(operation_id)(sequence)(next) )
140 
142  graphene::chain::special_authority_object,
143  (graphene::db::object),
144  (account)
145 )
146 
147 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::transaction_history_object, (graphene::db::object), (trx)(trx_id) )
148 
149 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::withdraw_permission_object, (graphene::db::object),
150  (withdraw_from_account)
151  (authorized_account)
152  (withdrawal_limit)
153  (withdrawal_period_sec)
154  (period_start_time)
155  (expiration)
156  (claimed_this_period)
157  )
158 
159 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::witness_object, (graphene::db::object),
160  (witness_account)
161  (last_aslot)
162  (signing_key)
163  (pay_vb)
164  (vote_id)
165  (total_votes)
166  (url)
167  (total_missed)
168  (last_confirmed_block_num)
169  )
170 
172  graphene::chain::witness_schedule_object,
173  (graphene::db::object),
174  (current_shuffled_witnesses)
175 )
176 
177 
178 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::refund_worker_type, BOOST_PP_SEQ_NIL, (total_burned) )
179 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::vesting_balance_worker_type, BOOST_PP_SEQ_NIL, (balance) )
180 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::burn_worker_type, BOOST_PP_SEQ_NIL, (total_burned) )
181 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::worker_object, (graphene::db::object),
182  (worker_account)
183  (work_begin_date)
184  (work_end_date)
185  (daily_pay)
186  (worker)
187  (vote_for)
188  (vote_against)
189  (total_votes_for)
190  (total_votes_against)
191  (name)
192  (url)
193  )
194 
195 FC_REFLECT_DERIVED_NO_TYPENAME( graphene::chain::custom_authority_object, (graphene::db::object),
196  (account)(enabled)(valid_from)(valid_to)(operation_type)
197  (auth)(restrictions)(restriction_counter) )
198 
199 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::balance_object )
200 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::block_summary_object )
202 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::budget_record_object )
203 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::buyback_object )
204 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::immutable_chain_parameters )
205 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::chain_property_object )
206 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::committee_member_object )
207 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::blinded_balance_object )
208 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::fba_accumulator_object )
209 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::dynamic_global_property_object )
210 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::global_property_object )
212 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::operation_history_object )
213 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::account_transaction_history_object )
214 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::special_authority_object )
215 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::transaction_history_object )
216 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::withdraw_permission_object )
217 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::witness_object )
218 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::witness_schedule_object )
220 GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION( graphene::chain::custom_authority_object )
fc::static_variant< linear_vesting_policy, cdd_vesting_policy, instant_vesting_policy > vesting_policy
#define FC_REFLECT(TYPE, MEMBERS)
Specializes fc::reflector for TYPE.
Definition: reflect.hpp:386
Definition: api.cpp:56
#define FC_REFLECT_DERIVED_NO_TYPENAME(TYPE, INHERITS, MEMBERS)
Definition: reflect.hpp:356
#define GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION(type)
Definition: types.hpp:74
base for all database objects
Definition: object.hpp:62