whisky_csl/tx_parser/
required_signatures.rs

1use std::collections::HashSet;
2use whisky_common::WError;
3
4use super::CSLParser;
5
6impl CSLParser {
7    pub fn get_required_signatures(&self) -> &Vec<String> {
8        &self.tx_body.required_signatures
9    }
10
11    pub(super) fn extract_required_signatures(
12        &mut self,
13    ) -> Result<(), WError> {
14        let mut required_signatures = HashSet::new();
15        let required_signers = self.csl_tx_body.required_signers();
16        if let Some(required_signers) = required_signers {
17            for signer in &required_signers {
18                required_signatures.insert(signer.to_hex());
19            }
20        }
21        self.tx_body.required_signatures = required_signatures.into_iter().collect();
22        Ok(())
23    }
24}