pub fn check_minimum_block_work<'a>(
txs_with_sender: impl IntoIterator<Item = (&'a Transaction, Address)>,
fork: Fork,
block_gas_limit: u64,
) -> Result<(), EvmError>Expand description
Reject a block whose transactions cannot all be admitted, before executing any of them.
Ordered gas admission (check_2d_gas_allowance) needs each transaction’s real
gas, so on the parallel path it can only run once every transaction has executed
and its report is held in memory. This bound needs none of that: every transaction
spends at least its EIP-7623/7976 floor, so a block whose floors already exceed
block_work_budget cannot pass admission whatever it executes to.
Sound in the accepting direction: for any block that could be valid,
sum(floor) <= sum(gas_used) <= block_work_budget, so this never rejects a block
ordered admission would have accepted.