Skip to content

test_correct_excess_blob_gas_calculation()

Documentation for tests/cancun/eip4844_blobs/test_excess_blob_gas.py::test_correct_excess_blob_gas_calculation@21fb11c8.

Generate fixtures for these test cases for Prague with:

fill -v tests/cancun/eip4844_blobs/test_excess_blob_gas.py::test_correct_excess_blob_gas_calculation --fork Prague

Test calculation of the excessBlobGas increase/decrease across multiple blocks with and without blobs.

  • With parent block containing [0, MAX_BLOBS_PER_BLOCK] blobs
  • With parent block containing [0, TARGET_BLOBS_PER_BLOCK] equivalent value of excess blob gas
Source code in tests/cancun/eip4844_blobs/test_excess_blob_gas.py
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
@pytest.mark.parametrize_by_fork(
    "parent_blobs",
    lambda fork: range(0, fork.max_blobs_per_block() + 1),
)
@pytest.mark.parametrize_by_fork(
    "parent_excess_blobs",
    lambda fork: range(0, fork.target_blobs_per_block() + 1),
)
@pytest.mark.parametrize("new_blobs", [1])
def test_correct_excess_blob_gas_calculation(
    blockchain_test: BlockchainTestFiller,
    env: Environment,
    pre: Mapping[Address, Account],
    blocks: List[Block],
    post: Mapping[Address, Account],
    correct_excess_blob_gas: int,
):
    """
    Test calculation of the `excessBlobGas` increase/decrease across
    multiple blocks with and without blobs.

    - With parent block containing `[0, MAX_BLOBS_PER_BLOCK]` blobs
    - With parent block containing `[0, TARGET_BLOBS_PER_BLOCK]` equivalent value of excess blob gas
    """  # noqa: E501
    blockchain_test(
        pre=pre,
        post=post,
        blocks=blocks,
        genesis_environment=env,
        tag=f"expected_excess_blob_gas:{hex(correct_excess_blob_gas)}",
    )

Parametrized Test Cases

The interactive table below is also available as a standalone page.

