whisky_csl/tx_parser/
validity_range.rs1use 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}