7 class fund_budget_object;
8 template <budget_type>
class adv_budget_object;
13 time_point_sec deadline,
14 time_point_sec block_time_sec,
15 const asset& balance);
35 create_budget(
const asset& balance, fc::time_point_sec start, fc::time_point_sec end)
override;
43 template <budget_type budget_type_v>
55 fc::time_point_sec start,
56 fc::time_point_sec end,
57 const std::string& json_metadata)
70 uint32_t limit)
const = 0;
75 const asset& owner_incoming,
76 const asset& budget_outgoing)
101 template <budget_type budget_type_v>
116 const asset& balance,
117 fc::time_point_sec start_date,
118 fc::time_point_sec end_date,
119 const std::string& json_metadata)
override;
135 uint32_t limit)
const override;
140 const asset& owner_incoming,
141 const asset& budget_outgoing)
override;
tracks the blockchain state in an extensible manner
const adv_budget_object< budget_type_v > * find(const oid< adv_budget_object< budget_type_v >> &id) const override
budgets_type get_budgets() const override
std::set< std::string > lookup_budget_owners(const std::string &lower_bound_owner_name, uint32_t limit) const override
typename adv_budget_service_i< budget_type_v >::budgets_type budgets_type
void finish_budget(const uuid_type &uuid) override
const adv_budget_object< budget_type_v > & create_budget(const uuid_type &uuid, const account_name_type &owner, const asset &balance, fc::time_point_sec start_date, fc::time_point_sec end_date, const std::string &json_metadata) override
budgets_type get_pending_budgets() const override
budgets_type get_top_budgets(const fc::time_point_sec &until, uint16_t limit) const override
void update_pending_payouts(const adv_budget_object< budget_type_v > &budget, const asset &owner_incoming, const asset &budget_outgoing) override
budgets_type get_empty_budgets() const override
asset allocate_cash(const adv_budget_object< budget_type_v > &budget) override
dbs_advertising_budget(database &db)
asset perform_pending_payouts(const budgets_type &budgets) override
asset allocate_cash(const fund_budget_object &budget) override
dbs_fund_budget(database &db)
const fund_budget_object & create_budget(const asset &balance, fc::time_point_sec start, fc::time_point_sec end) override
virtual const object_type & get() const override
virtual bool is_exists() const override
asset adv_calculate_per_block(time_point_sec start, time_point_sec deadline, time_point_sec block_time_sec, const asset &balance)
asset fund_calculate_per_block(time_point_sec start, time_point_sec deadline, const asset &balance)
@ post
Rate limiting posting reward eligibility over time.
fc::fixed_string_16 account_name_type
boost::uuids::uuid uuid_type
virtual budgets_type get_top_budgets(const fc::time_point_sec &until) const =0
virtual budgets_type get_budgets(const account_name_type &owner) const =0
typename base_service_i< adv_budget_object< budget_type_v > >::object_cref_type budget_cref_type
virtual budgets_type get_budgets() const =0
virtual const adv_budget_object< budget_type_v > * find(const oid< adv_budget_object< budget_type_v >> &) const =0
virtual bool is_exists(const uuid_type &uuid) const =0
virtual budgets_type get_top_budgets(const fc::time_point_sec &until, uint16_t limit) const =0
virtual const adv_budget_object< budget_type_v > & get(const uuid_type &uuid) const =0
virtual void finish_budget(const uuid_type &uuid)=0
virtual budgets_type get_empty_budgets() const =0
virtual void update_pending_payouts(const adv_budget_object< budget_type_v > &budget, const asset &owner_incoming, const asset &budget_outgoing)=0
virtual budgets_type get_pending_budgets() const =0
virtual const adv_budget_object< budget_type_v > & get(const oid< adv_budget_object< budget_type_v >> &) const =0
std::vector< budget_cref_type > budgets_type
virtual asset perform_pending_payouts(const budgets_type &budgets)=0
virtual const adv_budget_object< budget_type_v > & create_budget(const uuid_type &uuid, const account_name_type &owner, const asset &balance, fc::time_point_sec start, fc::time_point_sec end, const std::string &json_metadata)=0
virtual std::set< std::string > lookup_budget_owners(const std::string &lower_bound_owner_name, uint32_t limit) const =0
virtual asset allocate_cash(const adv_budget_object< budget_type_v > &budget)=0
virtual bool is_exists() const=0
virtual const object_type & get() const=0
std::reference_wrapper< const object_type > object_cref_type
virtual const fund_budget_object & create_budget(const asset &balance, fc::time_point_sec start, fc::time_point_sec end)=0
virtual asset allocate_cash(const fund_budget_object &budget)=0