Test ID (Abbreviated) parent_excess_blobs parent_blobs new_blobs
...fork_Cancun-parent_excess_blobs_0-parent_blobs_0-blockchain_test-new_blobs_1 0 0 1
...fork_Cancun-parent_excess_blobs_0-parent_blobs_1-blockchain_test-new_blobs_1 0 1 1
...fork_Cancun-parent_excess_blobs_0-parent_blobs_2-blockchain_test-new_blobs_1 0 2 1
...fork_Cancun-parent_excess_blobs_0-parent_blobs_3-blockchain_test-new_blobs_1 0 3 1
...fork_Cancun-parent_excess_blobs_0-parent_blobs_4-blockchain_test-new_blobs_1 0 4 1
...fork_Cancun-parent_excess_blobs_0-parent_blobs_5-blockchain_test-new_blobs_1 0 5 1
...fork_Cancun-parent_excess_blobs_0-parent_blobs_6-blockchain_test-new_blobs_1 0 6 1
...fork_Cancun-parent_excess_blobs_1-parent_blobs_0-blockchain_test-new_blobs_1 1 0 1
...fork_Cancun-parent_excess_blobs_1-parent_blobs_1-blockchain_test-new_blobs_1 1 1 1
...fork_Cancun-parent_excess_blobs_1-parent_blobs_2-blockchain_test-new_blobs_1 1 2 1
...fork_Cancun-parent_excess_blobs_1-parent_blobs_3-blockchain_test-new_blobs_1 1 3 1
...fork_Cancun-parent_excess_blobs_1-parent_blobs_4-blockchain_test-new_blobs_1 1 4 1
...fork_Cancun-parent_excess_blobs_1-parent_blobs_5-blockchain_test-new_blobs_1 1 5 1
...fork_Cancun-parent_excess_blobs_1-parent_blobs_6-blockchain_test-new_blobs_1 1 6 1
...fork_Cancun-parent_excess_blobs_2-parent_blobs_0-blockchain_test-new_blobs_1 2 0 1
...fork_Cancun-parent_excess_blobs_2-parent_blobs_1-blockchain_test-new_blobs_1 2 1 1
...fork_Cancun-parent_excess_blobs_2-parent_blobs_2-blockchain_test-new_blobs_1 2 2 1
...fork_Cancun-parent_excess_blobs_2-parent_blobs_3-blockchain_test-new_blobs_1 2 3 1
...fork_Cancun-parent_excess_blobs_2-parent_blobs_4-blockchain_test-new_blobs_1 2 4 1
...fork_Cancun-parent_excess_blobs_2-parent_blobs_5-blockchain_test-new_blobs_1 2 5 1
...fork_Cancun-parent_excess_blobs_2-parent_blobs_6-blockchain_test-new_blobs_1 2 6 1
...fork_Cancun-parent_excess_blobs_3-parent_blobs_0-blockchain_test-new_blobs_1 3 0 1
...fork_Cancun-parent_excess_blobs_3-parent_blobs_1-blockchain_test-new_blobs_1 3 1 1
...fork_Cancun-parent_excess_blobs_3-parent_blobs_2-blockchain_test-new_blobs_1 3 2 1
...fork_Cancun-parent_excess_blobs_3-parent_blobs_3-blockchain_test-new_blobs_1 3 3 1
...fork_Cancun-parent_excess_blobs_3-parent_blobs_4-blockchain_test-new_blobs_1 3 4 1
...fork_Cancun-parent_excess_blobs_3-parent_blobs_5-blockchain_test-new_blobs_1 3 5 1
...fork_Cancun-parent_excess_blobs_3-parent_blobs_6-blockchain_test-new_blobs_1 3 6 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_0-blockchain_test-new_blobs_1 0 0 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_1-blockchain_test-new_blobs_1 0 1 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_2-blockchain_test-new_blobs_1 0 2 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_3-blockchain_test-new_blobs_1 0 3 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_4-blockchain_test-new_blobs_1 0 4 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_5-blockchain_test-new_blobs_1 0 5 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_6-blockchain_test-new_blobs_1 0 6 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_7-blockchain_test-new_blobs_1 0 7 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_8-blockchain_test-new_blobs_1 0 8 1
...fork_Prague-parent_excess_blobs_0-parent_blobs_9-blockchain_test-new_blobs_1 0 9 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_0-blockchain_test-new_blobs_1 1 0 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_1-blockchain_test-new_blobs_1 1 1 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_2-blockchain_test-new_blobs_1 1 2 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_3-blockchain_test-new_blobs_1 1 3 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_4-blockchain_test-new_blobs_1 1 4 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_5-blockchain_test-new_blobs_1 1 5 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_6-blockchain_test-new_blobs_1 1 6 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_7-blockchain_test-new_blobs_1 1 7 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_8-blockchain_test-new_blobs_1 1 8 1
...fork_Prague-parent_excess_blobs_1-parent_blobs_9-blockchain_test-new_blobs_1 1 9 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_0-blockchain_test-new_blobs_1 2 0 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_1-blockchain_test-new_blobs_1 2 1 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_2-blockchain_test-new_blobs_1 2 2 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_3-blockchain_test-new_blobs_1 2 3 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_4-blockchain_test-new_blobs_1 2 4 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_5-blockchain_test-new_blobs_1 2 5 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_6-blockchain_test-new_blobs_1 2 6 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_7-blockchain_test-new_blobs_1 2 7 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_8-blockchain_test-new_blobs_1 2 8 1
...fork_Prague-parent_excess_blobs_2-parent_blobs_9-blockchain_test-new_blobs_1 2 9 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_0-blockchain_test-new_blobs_1 3 0 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_1-blockchain_test-new_blobs_1 3 1 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_2-blockchain_test-new_blobs_1 3 2 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_3-blockchain_test-new_blobs_1 3 3 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_4-blockchain_test-new_blobs_1 3 4 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_5-blockchain_test-new_blobs_1 3 5 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_6-blockchain_test-new_blobs_1 3 6 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_7-blockchain_test-new_blobs_1 3 7 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_8-blockchain_test-new_blobs_1 3 8 1
...fork_Prague-parent_excess_blobs_3-parent_blobs_9-blockchain_test-new_blobs_1 3 9 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_0-blockchain_test-new_blobs_1 4 0 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_1-blockchain_test-new_blobs_1 4 1 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_2-blockchain_test-new_blobs_1 4 2 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_3-blockchain_test-new_blobs_1 4 3 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_4-blockchain_test-new_blobs_1 4 4 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_5-blockchain_test-new_blobs_1 4 5 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_6-blockchain_test-new_blobs_1 4 6 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_7-blockchain_test-new_blobs_1 4 7 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_8-blockchain_test-new_blobs_1 4 8 1
...fork_Prague-parent_excess_blobs_4-parent_blobs_9-blockchain_test-new_blobs_1 4 9 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_0-blockchain_test-new_blobs_1 5 0 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_1-blockchain_test-new_blobs_1 5 1 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_2-blockchain_test-new_blobs_1 5 2 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_3-blockchain_test-new_blobs_1 5 3 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_4-blockchain_test-new_blobs_1 5 4 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_5-blockchain_test-new_blobs_1 5 5 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_6-blockchain_test-new_blobs_1 5 6 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_7-blockchain_test-new_blobs_1 5 7 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_8-blockchain_test-new_blobs_1 5 8 1
...fork_Prague-parent_excess_blobs_5-parent_blobs_9-blockchain_test-new_blobs_1 5 9 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_0-blockchain_test-new_blobs_1 6 0 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_1-blockchain_test-new_blobs_1 6 1 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_2-blockchain_test-new_blobs_1 6 2 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_3-blockchain_test-new_blobs_1 6 3 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_4-blockchain_test-new_blobs_1 6 4 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_5-blockchain_test-new_blobs_1 6 5 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_6-blockchain_test-new_blobs_1 6 6 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_7-blockchain_test-new_blobs_1 6 7 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_8-blockchain_test-new_blobs_1 6 8 1
...fork_Prague-parent_excess_blobs_6-parent_blobs_9-blockchain_test-new_blobs_1 6 9 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_0-blockchain_test-new_blobs_1 0 0 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_1-blockchain_test-new_blobs_1 0 1 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_2-blockchain_test-new_blobs_1 0 2 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_3-blockchain_test-new_blobs_1 0 3 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_4-blockchain_test-new_blobs_1 0 4 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_5-blockchain_test-new_blobs_1 0 5 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_6-blockchain_test-new_blobs_1 0 6 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_7-blockchain_test-new_blobs_1 0 7 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_8-blockchain_test-new_blobs_1 0 8 1
...fork_Osaka-parent_excess_blobs_0-parent_blobs_9-blockchain_test-new_blobs_1 0 9 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_0-blockchain_test-new_blobs_1 1 0 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_1-blockchain_test-new_blobs_1 1 1 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_2-blockchain_test-new_blobs_1 1 2 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_3-blockchain_test-new_blobs_1 1 3 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_4-blockchain_test-new_blobs_1 1 4 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_5-blockchain_test-new_blobs_1 1 5 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_6-blockchain_test-new_blobs_1 1 6 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_7-blockchain_test-new_blobs_1 1 7 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_8-blockchain_test-new_blobs_1 1 8 1
...fork_Osaka-parent_excess_blobs_1-parent_blobs_9-blockchain_test-new_blobs_1 1 9 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_0-blockchain_test-new_blobs_1 2 0 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_1-blockchain_test-new_blobs_1 2 1 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_2-blockchain_test-new_blobs_1 2 2 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_3-blockchain_test-new_blobs_1 2 3 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_4-blockchain_test-new_blobs_1 2 4 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_5-blockchain_test-new_blobs_1 2 5 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_6-blockchain_test-new_blobs_1 2 6 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_7-blockchain_test-new_blobs_1 2 7 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_8-blockchain_test-new_blobs_1 2 8 1
...fork_Osaka-parent_excess_blobs_2-parent_blobs_9-blockchain_test-new_blobs_1 2 9 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_0-blockchain_test-new_blobs_1 3 0 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_1-blockchain_test-new_blobs_1 3 1 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_2-blockchain_test-new_blobs_1 3 2 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_3-blockchain_test-new_blobs_1 3 3 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_4-blockchain_test-new_blobs_1 3 4 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_5-blockchain_test-new_blobs_1 3 5 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_6-blockchain_test-new_blobs_1 3 6 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_7-blockchain_test-new_blobs_1 3 7 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_8-blockchain_test-new_blobs_1 3 8 1
...fork_Osaka-parent_excess_blobs_3-parent_blobs_9-blockchain_test-new_blobs_1 3 9 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_0-blockchain_test-new_blobs_1 4 0 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_1-blockchain_test-new_blobs_1 4 1 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_2-blockchain_test-new_blobs_1 4 2 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_3-blockchain_test-new_blobs_1 4 3 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_4-blockchain_test-new_blobs_1 4 4 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_5-blockchain_test-new_blobs_1 4 5 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_6-blockchain_test-new_blobs_1 4 6 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_7-blockchain_test-new_blobs_1 4 7 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_8-blockchain_test-new_blobs_1 4 8 1
...fork_Osaka-parent_excess_blobs_4-parent_blobs_9-blockchain_test-new_blobs_1 4 9 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_0-blockchain_test-new_blobs_1 5 0 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_1-blockchain_test-new_blobs_1 5 1 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_2-blockchain_test-new_blobs_1 5 2 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_3-blockchain_test-new_blobs_1 5 3 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_4-blockchain_test-new_blobs_1 5 4 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_5-blockchain_test-new_blobs_1 5 5 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_6-blockchain_test-new_blobs_1 5 6 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_7-blockchain_test-new_blobs_1 5 7 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_8-blockchain_test-new_blobs_1 5 8 1
...fork_Osaka-parent_excess_blobs_5-parent_blobs_9-blockchain_test-new_blobs_1 5 9 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_0-blockchain_test-new_blobs_1 6 0 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_1-blockchain_test-new_blobs_1 6 1 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_2-blockchain_test-new_blobs_1 6 2 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_3-blockchain_test-new_blobs_1 6 3 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_4-blockchain_test-new_blobs_1 6 4 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_5-blockchain_test-new_blobs_1 6 5 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_6-blockchain_test-new_blobs_1 6 6 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_7-blockchain_test-new_blobs_1 6 7 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_8-blockchain_test-new_blobs_1 6 8 1
...fork_Osaka-parent_excess_blobs_6-parent_blobs_9-blockchain_test-new_blobs_1 6 9 1