pub fn execute_pool_transactions<B, ExecuteTransaction>(
executor: &mut B,
pool_transactions: &[Arc<PoolTransaction<B::Transaction>>],
gas_config: &PoolTxGasConfig,
inspector_config: &InspectorTxConfig,
cheats: &CheatsManager,
validator: &dyn Fn(&PoolTransaction<B::Transaction>, &AccountInfo) -> Result<(), InvalidTransactionError>,
execute_transaction: &mut ExecuteTransaction,
) -> ExecutedPoolTransactions<B::Transaction>where
B: BlockExecutor<Transaction = FoundryTxEnvelope, Evm: Evm<DB: Database + Debug, Inspector = AnvilInspector, Precompiles = PrecompilesMap>>,
B::Receipt: TxReceipt,
<B::Result as TxResult>::HaltReason: Clone + IntoInstructionResult,
<B::Evm as Evm>::Tx: FromTxWithEncoded<B::Transaction> + FoundryTransaction,
ExecuteTransaction: FnMut(&mut B, <B::Evm as Evm>::Tx, Recovered<B::Transaction>, bool) -> Result<B::Result, BlockExecutionError>,Expand description
Executes pool transactions against a block executor, handling validation, execution, commit, inspector drain, and result collection.
This is the shared core of do_mine_block and with_pending_block.