Record and store invoked instructions in transaction meta (#12311) (#12449)

* Record invoked instructions and store in transaction meta

* Enable cpi recording if transaction sender is some

* Rename invoked to innerInstructions

(cherry picked from commit 6601ec8f26)

Co-authored-by: Justin Starry <justin@solana.com>
This commit is contained in:
mergify[bot]
2020-09-24 15:42:34 +00:00
committed by GitHub
parent 9ff2378948
commit 7212bb12ea
19 changed files with 429 additions and 98 deletions

View File

@@ -239,6 +239,7 @@ fn process_instruction(
);
invoke(&invoked_instruction, accounts)?;
// Signer privilege escalation will always fail the whole transaction
invoked_instruction.accounts[0].is_signer = true;
assert_eq!(
invoke(&invoked_instruction, accounts),
@@ -254,6 +255,7 @@ fn process_instruction(
);
invoke(&invoked_instruction, accounts)?;
// Writable privilege escalation will always fail the whole transaction
invoked_instruction.accounts[0].is_writable = true;
assert_eq!(
invoke(&invoked_instruction, accounts),