Instruction sysvar fixes, additions (#20958)

This commit is contained in:
Jack May
2021-10-26 13:07:40 -07:00
committed by GitHub
parent 261dd96ae3
commit 4fe3354c8f
4 changed files with 228 additions and 25 deletions

View File

@ -36,11 +36,9 @@ fn process_instruction(
let instruction = instructions::load_instruction_at_checked(
secp_instruction_index as usize,
instruction_accounts,
)
.map_err(|_| ProgramError::InvalidAccountData)?;
)?;
let current_instruction =
instructions::load_current_index(&instruction_accounts.try_borrow_data()?);
let current_instruction = instructions::load_current_index_checked(instruction_accounts)?;
let my_index = instruction_data[1] as u16;
assert_eq!(current_instruction, my_index);

View File

@ -48,7 +48,7 @@ pub fn process_instruction(
msg!("Instructions identifier:");
sysvar::instructions::id().log();
assert_eq!(*accounts[4].owner, sysvar::id());
let index = instructions::load_current_index(&accounts[4].try_borrow_data()?);
let index = instructions::load_current_index_checked(&accounts[4])?;
let instruction = instructions::load_instruction_at_checked(index as usize, &accounts[4])?;
assert_eq!(0, index);
assert_eq!(

View File

@ -1388,17 +1388,17 @@ fn assert_instruction_count() {
programs.extend_from_slice(&[
("solana_bpf_rust_128bit", 584),
("solana_bpf_rust_alloc", 7388),
("solana_bpf_rust_custom_heap", 512),
("solana_bpf_rust_custom_heap", 535),
("solana_bpf_rust_dep_crate", 47),
("solana_bpf_rust_external_spend", 483),
("solana_bpf_rust_external_spend", 506),
("solana_bpf_rust_iter", 824),
("solana_bpf_rust_many_args", 941),
("solana_bpf_rust_mem", 3083),
("solana_bpf_rust_mem", 3085),
("solana_bpf_rust_membuiltins", 3976),
("solana_bpf_rust_noop", 457),
("solana_bpf_rust_noop", 480),
("solana_bpf_rust_param_passing", 146),
("solana_bpf_rust_rand", 464),
("solana_bpf_rust_sanity", 1714),
("solana_bpf_rust_rand", 487),
("solana_bpf_rust_sanity", 1716),
("solana_bpf_rust_secp256k1_recover", 25216),
("solana_bpf_rust_sha", 30704),
]);