BitShares-Core
7.0.2
BitShares blockchain node software and command-line wallet software
libraries
chain
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
25
#include <
graphene/protocol/fee_schedule.hpp
>
26
27
#include <
graphene/chain/balance_object.hpp
>
28
#include <
graphene/chain/block_summary_object.hpp
>
29
#include <
graphene/chain/budget_record_object.hpp
>
30
#include <
graphene/chain/buyback_object.hpp
>
31
#include <
graphene/chain/chain_property_object.hpp
>
32
#include <
graphene/chain/committee_member_object.hpp
>
33
#include <
graphene/chain/confidential_object.hpp
>
34
#include <
graphene/chain/credit_offer_object.hpp
>
35
#include <
graphene/chain/fba_object.hpp
>
36
#include <
graphene/chain/global_property_object.hpp
>
37
#include <
graphene/chain/htlc_object.hpp
>
38
#include <
graphene/chain/liquidity_pool_object.hpp
>
39
#include <
graphene/chain/operation_history_object.hpp
>
40
#include <
graphene/chain/samet_fund_object.hpp
>
41
#include <
graphene/chain/special_authority_object.hpp
>
42
#include <
graphene/chain/transaction_history_object.hpp
>
43
#include <
graphene/chain/withdraw_permission_object.hpp
>
44
#include <
graphene/chain/witness_object.hpp
>
45
#include <
graphene/chain/witness_schedule_object.hpp
>
46
#include <
graphene/chain/worker_object.hpp
>
47
#include <
graphene/chain/custom_authority_object.hpp
>
48
49
#include <
fc/io/raw.hpp
>
50
51
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::balance_object
, (
graphene::db::object
),
52
(owner)(balance)(
vesting_policy
)(last_claim_date) )
53
54
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::block_summary_object
, (
graphene::db::object
), (block_id) )
55
56
FC_REFLECT_DERIVED_NO_TYPENAME
(
57
graphene::chain::budget_record
, BOOST_PP_SEQ_NIL,
58
(time_since_last_budget)
59
(from_initial_reserve)
60
(from_accumulated_fees)
61
(from_unused_witness_budget)
62
(requested_witness_budget)
63
(total_budget)
64
(witness_budget)
65
(worker_budget)
66
(leftover_worker_funds)
67
(supply_delta)
68
(max_supply)
69
(current_supply)
70
)
71
72
FC_REFLECT_DERIVED_NO_TYPENAME
(
73
graphene::chain::budget_record_object
,
74
(
graphene::db::object
),
75
(time)
76
(record)
77
)
78
79
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::buyback_object
, (
graphene::db::object
), (asset_to_buy) )
80
81
82
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::immutable_chain_parameters
, BOOST_PP_SEQ_NIL,
83
(min_committee_member_count)
84
(min_witness_count)
85
(num_special_accounts)
86
(num_special_assets)
87
)
88
89
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::chain_property_object
, (
graphene::db::object
),
90
(chain_id)
91
(immutable_parameters)
92
)
93
94
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::committee_member_object
, (
graphene::db::object
),
95
(committee_member_account)(vote_id)(total_votes)(url) )
96
97
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::blinded_balance_object
, (
graphene::db::object
),
98
(commitment)(asset_id)(owner) )
99
100
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::fba_accumulator_object
, (
graphene::db::object
),
101
(accumulated_fba_fees)(designated_asset) )
102
103
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::dynamic_global_property_object
, (
graphene::db::object
),
104
(head_block_number)
105
(head_block_id)
106
(time)
107
(current_witness)
108
(next_maintenance_time)
109
(last_vote_tally_time)
110
(last_budget_time)
111
(witness_budget)
112
(total_pob)
113
(total_inactive)
114
(accounts_registered_this_interval)
115
(recently_missed_count)
116
(current_aslot)
117
(recent_slots_filled)
118
(dynamic_flags)
119
(last_irreversible_block_num)
120
)
121
122
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::global_property_object
, (
graphene::db::object
),
123
(parameters)
124
(pending_parameters)
125
(next_available_vote_id)
126
(active_committee_members)
127
(active_witnesses)
128
)
129
130
FC_REFLECT
(
graphene::chain::htlc_object::transfer_info
,
131
(from) (to) (amount) (asset_id) )
132
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::htlc_object::condition_info::hash_lock_info
, BOOST_PP_SEQ_NIL,
133
(preimage_hash) (preimage_size) )
134
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::htlc_object::condition_info::time_lock_info
, BOOST_PP_SEQ_NIL,
135
(expiration) )
136
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::htlc_object::condition_info
, BOOST_PP_SEQ_NIL,
137
(hash_lock)(time_lock) )
138
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::htlc_object
, (
graphene::db::object
),
139
(transfer) (conditions) (memo) )
140
141
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::operation_history_object
, (
graphene::chain::object
),
142
(op)(result)(block_num)(trx_in_block)(op_in_trx)(virtual_op)(is_virtual)(block_time) )
143
144
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::account_history_object
, (
graphene::chain::object
),
145
(account)(operation_id)(sequence)(next) )
146
147
FC_REFLECT_DERIVED_NO_TYPENAME
(
148
graphene::chain::special_authority_object
,
149
(
graphene::db::object
),
150
(account)
151
)
152
153
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::transaction_history_object
, (
graphene::db::object
), (trx)(trx_id) )
154
155
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::withdraw_permission_object
, (
graphene::db::object
),
156
(withdraw_from_account)
157
(authorized_account)
158
(withdrawal_limit)
159
(withdrawal_period_sec)
160
(period_start_time)
161
(expiration)
162
(claimed_this_period)
163
)
164
165
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::witness_object
, (
graphene::db::object
),
166
(witness_account)
167
(last_aslot)
168
(signing_key)
169
(pay_vb)
170
(vote_id)
171
(total_votes)
172
(url)
173
(total_missed)
174
(last_confirmed_block_num)
175
)
176
177
FC_REFLECT_DERIVED_NO_TYPENAME
(
178
graphene::chain::witness_schedule_object
,
179
(
graphene::db::object
),
180
(current_shuffled_witnesses)
181
)
182
183
184
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::refund_worker_type
, BOOST_PP_SEQ_NIL, (total_burned) )
185
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::vesting_balance_worker_type
, BOOST_PP_SEQ_NIL, (balance) )
186
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::burn_worker_type
, BOOST_PP_SEQ_NIL, (total_burned) )
187
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::worker_object
, (
graphene::db::object
),
188
(worker_account)
189
(work_begin_date)
190
(work_end_date)
191
(daily_pay)
192
(worker)
193
(vote_for)
194
(vote_against)
195
(total_votes_for)
196
(total_votes_against)
197
(name)
198
(url)
199
)
200
201
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::custom_authority_object
, (
graphene::db::object
),
202
(account)(enabled)(valid_from)(valid_to)(operation_type)
203
(auth)(restrictions)(restriction_counter) )
204
205
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::samet_fund_object
, (
graphene::db::object
),
206
(owner_account)
207
(asset_type)
208
(balance)
209
(fee_rate)
210
(unpaid_amount)
211
)
212
213
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::credit_offer_object
, (
graphene::db::object
),
214
(owner_account)
215
(asset_type)
216
(total_balance)
217
(current_balance)
218
(fee_rate)
219
(max_duration_seconds)
220
(min_deal_amount)
221
(enabled)
222
(auto_disable_time)
223
(acceptable_collateral)
224
(acceptable_borrowers)
225
)
226
227
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::credit_deal_object
, (
graphene::db::object
),
228
(borrower)
229
(offer_id)
230
(offer_owner)
231
(debt_asset)
232
(debt_amount)
233
(collateral_asset)
234
(collateral_amount)
235
(fee_rate)
236
(latest_repay_time)
237
(auto_repay)
238
)
239
240
FC_REFLECT_DERIVED_NO_TYPENAME
(
graphene::chain::credit_deal_summary_object
, (
graphene::db::object
),
241
(borrower)
242
(offer_id)
243
(offer_owner)
244
(debt_asset)
245
(total_debt_amount)
246
)
247
248
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::balance_object
)
249
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::block_summary_object
)
250
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::budget_record
)
251
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::budget_record_object
)
252
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::buyback_object
)
253
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::immutable_chain_parameters
)
254
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::chain_property_object
)
255
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::committee_member_object
)
256
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::blinded_balance_object
)
257
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::fba_accumulator_object
)
258
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::dynamic_global_property_object
)
259
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::global_property_object
)
260
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::htlc_object
)
261
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::operation_history_object
)
262
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::account_history_object
)
263
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::special_authority_object
)
264
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::transaction_history_object
)
265
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::withdraw_permission_object
)
266
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::witness_object
)
267
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::witness_schedule_object
)
268
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::worker_object
)
269
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::custom_authority_object
)
270
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::liquidity_pool_object
)
271
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::samet_fund_object
)
272
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::credit_offer_object
)
273
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::credit_deal_object
)
274
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
(
graphene::chain::credit_deal_summary_object
)
graphene::chain::buyback_object
Definition:
buyback_object.hpp:43
liquidity_pool_object.hpp
transaction_history_object.hpp
samet_fund_object.hpp
graphene::chain::dynamic_global_property_object
Maintains global state information (committee_member list, current fees)
Definition:
global_property_object.hpp:62
graphene::chain::credit_deal_object
A credit deal describes the details of a borrower's borrowing of funds from a credit offer.
Definition:
credit_offer_object.hpp:104
graphene::chain::credit_offer_object
A credit offer is a fund that can be used by other accounts who provide certain collateral.
Definition:
credit_offer_object.hpp:39
graphene::chain::block_summary_object
tracks minimal information about past blocks to implement TaPOS
Definition:
block_summary_object.hpp:40
budget_record_object.hpp
graphene::chain::samet_fund_object
A SameT Fund is a fund which can be used by a borrower and have to be repaid in the same transaction.
Definition:
samet_fund_object.hpp:39
graphene::chain::htlc_object::condition_info
Definition:
htlc_object.hpp:50
custom_authority_object.hpp
chain_property_object.hpp
fee_schedule.hpp
graphene::chain::htlc_object::condition_info::hash_lock_info
Definition:
htlc_object.hpp:52
special_authority_object.hpp
GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION
#define GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION(type)
Definition:
types.hpp:86
graphene::chain::custom_authority_object
Tracks account custom authorities.
Definition:
custom_authority_object.hpp:39
worker_object.hpp
graphene::chain::htlc_object::transfer_info
Definition:
htlc_object.hpp:43
graphene::chain::vesting_balance_worker_type
A worker who sends his pay to a vesting balance.
Definition:
worker_object.hpp:74
buyback_object.hpp
graphene::chain::special_authority_object
Definition:
special_authority_object.hpp:42
graphene::chain::transaction_history_object
Definition:
transaction_history_object.hpp:44
graphene::chain::vesting_policy
fc::static_variant< linear_vesting_policy, cdd_vesting_policy, instant_vesting_policy > vesting_policy
Definition:
vesting_balance_object.hpp:141
graphene::chain::credit_deal_summary_object
A credit deal summary describes the summary of a borrower's borrowing of funds from a credit offer.
Definition:
credit_offer_object.hpp:184
htlc_object.hpp
FC_REFLECT_DERIVED_NO_TYPENAME
#define FC_REFLECT_DERIVED_NO_TYPENAME(TYPE, INHERITS, MEMBERS)
Definition:
reflect.hpp:357
graphene::chain::budget_record
Definition:
budget_record_object.hpp:30
committee_member_object.hpp
graphene::chain::blinded_balance_object
tracks a blinded balance commitment
Definition:
confidential_object.hpp:41
credit_offer_object.hpp
graphene::chain::worker_object
Worker object contains the details of a blockchain worker. See The Blockchain Worker System for detai...
Definition:
worker_object.hpp:107
graphene::chain::account_history_object
a node in a linked list of operation_history_objects
Definition:
operation_history_object.hpp:95
graphene::chain::liquidity_pool_object
A liquidity pool.
Definition:
liquidity_pool_object.hpp:44
graphene::chain::htlc_object::condition_info::time_lock_info
Definition:
htlc_object.hpp:57
graphene::chain::immutable_chain_parameters
Definition:
immutable_chain_parameters.hpp:31
operation_history_object.hpp
graphene::chain::withdraw_permission_object
Grants another account authority to withdraw a limited amount of funds per interval.
Definition:
withdraw_permission_object.hpp:45
block_summary_object.hpp
graphene::chain::global_property_object
Maintains global state information (committee_member list, current fees)
Definition:
global_property_object.hpp:40
confidential_object.hpp
graphene::chain::witness_object
Definition:
witness_object.hpp:32
graphene::chain::witness_schedule_object
Definition:
witness_schedule_object.hpp:30
FC_REFLECT
#define FC_REFLECT(TYPE, MEMBERS)
Specializes fc::reflector for TYPE.
Definition:
reflect.hpp:388
graphene::chain::balance_object
Definition:
balance_object.hpp:30
graphene::chain::refund_worker_type
A worker who returns all of his pay to the reserve.
Definition:
worker_object.hpp:61
graphene::chain::budget_record_object
Definition:
budget_record_object.hpp:66
balance_object.hpp
graphene::chain::fba_accumulator_object
Definition:
fba_object.hpp:37
witness_schedule_object.hpp
graphene::chain::chain_property_object
Definition:
chain_property_object.hpp:33
withdraw_permission_object.hpp
fba_object.hpp
witness_object.hpp
graphene::chain::burn_worker_type
A worker who permanently destroys all of his pay.
Definition:
worker_object.hpp:87
global_property_object.hpp
graphene::chain::htlc_object
database object to store HTLCs
Definition:
htlc_object.hpp:40
graphene::chain::operation_history_object
tracks the history of all logical operations on blockchain state
Definition:
operation_history_object.hpp:48
graphene::db::object
base for all database objects
Definition:
object.hpp:61
raw.hpp
graphene::chain::committee_member_object
tracks information about a committee_member account.
Definition:
committee_member_object.hpp:43
Generated on Fri Dec 15 2023 06:12:42 for BitShares-Core by
1.8.17