1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
use super::TxTester;
impl TxTester {
/// ## Testing methods for validity range
///
/// Checks if the transaction is valid after a specified timestamp.
pub fn valid_after(&mut self, required_timestamp: u64) -> &mut Self {
let invalid_before =
if let Some(validity_range) = &self.tx_body.validity_range.invalid_hereafter {
*validity_range
} else {
9999_999_999_999 // A very large number representing "no limit"
};
let is_valid_after =
if let Some(validity_range) = &self.tx_body.validity_range.invalid_before {
*validity_range < required_timestamp
} else {
true
};
if !is_valid_after {
self.add_trace(
"valid_after",
&format!(
"tx invalid before {}, with required_timestamp {}",
invalid_before, required_timestamp
),
);
}
self
}
/// ## Testing methods for validity range
///
/// Checks if the transaction is valid before a specified timestamp.
pub fn valid_before(&mut self, required_timestamp: u64) -> &mut Self {
let invalid_hereafter =
if let Some(validity_range) = &self.tx_body.validity_range.invalid_before {
*validity_range
} else {
0 // Representing "no limit"
};
let is_valid_before =
if let Some(validity_range) = &self.tx_body.validity_range.invalid_hereafter {
*validity_range > required_timestamp
} else {
true
};
if !is_valid_before {
self.add_trace(
"valid_before",
&format!(
"tx invalid after {}, with required_timestamp {}",
invalid_hereafter, required_timestamp
),
);
}
self
}
}