dpp/data_contract/group/accessors/v0/
mod.rs1use crate::data_contract::group::GroupRequiredPower;
2use crate::ProtocolError;
3use platform_value::Identifier;
4use std::collections::BTreeMap;
5
6pub trait GroupV0Getters {
8 fn member_power(&self, member_id: Identifier) -> Result<u32, ProtocolError>;
10 fn members(&self) -> &BTreeMap<Identifier, u32>;
12
13 fn members_mut(&mut self) -> &mut BTreeMap<Identifier, u32>;
15
16 fn required_power(&self) -> GroupRequiredPower;
18}
19
20pub trait GroupV0Setters {
22 fn set_members(&mut self, members: BTreeMap<Identifier, u32>);
24
25 fn set_member_power(&mut self, member_id: Identifier, power: u32);
27
28 fn remove_member(&mut self, member_id: &Identifier) -> bool;
30
31 fn set_required_power(&mut self, required_power: GroupRequiredPower);
33}