openzeppelin_relayer/constants/
transactions.rs1use crate::models::TransactionStatus;
9
10pub const FINAL_TRANSACTION_STATUSES: &[TransactionStatus] = &[
14 TransactionStatus::Canceled,
15 TransactionStatus::Confirmed,
16 TransactionStatus::Failed,
17 TransactionStatus::Expired,
18];
19
20pub const PENDING_TRANSACTION_STATUSES: &[TransactionStatus] = &[
21 TransactionStatus::Pending,
22 TransactionStatus::Sent,
23 TransactionStatus::Submitted,
24];
25
26pub const ALL_TRANSACTION_STATUSES: &[TransactionStatus] = &[
29 TransactionStatus::Canceled,
30 TransactionStatus::Pending,
31 TransactionStatus::Sent,
32 TransactionStatus::Submitted,
33 TransactionStatus::Mined,
34 TransactionStatus::Confirmed,
35 TransactionStatus::Failed,
36 TransactionStatus::Expired,
37];
38
39#[cfg(test)]
40mod tests {
41 use super::*;
42
43 #[test]
44 fn test_final_transaction_statuses_contains_expected_values() {
45 assert_eq!(FINAL_TRANSACTION_STATUSES.len(), 4);
46 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Canceled));
47 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Confirmed));
48 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Failed));
49 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Expired));
50 }
51
52 #[test]
53 fn test_final_transaction_statuses_excludes_non_final_states() {
54 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Pending));
55 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Sent));
56 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Submitted));
57 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Mined));
58 }
59
60 #[test]
61 fn test_pending_transaction_statuses_contains_expected_values() {
62 assert_eq!(PENDING_TRANSACTION_STATUSES.len(), 3);
63 assert!(PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Pending));
64 assert!(PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Sent));
65 assert!(PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Submitted));
66 }
67
68 #[test]
69 fn test_pending_transaction_statuses_excludes_final_states() {
70 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Canceled));
71 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Confirmed));
72 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Failed));
73 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Expired));
74 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Mined));
75 }
76}