Refactor: Remove program_id from process_instruction() (#20540)

* Replaces usage of program_id parameter by invoke_context.get_caller()?.

* Removes "pubkey: &Pubkey" parameter from "process_instruction()".
This commit is contained in:
Alexander Meißner
2021-10-10 22:29:18 +02:00
committed by GitHub
parent c16510152e
commit f30f3bddbb
23 changed files with 110 additions and 175 deletions

View File

@ -100,7 +100,6 @@ fn get_invoke_context<'a>() -> &'a mut dyn InvokeContext {
pub fn builtin_process_instruction(
process_instruction: solana_sdk::entrypoint::ProcessInstruction,
program_id: &Pubkey,
_first_instruction_account: usize,
input: &[u8],
invoke_context: &mut dyn InvokeContext,
@ -108,6 +107,7 @@ pub fn builtin_process_instruction(
set_invoke_context(invoke_context);
let logger = invoke_context.get_logger();
let program_id = invoke_context.get_caller()?;
stable_log::program_invoke(&logger, program_id, invoke_context.invoke_depth());
// Skip the processor account
@ -184,13 +184,11 @@ pub fn builtin_process_instruction(
macro_rules! processor {
($process_instruction:expr) => {
Some(
|program_id: &Pubkey,
first_instruction_account: usize,
|first_instruction_account: usize,
input: &[u8],
invoke_context: &mut dyn solana_sdk::process_instruction::InvokeContext| {
$crate::builtin_process_instruction(
$process_instruction,
program_id,
first_instruction_account,
input,
invoke_context,