test_reentrant_call()
¶
Documentation for tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call@21fb11c8
.
Generate fixtures for these test cases for Prague with:
fill -v tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call --fork Prague
Test transient storage in different reentrancy contexts.
Source code in tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 |
|
Parametrized Test Cases¶
The interactive table below is also available as a standalone page.
Test ID (Abbreviated) | bytecode | expected_storage |
---|---|---|
...fork_Cancun-state_test-tstore_in_reentrant_call | {0: 1, 1: 256, 2: 256} | |
...fork_Cancun-state_test-tload_after_reentrant_tstore | {0: 1, 1: 256, 2: 257} | |
...fork_Cancun-state_test-manipulate_in_reentrant_call | {0: 1, 1: 256, 2: 257, 3: 257} | |
...fork_Cancun-state_test-tstore_in_call_then_tload_return_in_staticcall | {0: 1, 1: 1, 2: 256, 3: 257, 4: 257} | |
...fork_Cancun-state_test-tstore_before_revert_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Cancun-state_test-revert_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Cancun-state_test-revert_undoes_tstorage_after_successful_call | {0: 0, 1: 1, 2: 256, 3: 256} | |
...fork_Cancun-state_test-tstore_before_invalid_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Cancun-state_test-invalid_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Cancun-state_test-invalid_undoes_tstorage_after_successful_call | {0: 0, 1: 0, 2: 256, 3: 256} | |
...fork_Cancun-blockchain_test_from_state_test-tstore_in_reentrant_call | {0: 1, 1: 256, 2: 256} | |
...fork_Cancun-blockchain_test_from_state_test-tload_after_reentrant_tstore | {0: 1, 1: 256, 2: 257} | |
...fork_Cancun-blockchain_test_from_state_test-manipulate_in_reentrant_call | {0: 1, 1: 256, 2: 257, 3: 257} | |
...fork_Cancun-blockchain_test_from_state_test-tstore_in_call_then_tload_return_in_staticcall | {0: 1, 1: 1, 2: 256, 3: 257, 4: 257} | |
...fork_Cancun-blockchain_test_from_state_test-tstore_before_revert_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Cancun-blockchain_test_from_state_test-revert_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Cancun-blockchain_test_from_state_test-revert_undoes_tstorage_after_successful_call | {0: 0, 1: 1, 2: 256, 3: 256} | |
...fork_Cancun-blockchain_test_from_state_test-tstore_before_invalid_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Cancun-blockchain_test_from_state_test-invalid_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Cancun-blockchain_test_from_state_test-invalid_undoes_tstorage_after_successful_call | {0: 0, 1: 0, 2: 256, 3: 256} | |
...fork_Prague-state_test-tstore_in_reentrant_call | {0: 1, 1: 256, 2: 256} | |
...fork_Prague-state_test-tload_after_reentrant_tstore | {0: 1, 1: 256, 2: 257} | |
...fork_Prague-state_test-manipulate_in_reentrant_call | {0: 1, 1: 256, 2: 257, 3: 257} | |
...fork_Prague-state_test-tstore_in_call_then_tload_return_in_staticcall | {0: 1, 1: 1, 2: 256, 3: 257, 4: 257} | |
...fork_Prague-state_test-tstore_before_revert_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Prague-state_test-revert_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Prague-state_test-revert_undoes_tstorage_after_successful_call | {0: 0, 1: 1, 2: 256, 3: 256} | |
...fork_Prague-state_test-tstore_before_invalid_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Prague-state_test-invalid_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Prague-state_test-invalid_undoes_tstorage_after_successful_call | {0: 0, 1: 0, 2: 256, 3: 256} | |
...fork_Prague-blockchain_test_from_state_test-tstore_in_reentrant_call | {0: 1, 1: 256, 2: 256} | |
...fork_Prague-blockchain_test_from_state_test-tload_after_reentrant_tstore | {0: 1, 1: 256, 2: 257} | |
...fork_Prague-blockchain_test_from_state_test-manipulate_in_reentrant_call | {0: 1, 1: 256, 2: 257, 3: 257} | |
...fork_Prague-blockchain_test_from_state_test-tstore_in_call_then_tload_return_in_staticcall | {0: 1, 1: 1, 2: 256, 3: 257, 4: 257} | |
...fork_Prague-blockchain_test_from_state_test-tstore_before_revert_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Prague-blockchain_test_from_state_test-revert_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Prague-blockchain_test_from_state_test-revert_undoes_tstorage_after_successful_call | {0: 0, 1: 1, 2: 256, 3: 256} | |
...fork_Prague-blockchain_test_from_state_test-tstore_before_invalid_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Prague-blockchain_test_from_state_test-invalid_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Prague-blockchain_test_from_state_test-invalid_undoes_tstorage_after_successful_call | {0: 0, 1: 0, 2: 256, 3: 256} | |
...fork_Osaka-state_test-tstore_in_reentrant_call | {0: 1, 1: 256, 2: 256} | |
...fork_Osaka-state_test-tload_after_reentrant_tstore | {0: 1, 1: 256, 2: 257} | |
...fork_Osaka-state_test-manipulate_in_reentrant_call | {0: 1, 1: 256, 2: 257, 3: 257} | |
...fork_Osaka-state_test-tstore_in_call_then_tload_return_in_staticcall | {0: 1, 1: 1, 2: 256, 3: 257, 4: 257} | |
...fork_Osaka-state_test-tstore_before_revert_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Osaka-state_test-revert_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Osaka-state_test-revert_undoes_tstorage_after_successful_call | {0: 0, 1: 1, 2: 256, 3: 256} | |
...fork_Osaka-state_test-tstore_before_invalid_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Osaka-state_test-invalid_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Osaka-state_test-invalid_undoes_tstorage_after_successful_call | {0: 0, 1: 0, 2: 256, 3: 256} | |
...fork_Osaka-blockchain_test_from_state_test-tstore_in_reentrant_call | {0: 1, 1: 256, 2: 256} | |
...fork_Osaka-blockchain_test_from_state_test-tload_after_reentrant_tstore | {0: 1, 1: 256, 2: 257} | |
...fork_Osaka-blockchain_test_from_state_test-manipulate_in_reentrant_call | {0: 1, 1: 256, 2: 257, 3: 257} | |
...fork_Osaka-blockchain_test_from_state_test-tstore_in_call_then_tload_return_in_staticcall | {0: 1, 1: 1, 2: 256, 3: 257, 4: 257} | |
...fork_Osaka-blockchain_test_from_state_test-tstore_before_revert_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Osaka-blockchain_test_from_state_test-revert_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Osaka-blockchain_test_from_state_test-revert_undoes_tstorage_after_successful_call | {0: 0, 1: 1, 2: 256, 3: 256} | |
...fork_Osaka-blockchain_test_from_state_test-tstore_before_invalid_has_no_effect | {0: 0, 1: 256, 2: 256} | |
...fork_Osaka-blockchain_test_from_state_test-invalid_undoes_all | {0: 0, 1: 256, 2: 257} | |
...fork_Osaka-blockchain_test_from_state_test-invalid_undoes_tstorage_after_successful_call | {0: 0, 1: 0, 2: 256, 3: 256} |