Skip to main content

fill_state_gas

Function fill_state_gas 

Source
pub(crate) fn fill_state_gas(
    output: &mut PrecompileOutput,
    storage: &StorageCtx,
)
Expand description

Fills state gas accounting on a [PrecompileOutput] from the storage context.

State gas / reservoir tracking is only set when TIP-1016 (EIP-8037) is enabled. When disabled, state_gas_used must remain 0 to avoid leaking into revm’s reservoir accounting and corrupting tx_gas_used() via handle_reservoir_remaining_gas.

SSTORE refund propagation is activated unconditionally at T4 so the TempoPrecompileProvider wrapper can apply refunds with record_refund. Pre-T4 blocks were executed without refund propagation, so we cannot change their gas accounting.