v0.2.13-pre.004

This commit is contained in:
2026-08-28 05:11:44 +02:00
parent 900444bff5
commit 0ee28eeb95
9 changed files with 582 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-interface-lib/tests/public_api.rs
// version: 2
// version: 3
//! Integration canaries for the public `ksp-interface-lib` foundation.
@@ -36,3 +36,20 @@ fn public_pre_003_interface_error_code_is_stable_and_core_owned() {
assert_eq!(code.code(), "program_instruction_limit_exceeded");
return;
}
#[test]
fn public_pre_004_program_instruction_contract_is_available_from_crate_root() {
let program_id = ksp_interface_lib::Pubkey::new_from_array([4_u8; 32]);
let account = ksp_interface_lib::ProgramAccountMeta::readonly(ksp_interface_lib::Pubkey::new_from_array([5_u8; 32]), true);
let instruction = ksp_interface_lib::ProgramInstruction::try_new(program_id, std::vec![account], std::vec![1_u8, 2, 3]);
assert!(instruction.is_ok());
let instruction = match instruction {
std::result::Result::Ok(value) => value,
std::result::Result::Err(_) => return,
};
assert_eq!(instruction.program_id(), &program_id);
assert_eq!(instruction.accounts(), &[account]);
assert_eq!(instruction.data(), &[1_u8, 2, 3]);
assert_eq!(ksp_interface_lib::MAX_PROGRAM_INSTRUCTION_DATA_LEN, 10_240);
return;
}