openzeppelin_relayer/constants/
transactions.rs1use crate::models::TransactionStatus;
4
5pub const FINAL_TRANSACTION_STATUSES: &[TransactionStatus] = &[
7 TransactionStatus::Canceled,
8 TransactionStatus::Confirmed,
9 TransactionStatus::Failed,
10 TransactionStatus::Expired,
11];
12
13#[cfg(test)]
14mod tests {
15 use super::*;
16
17 #[test]
18 fn test_final_transaction_statuses_contains_expected_values() {
19 assert_eq!(FINAL_TRANSACTION_STATUSES.len(), 4);
20 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Canceled));
21 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Confirmed));
22 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Failed));
23 assert!(FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Expired));
24 }
25
26 #[test]
27 fn test_final_transaction_statuses_excludes_non_final_states() {
28 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Pending));
29 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Sent));
30 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Submitted));
31 assert!(!FINAL_TRANSACTION_STATUSES.contains(&TransactionStatus::Mined));
32 }
33}