whisky_csl/tx_parser/
validity_range.rs

1use whisky_common::{ValidityRange, WError};
2
3use super::CSLParser;
4
5impl CSLParser {
6    pub fn get_validity_range(&self) -> &ValidityRange {
7        &self.tx_body.validity_range
8    }
9
10    pub(super) fn extract_validity_range(&mut self) -> Result<(), WError> {
11        let validity_interval_start_bignum = self.csl_tx_body.validity_start_interval_bignum();
12        let validity_interval_end_bignum = self.csl_tx_body.ttl_bignum();
13        let validity_interval_start = validity_interval_start_bignum
14            .map(|b| b.to_str().parse::<u64>().ok())
15            .flatten();
16        let validity_interval_end = validity_interval_end_bignum
17            .map(|b| b.to_str().parse::<u64>().ok())
18            .flatten();
19        self.tx_body.validity_range.invalid_before = validity_interval_start;
20        self.tx_body.validity_range.invalid_hereafter = validity_interval_end;
21        Ok(())
22    }
23}