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
26#[cfg(test)]
27mod tests {
28 use super::*;
29
30 #[test]
31 fn test_final_transaction_statuses_contains_expected_values() {
32 assert_eq!(FINAL_TRANSACTION_STATUSES.len(), 4);
33 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Canceled));
34 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Confirmed));
35 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Failed));
36 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Expired));
37 }
38
39 #[test]
40 fn test_final_transaction_statuses_excludes_non_final_states() {
41 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Pending));
42 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Sent));
43 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Submitted));
44 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Mined));
45 }
46
47 #[test]
48 fn test_pending_transaction_statuses_contains_expected_values() {
49 assert_eq!(PENDING_TRANSACTION_STATUSES.len(), 3);
50 assert!(PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Pending));
51 assert!(PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Sent));
52 assert!(PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Submitted));
53 }
54
55 #[test]
56 fn test_pending_transaction_statuses_excludes_final_states() {
57 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Canceled));
58 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Confirmed));
59 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Failed));
60 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Expired));
61 assert!(!PENDING_TRANSACTION_STATUSES.contains(&TransactionStatus::Mined));
62 }
63}