diff --git a/runtime/src/accounts.rs b/runtime/src/accounts.rs index 514a97fefc6e93..1370d415e0ca52 100644 --- a/runtime/src/accounts.rs +++ b/runtime/src/accounts.rs @@ -1032,11 +1032,12 @@ impl Accounts { let keys: Vec<_> = txs .zip(results) .filter_map(|(tx, res)| match res { - Err(TransactionError::AccountInUse) => None, - Err(TransactionError::SanitizeFailure) => None, - Err(TransactionError::AccountLoadedTwice) => None, - Err(TransactionError::WouldExceedMaxBlockCostLimit) => None, - Err(TransactionError::WouldExceedMaxAccountCostLimit) => None, + Err(TransactionError::AccountInUse) + | Err(TransactionError::SanitizeFailure) + | Err(TransactionError::AccountLoadedTwice) + | Err(TransactionError::WouldExceedMaxBlockCostLimit) + | Err(TransactionError::WouldExceedMaxAccountCostLimit) + | Err(TransactionError::WouldExceedMaxAccountDataCostLimit) => None, _ => Some(tx.get_account_locks(demote_program_write_locks)), }) .collect(); diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index 3682cca4e7ed78..8b7d2ea0c04745 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -234,7 +234,7 @@ impl ExecuteTimings { } type BankStatusCache = StatusCache>; -#[frozen_abi(digest = "32EjVUc6shHHVPpsnBAVfyBziMgyFzH8qxisLwmwwdS1")] +#[frozen_abi(digest = "GcfJc94Hb3s7gzF7Uh4YxLSiQf1MvUtMmtU45BvinkVT")] pub type BankSlotDelta = SlotDelta>; type TransactionAccountRefCells = Vec<(Pubkey, Rc>)>; diff --git a/runtime/src/cost_model.rs b/runtime/src/cost_model.rs index 44524123dad378..ab74f9de58554a 100644 --- a/runtime/src/cost_model.rs +++ b/runtime/src/cost_model.rs @@ -10,7 +10,10 @@ use { execute_cost_table::ExecuteCostTable, }, log::*, - solana_sdk::{pubkey::Pubkey, transaction::SanitizedTransaction}, + solana_sdk::{ + instruction::CompiledInstruction, program_utils::limited_deserialize, pubkey::Pubkey, + system_instruction::SystemInstruction, system_program, transaction::SanitizedTransaction, + }, std::collections::HashMap, }; @@ -208,18 +211,26 @@ impl CostModel { instruction: SystemInstruction, ) -> u64 { match instruction { - SystemInstruction::CreateAccount { space, .. } - | SystemInstruction::CreateAccountWithSeed { space, .. } - | SystemInstruction::Allocate { space } - | SystemInstruction::AllocateWithSeed { space, .. } => space, - SystemInstruction::Assign { .. } - | SystemInstruction::InitializeNonceAccount(_) - | SystemInstruction::WithdrawNonceAccount(_) - | SystemInstruction::AuthorizeNonceAccount(_) - | SystemInstruction::AssignWithSeed { .. } - | SystemInstruction::TransferWithSeed { .. } - | SystemInstruction::Transfer { .. } - | SystemInstruction::AdvanceNonceAccount => 0, + SystemInstruction::CreateAccount { + lamports: _lamports, + space, + owner: _owner, + } => space, + SystemInstruction::CreateAccountWithSeed { + base: _base, + seed: _seed, + lamports: _lamports, + space, + owner: _owner, + } => space, + SystemInstruction::Allocate { space } => space, + SystemInstruction::AllocateWithSeed { + base: _base, + seed: _seed, + space, + owner: _owner, + } => space, + _ => 0, } }