dpp/group/group_action/v0/
mod.rs1use crate::data_contract::TokenContractPosition;
2use crate::group::action_event::GroupActionEvent;
3use crate::group::group_action::GroupActionAccessors;
4#[cfg(feature = "json-conversion")]
5use crate::serialization::json_safe_fields;
6use crate::ProtocolError;
7use bincode::{Decode, Encode};
8use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize};
9use platform_value::Identifier;
10#[cfg(feature = "serde-conversion")]
11use serde::{Deserialize, Serialize};
12
13#[cfg_attr(feature = "json-conversion", json_safe_fields)]
14#[derive(
15 Debug, PartialEq, PartialOrd, Clone, Eq, Encode, Decode, PlatformDeserialize, PlatformSerialize,
16)]
17#[cfg_attr(feature = "serde-conversion", derive(Serialize, Deserialize))]
18#[platform_serialize(unversioned)] pub struct GroupActionV0 {
20 pub contract_id: Identifier,
21 pub proposer_id: Identifier,
22 pub token_contract_position: TokenContractPosition,
23 pub event: GroupActionEvent,
24}
25
26impl GroupActionAccessors for GroupActionV0 {
27 fn contract_id(&self) -> Identifier {
28 self.contract_id
29 }
30
31 fn proposer_id(&self) -> Identifier {
32 self.proposer_id
33 }
34
35 fn token_contract_position(&self) -> TokenContractPosition {
36 self.token_contract_position
37 }
38
39 fn event(&self) -> &GroupActionEvent {
40 &self.event
41 }
42}