Skip to content

test_dupn_all_valid_immediates()

Documentation for tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_dupn.py::test_dupn_all_valid_immediates@verkle@v0.0.6.

Generate fixtures for these test cases for Pragueeip7692 with:

Pragueeip7692 only:

fill -v tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_dupn.py::test_dupn_all_valid_immediates --fork=PragueEIP7692 --evm-bin=/path/to/evm-tool-dev-version

For all forks up to and including Pragueeip7692:

fill -v tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_dupn.py::test_dupn_all_valid_immediates --until=PragueEIP7692

Test case for all valid DUPN immediates.

Source code in tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_dupn.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
@pytest.mark.valid_from(EOF_FORK_NAME)
def test_dupn_all_valid_immediates(eof_state_test: EOFStateTestFiller):
    """
    Test case for all valid DUPN immediates.
    """
    n = 2**8
    values = range(0xD00, 0xD00 + n)

    eof_code = Container(
        sections=[
            Section.Code(
                code=sum(Op.PUSH2[v] for v in values)
                + sum(Op.SSTORE(x, Op.DUPN[x]) for x in range(0, n))
                + Op.STOP,
            )
        ],
    )

    post = Account(storage=dict(zip(range(0, n), reversed(values))))

    eof_state_test(
        tx_sender_funding_amount=1_000_000_000,
        data=eof_code,
        container_post=post,
    )