v1.9: Impl get_/set_return_data syscalls for ProgramTest (#22652)

* Remove &mut self from set_return_data

* Impl get_/set_return_data for program-test SyscallStubs

* Add return_data program-test
This commit is contained in:
Tyera Eulberg
2022-01-21 18:03:27 -07:00
committed by GitHub
parent 187ed6a387
commit 39a4cc95dc
3 changed files with 100 additions and 2 deletions

View File

@@ -375,6 +375,17 @@ impl solana_sdk::program_stubs::SyscallStubs for SyscallStubs {
fn sol_get_rent_sysvar(&self, var_addr: *mut u8) -> u64 {
get_sysvar(get_invoke_context().get_sysvar_cache().get_rent(), var_addr)
}
fn sol_get_return_data(&self) -> Option<(Pubkey, Vec<u8>)> {
let (program_id, data) = &get_invoke_context().return_data;
Some((*program_id, data.to_vec()))
}
fn sol_set_return_data(&self, data: &[u8]) {
let invoke_context = get_invoke_context();
let caller = *invoke_context.get_caller().unwrap();
invoke_context.return_data = (caller, data.to_vec());
}
}
pub fn find_file(filename: &str) -> Option<PathBuf> {