Cleanup: get_program_key() and get_loader_key() in TransactionContext (#23191)

* Moves TransactionContext::get_program_key() to InstructionContext::get_program_key().

* Removes TransactionContext::get_loader_key().

* Test full program and loader executable account chain in BPF loader.
This commit is contained in:
Alexander Meißner
2022-02-17 10:16:28 +01:00
committed by GitHub
parent 619335df1a
commit da00b39f4f
9 changed files with 247 additions and 361 deletions

View File

@ -229,13 +229,12 @@ fn run_program(name: &str) -> u64 {
let mut instruction_count = 0;
let mut tracer = None;
for i in 0..2 {
invoke_context
.transaction_context
let transaction_context = &mut invoke_context.transaction_context;
let instruction_context = transaction_context.get_current_instruction_context().unwrap();
let caller = *instruction_context.get_program_key(transaction_context).unwrap();
transaction_context
.set_return_data(
*invoke_context
.transaction_context
.get_program_key()
.unwrap(),
caller,
Vec::new(),
)
.unwrap();