15 FC_ASSERT(!
is_exists(account_name),
"Member already exists.");
19 db_impl().create<dev_committee_member_object>(
20 [&](dev_committee_member_object& member) { member.account = account_name; });
32 db_impl().modify(
get(), [&](dev_committee_object& m) { m.invite_quorum = quorum; });
37 db_impl().modify(
get(), [&](dev_committee_object& m) { m.dropout_quorum = quorum; });
42 db_impl().modify(
get(), [&](dev_committee_object& m) { m.change_quorum = quorum; });
47 db_impl().modify(
get(), [&](dev_committee_object& m) { m.transfer_quorum = quorum; });
52 db_impl().modify(
get(), [&](dev_committee_object& m) { m.advertising_moderator_quorum = quorum; });
57 db_impl().modify(
get(), [&](dev_committee_object& m) { m.betting_moderator_quorum = quorum; });
62 db_impl().modify(
get(), [&](dev_committee_object& m) { m.betting_resolve_delay_quorum = quorum; });
67 db_impl().modify(
get(), [&](dev_committee_object& m) { m.budgets_auction_properties_quorum = quorum; });
72 return get().invite_quorum;
77 return get().dropout_quorum;
82 return get().change_quorum;
87 return get().transfer_quorum;
92 return get().advertising_moderator_quorum;
97 return get().betting_moderator_quorum;
102 return get().betting_resolve_delay_quorum;
107 return get().budgets_auction_properties_quorum;
112 const auto& idx =
db_impl().get_index<dev_committee_member_index>().indices().get<by_account_name>();
113 return idx.find(account_name) != idx.cend();
118 return db_impl().get_index<dev_committee_member_index>().indices().size();
125 const auto& idx =
db_impl().get_index<dev_committee_member_index>().indices().get<by_id>();
126 for (
auto it = idx.cbegin(); it != idx.cend(); ++it)
128 ret.push_back(std::cref(*it));
138 return db_impl().get<dev_committee_object>();
140 FC_CAPTURE_AND_RETHROW((
"Development committee does not exist."))
147 return db_impl().get<dev_committee_member_object, by_account_name>(account_name);
149 FC_CAPTURE_AND_RETHROW((account_name))
tracks the blockchain state in an extensible manner
dba::db_index & db_impl()
#define SCORUM_DEVELOPMENT_COMMITTEE_MAX_MEMBERS_LIMIT
fc::fixed_string_16 account_name_type
percent_type get_betting_resolve_delay_quorum() override
percent_type get_exclude_member_quorum() override
size_t get_members_count() const override
percent_type get_base_quorum() override
committee_members_cref_type get_committee() const override
bool is_exists(const account_name_type &account_name) const override
void change_advertising_moderator_quorum(const percent_type quorum) override
void change_betting_moderator_quorum(const percent_type quorum) override
void change_base_quorum(const percent_type quorum) override
const dev_committee_member_object & get_member(const account_name_type &account) const override
void change_budgets_auction_properties_quorum(const percent_type quorum) override
percent_type get_transfer_quorum() override
void change_transfer_quorum(const percent_type quorum) override
percent_type get_budgets_auction_properties_quorum() override
percent_type get_add_member_quorum() override
void change_exclude_member_quorum(const percent_type quorum) override
void change_betting_resolve_delay_quorum(const percent_type quorum) override
percent_type get_betting_moderator_quorum() override
void add_member(const account_name_type &account_name) override
percent_type get_advertising_moderator_quorum() override
const dev_committee_object & get() const override
dbs_development_committee(database &db)
void change_add_member_quorum(const percent_type quorum) override
void exclude_member(const account_name_type &account_name) override
std::vector< committee_member_object_cref_type > committee_members_cref_type