pub fn execute_transactions<S, T>(
builder: S,
calls: Vec<<<T as RpcConvert>::Network as RpcTypes>::TransactionRequest>,
remaining_call_gas_limit: &mut Option<u64>,
chain_id: u64,
converter: &T,
) -> Result<(BlockBuilderOutcome<<S as BlockBuilder>::Primitives>, Vec<ExecutionResult<<<<S as BlockBuilder>::Executor as BlockExecutor>::Evm as Evm>::HaltReason>>), EthApiError>where
S: BlockBuilder,
<S as BlockBuilder>::Executor: BlockExecutor,
<<S as BlockBuilder>::Executor as BlockExecutor>::Evm: Evm,
<<<S as BlockBuilder>::Executor as BlockExecutor>::Evm as Evm>::DB: Database,
<<<<S as BlockBuilder>::Executor as BlockExecutor>::Evm as Evm>::DB as Database>::Error: Into<EthApiError>,
T: RpcConvert<Primitives = <S as BlockBuilder>::Primitives>,Available on crate feature
rpc only.Expand description
Converts all TransactionRequests into Recovered transactions and applies them to the
given BlockExecutor.
Returns all executed transactions and the result of the execution.
For each call without an explicit gas field, the remaining block gas is used as the default.
The RPC gas cap is tracked as a request-wide remaining budget and caps each call before
execution. This matches the spec rule "gasLimit: blockGasLimit - soFarUsedGasInBlock" and
geth’s per-call sanitizeCall behavior.