Skip to main content

execute_transactions

Function execute_transactions 

Source
pub fn execute_transactions<S, T>(
    builder: S,
    calls: Vec<RpcTxReq<T::Network>>,
    remaining_call_gas_limit: &mut Option<u64>,
    chain_id: u64,
    converter: &T,
) -> Result<(BlockBuilderOutcome<S::Primitives>, Vec<ExecutionResult<<<S::Executor as BlockExecutor>::Evm as Evm>::HaltReason>>), EthApiError>
where S: BlockBuilder<Executor: BlockExecutor<Evm: Evm<DB: Database<Error: Into<EthApiError>>>>>, T: RpcConvert<Primitives = S::Primitives>,
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.