Skip to content

test_no_memory_corruption_on_upper_create_stack_levels()

Documentation for tests/cancun/eip5656_mcopy/test_mcopy_contexts.py::test_no_memory_corruption_on_upper_create_stack_levels@21fb11c8.

Generate fixtures for these test cases for Prague with:

fill -v tests/cancun/eip5656_mcopy/test_mcopy_contexts.py::test_no_memory_corruption_on_upper_create_stack_levels --fork Prague

Perform a subcall with any of the following opcodes, which uses MCOPY during its execution, and verify that the caller's memory is unaffected: - CREATE - CREATE2.

TODO: [EOF] Add EOFCREATE opcode

Source code in tests/cancun/eip5656_mcopy/test_mcopy_contexts.py
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
@pytest.mark.parametrize(
    "call_opcode",
    [
        Op.CREATE,
        Op.CREATE2,
    ],
)
@pytest.mark.valid_from("Cancun")
def test_no_memory_corruption_on_upper_create_stack_levels(
    state_test: StateTestFiller,
    pre: Alloc,
    post: Mapping[str, Account],
    tx: Transaction,
):
    """
    Perform a subcall with any of the following opcodes, which uses MCOPY during its execution,
    and verify that the caller's memory is unaffected:
      - `CREATE`
      - `CREATE2`.

    TODO: [EOF] Add EOFCREATE opcode
    """
    state_test(
        env=Environment(),
        pre=pre,
        post=post,
        tx=tx,
    )

Parametrized Test Cases

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

Test ID (Abbreviated) call_opcode
...fork_Cancun-state_test-call_opcode_CREATE CREATE
...fork_Cancun-state_test-call_opcode_CREATE2 CREATE2
...fork_Cancun-blockchain_test_from_state_test-call_opcode_CREATE CREATE
...fork_Cancun-blockchain_test_from_state_test-call_opcode_CREATE2 CREATE2
...fork_Prague-state_test-call_opcode_CREATE CREATE
...fork_Prague-state_test-call_opcode_CREATE2 CREATE2
...fork_Prague-blockchain_test_from_state_test-call_opcode_CREATE CREATE
...fork_Prague-blockchain_test_from_state_test-call_opcode_CREATE2 CREATE2
...fork_Osaka-state_test-call_opcode_CREATE CREATE
...fork_Osaka-state_test-call_opcode_CREATE2 CREATE2
...fork_Osaka-blockchain_test_from_state_test-call_opcode_CREATE CREATE
...fork_Osaka-blockchain_test_from_state_test-call_opcode_CREATE2 CREATE2