Splits index of InstructionAccount into index_in_transaction and index_in_caller. (#22165)

This commit is contained in:
Alexander Meißner
2021-12-30 15:46:36 +01:00
committed by GitHub
parent 3f88994e0f
commit edb20d6909
7 changed files with 341 additions and 188 deletions

View File

@ -117,12 +117,13 @@ impl MessageProcessor {
let instruction_accounts = instruction
.accounts
.iter()
.map(|account_index| {
let account_index = *account_index as usize;
.map(|index_in_transaction| {
let index_in_transaction = *index_in_transaction as usize;
InstructionAccount {
index: account_index,
is_signer: message.is_signer(account_index),
is_writable: message.is_writable(account_index),
index_in_transaction,
index_in_caller: program_indices.len().saturating_add(index_in_transaction),
is_signer: message.is_signer(index_in_transaction),
is_writable: message.is_writable(index_in_transaction),
}
})
.collect::<Vec<_>>();