@pytest.mark.parametrize(
"ty,protected,access_list,blob_versioned_hashes,authorization_list",
[
pytest.param(0, True, None, None, None, id="type_0_protected"),
pytest.param(0, False, None, None, None, id="type_0_unprotected"),
pytest.param(
1,
True,
[AccessList(address=Address(1), storage_keys=[Hash(0)])],
None,
None,
id="type_1",
),
pytest.param(
2,
True,
[AccessList(address=Address(1), storage_keys=[Hash(0)])],
None,
None,
id="type_2",
),
pytest.param(
3,
True,
[AccessList(address=Address(1), storage_keys=[Hash(0)])],
add_kzg_version(
[Hash(x) for x in range(1)],
EIP_4844_Spec.BLOB_COMMITMENT_VERSION_KZG,
),
None,
id="type_3",
marks=pytest.mark.execute(
pytest.mark.skip(reason="Blob txs not supported by execute")
),
),
pytest.param(
4,
True,
[AccessList(address=Address(1), storage_keys=[Hash(0)])],
None,
[Address(1)],
id="type_4",
),
],
indirect=["authorization_list"],
)
@pytest.mark.parametrize(
"tx_gas_delta",
[
pytest.param(0, id=""),
],
)
@pytest.mark.parametrize(
"to",
[
pytest.param("eoa", id=""),
],
indirect=True,
)
@pytest.mark.parametrize(
"data_test_type",
[
pytest.param(
DataTestType.FLOOR_GAS_COST_GREATER_THAN_INTRINSIC_GAS,
id="",
),
],
)
def test_eip_7623(
state_test: StateTestFiller,
pre: Alloc,
tx: Transaction,
) -> None:
"""
Test transaction validity for transactions without access lists
and contract creation.
"""
state_test(
pre=pre,
post={},
tx=tx,
)