pub fn execute_pool_transactions<B, BeforeTransaction, ExecuteTransaction, OnExecutionError>(
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>,
hooks: &mut PoolTransactionHooks<BeforeTransaction, ExecuteTransaction, OnExecutionError>,
) -> ExecutedPoolTransactions<B::Transaction>where
B: BlockExecutor<Transaction = FoundryTxEnvelope, Evm: Evm<DB: Database + Debug, Inspector = AnvilInspector>>,
B::Receipt: TxReceipt,
<B::Result as TxResult>::HaltReason: Clone + IntoInstructionResult,
<B::Evm as Evm>::Tx: FromTxWithEncoded<B::Transaction> + FoundryTransaction,
BeforeTransaction: FnMut(&mut B::Evm, &<B::Evm as Evm>::Tx),
ExecuteTransaction: FnMut(&mut B, <B::Evm as Evm>::Tx, Recovered<B::Transaction>, bool) -> Result<B::Result, BlockExecutionError>,
OnExecutionError: FnMut(&mut B::Evm),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.