// file: crates/ksp-interface-lib/tests/transaction_execution_public_api.rs // version: 1 //! Public API canaries for the provider-neutral transaction execution contract. #[test] fn public_v0_3_5_pre_003_transaction_execution_contract_is_available_from_crate_root() { let signature = ksp_interface_lib::TransactionSignature::new([0xC7_u8; 64]); let event = ksp_interface_lib::TransactionExecutionEvent::new(u64::MAX, signature, ksp_interface_lib::TransactionExecutionOutcome::Succeeded); assert_eq!(signature.as_bytes(), &[0xC7_u8; 64]); assert_eq!(event.slot(), u64::MAX); assert_eq!(event.signature(), signature); assert_eq!(event.outcome(), ksp_interface_lib::TransactionExecutionOutcome::Succeeded); } fn outcome_label(outcome: ksp_interface_lib::TransactionExecutionOutcome) -> &'static str { return match outcome { ksp_interface_lib::TransactionExecutionOutcome::Succeeded => "succeeded", ksp_interface_lib::TransactionExecutionOutcome::Failed => "failed", _ => "future", }; } #[test] fn public_v0_3_5_pre_003_transaction_execution_outcome_remains_downstream_evolvable() { assert_eq!(outcome_label(ksp_interface_lib::TransactionExecutionOutcome::Succeeded), "succeeded"); assert_eq!(outcome_label(ksp_interface_lib::TransactionExecutionOutcome::Failed), "failed"); }