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(&mut self) -> Result<(), WError> {
12        let mut required_signatures = HashSet::new();
13        let required_signers = self.csl_tx_body.required_signers();
14        if let Some(required_signers) = required_signers {
15            for signer in &required_signers {
16                required_signatures.insert(signer.to_hex());
17            }
18        }
19        self.tx_body.required_signatures = required_signatures.into_iter().collect();
20        Ok(())
21    }
22}