3 #include <fc/fixed_string.hpp>
4 #include <fc/static_variant.hpp>
5 #include <fc/shared_containers.hpp>
13 #include <boost/multi_index/composite_key.hpp>
14 #include <boost/multi_index/hashed_index.hpp>
15 #include <boost/uuid/uuid.hpp>
33 time_point_sec
created = time_point_sec::min();
34 time_point_sec
start = time_point_sec::min();
35 time_point_sec
deadline = time_point_sec::maximum();
55 template <budget_type budget_type_v>
56 class adv_budget_object :
public object<budget_traits<budget_type_v>::object_type_v, adv_budget_object<budget_type_v>>
67 fc::shared_string json_metadata;
69 time_point_sec
created = time_point_sec::min();
70 time_point_sec
start = time_point_sec::min();
71 time_point_sec
deadline = time_point_sec::maximum();
76 fc::time_point_sec cashout_time = time_point_sec::min();
80 bool is_positive_balance()
const
90 template <
typename TBudgetObject>
using id_t =
typename TBudgetObject::id_type;
95 indexed_by<ordered_unique<tag<by_id>,
100 struct by_cashout_time;
104 template <budget_type budget_type_v>
106 = shared_multi_index_container<adv_budget_object<budget_type_v>,
107 indexed_by<ordered_unique<tag<by_id>,
108 member<adv_budget_object<budget_type_v>,
111 hashed_unique<tag<by_uuid>,
112 member<adv_budget_object<budget_type_v>,
115 ordered_non_unique<tag<by_owner_name>,
116 member<adv_budget_object<budget_type_v>,
119 ordered_non_unique<tag<by_balances>,
120 composite_key<adv_budget_object<budget_type_v>,
121 member<adv_budget_object<budget_type_v>,
124 member<adv_budget_object<budget_type_v>,
127 member<adv_budget_object<budget_type_v>,
130 ordered_non_unique<tag<by_cashout_time>,
131 member<adv_budget_object<budget_type_v>,
134 ordered_unique<tag<by_per_block>,
135 composite_key<adv_budget_object<budget_type_v>,
136 const_mem_fun<adv_budget_object<budget_type_v>,
139 member<adv_budget_object<budget_type_v>,
142 member<adv_budget_object<budget_type_v>,
145 composite_key_compare<std::greater<bool>,
147 std::less<id_t<adv_budget_object<budget_type_v>>>>>>>;
172 (owner_pending_income)
173 (budget_pending_outgo))
185 (owner_pending_income)
186 (budget_pending_outgo))
object< fund_budget_object_type, fund_budget_object >::id_type id_type
FC_REFLECT(appender_args,(appender)(stream)) FC_REFLECT_DERIVED(file_appender_args
shared_multi_index_container< fund_budget_object, indexed_by< ordered_unique< tag< by_id >, member< fund_budget_object, fund_budget_object::id_type, &fund_budget_object::id > >> > fund_budget_index
shared_multi_index_container< adv_budget_object< budget_type_v >, indexed_by< ordered_unique< tag< by_id >, member< adv_budget_object< budget_type_v >, id_t< adv_budget_object< budget_type_v > >, &adv_budget_object< budget_type_v >::id > >, hashed_unique< tag< by_uuid >, member< adv_budget_object< budget_type_v >, uuid_type, &adv_budget_object< budget_type_v >::uuid > >, ordered_non_unique< tag< by_owner_name >, member< adv_budget_object< budget_type_v >, account_name_type, &adv_budget_object< budget_type_v >::owner > >, ordered_non_unique< tag< by_balances >, composite_key< adv_budget_object< budget_type_v >, member< adv_budget_object< budget_type_v >, asset, &adv_budget_object< budget_type_v >::balance >, member< adv_budget_object< budget_type_v >, asset, &adv_budget_object< budget_type_v >::owner_pending_income >, member< adv_budget_object< budget_type_v >, asset, &adv_budget_object< budget_type_v >::budget_pending_outgo > >>, ordered_non_unique< tag< by_cashout_time >, member< adv_budget_object< budget_type_v >, fc::time_point_sec, &adv_budget_object< budget_type_v >::cashout_time > >, ordered_unique< tag< by_per_block >, composite_key< adv_budget_object< budget_type_v >, const_mem_fun< adv_budget_object< budget_type_v >, bool, &adv_budget_object< budget_type_v >::is_positive_balance >, member< adv_budget_object< budget_type_v >, asset, &adv_budget_object< budget_type_v >::per_block >, member< adv_budget_object< budget_type_v >, id_t< adv_budget_object< budget_type_v > >, &adv_budget_object< budget_type_v >::id > >, composite_key_compare< std::greater< bool >, std::greater< asset >, std::less< id_t< adv_budget_object< budget_type_v > >> >> >> adv_budget_index
@ fund_budget_object_type
@ post_budget_object_type
@ banner_budget_object_type
adv_budget_index< budget_type::banner > banner_budget_index
typename TBudgetObject::id_type id_t
adv_budget_index< budget_type::post > post_budget_index
@ post
Rate limiting posting reward eligibility over time.
fc::fixed_string_16 account_name_type
boost::uuids::uuid uuid_type