Fix account copy step in program test message processor (#16469)

This commit is contained in:
Justin Starry 2021-04-11 15:59:43 +08:00 committed by GitHub
parent 99b3aab703
commit 278c125d99
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 3 deletions

View File

@ -295,13 +295,13 @@ impl solana_sdk::program_stubs::SyscallStubs for SyscallStubs {
.map_err(|err| ProgramError::try_from(err).unwrap_or_else(|err| panic!("{}", err)))?;
// Copy writeable account modifications back into the caller's AccountInfos
for (i, instruction_account) in instruction.accounts.iter().enumerate() {
if !instruction_account.is_writable {
for (i, account_pubkey) in message.account_keys.iter().enumerate() {
if !message.is_writable(i, true) {
continue;
}
for account_info in account_infos {
if *account_info.unsigned_key() == instruction_account.pubkey {
if account_info.unsigned_key() == account_pubkey {
let account = &accounts[i];
**account_info.try_borrow_mut_lamports().unwrap() = account.borrow().lamports;