cardano_serialization_lib/protocol_types/governance/
governance_action_ids.rs1use crate::*;
2
3#[derive(
4 Clone,
5 Debug,
6 Eq,
7 Ord,
8 PartialEq,
9 PartialOrd,
10 Hash,
11 serde::Serialize,
12 serde::Deserialize,
13 JsonSchema,
14)]
15#[wasm_bindgen]
16pub struct GovernanceActionIds(pub(crate) Vec<GovernanceActionId>);
17
18to_from_json!(GovernanceActionIds);
19
20#[wasm_bindgen]
21impl GovernanceActionIds {
22 pub fn new() -> Self {
23 Self(Vec::new())
24 }
25
26 pub fn add(&mut self, governance_action_id: &GovernanceActionId) {
27 self.0.push(governance_action_id.clone());
28 }
29
30 pub fn get(&self, index: usize) -> Option<GovernanceActionId> {
31 self.0.get(index).cloned()
32 }
33
34 pub fn len(&self) -> usize {
35 self.0.len()
36 }
37}