dpp/voting/votes/resource_vote/v0/
mod.rs1#[cfg(feature = "json-conversion")]
2use crate::serialization::json_safe_fields;
3use crate::voting::vote_choices::resource_vote_choice::ResourceVoteChoice;
4use crate::voting::vote_polls::VotePoll;
5use crate::ProtocolError;
6use bincode::{Decode, Encode};
7use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize};
8use platform_value::Identifier;
9#[cfg(feature = "serde-conversion")]
10use serde::{Deserialize, Serialize};
11
12#[cfg_attr(feature = "json-conversion", json_safe_fields)]
13#[derive(Debug, Clone, Encode, Decode, PlatformDeserialize, PlatformSerialize, PartialEq)]
14#[cfg_attr(
15 feature = "serde-conversion",
16 derive(Serialize, Deserialize),
17 serde(rename_all = "camelCase")
18)]
19#[platform_serialize(unversioned)]
20pub struct ResourceVoteV0 {
21 pub vote_poll: VotePoll,
22 pub resource_vote_choice: ResourceVoteChoice,
23}
24
25impl Default for ResourceVoteV0 {
26 fn default() -> Self {
27 ResourceVoteV0 {
28 vote_poll: VotePoll::default(),
29 resource_vote_choice: ResourceVoteChoice::Abstain,
30 }
31 }
32}
33
34impl ResourceVoteV0 {
35 pub fn vote_poll_unique_id(&self) -> Result<Identifier, ProtocolError> {
36 self.vote_poll.unique_id()
37 }
38}