// file: crates/ksp-interface-lib/unit_tests/transaction_execution.rs // version: 1 #[test] fn transaction_signature_preserves_exact_bytes_and_redacts_debug() { let signature = crate::TransactionSignature::new([0xA5_u8; 64]); assert_eq!(signature.as_bytes(), &[0xA5_u8; 64]); assert_eq!(std::format!("{signature:?}"), "TransactionSignature(..)"); } #[test] fn transaction_execution_outcomes_are_distinct_and_copy() { let succeeded = crate::TransactionExecutionOutcome::Succeeded; let failed = crate::TransactionExecutionOutcome::Failed; assert_ne!(succeeded, failed); let copied = succeeded; assert_eq!(copied, crate::TransactionExecutionOutcome::Succeeded); } #[test] fn transaction_execution_event_preserves_full_slot_signature_and_outcome() { let signature = crate::TransactionSignature::new([0xB6_u8; 64]); let event = crate::TransactionExecutionEvent::new(u64::MAX, signature, crate::TransactionExecutionOutcome::Failed); assert_eq!(event.slot(), u64::MAX); assert_eq!(event.signature(), signature); assert_eq!(event.outcome(), crate::TransactionExecutionOutcome::Failed); assert_eq!(std::format!("{event:?}"), "TransactionExecutionEvent { slot: 18446744073709551615, signature: \"\", outcome: Failed }"); }