Test Set Code Txs 2¶
Documentation for tests/prague/eip7702_set_code_tx/test_set_code_txs_2.py@54b46ea9.
Generate fixtures for these test cases for Osaka with:
fill -v tests/prague/eip7702_set_code_tx/test_set_code_txs_2.py --fork Osaka
A state test for EIP-7702 SetCodeTX.
Test Functions Overview¶
| Name | Type | Cases (Osaka) | Description | 
|---|---|---|---|
test_pointer_contract_pointer_loop | 
state_test | 1 | Tx -> call -> pointer A -> contract A -> pointer B -> contract loop C. | 
test_pointer_to_pointer | 
state_test | 1 | Tx -> call -> pointer A -> pointer B. | 
test_pointer_normal | 
blockchain_test | 1 | Tx -> call -> pointer A -> contract. | 
test_pointer_measurements | 
blockchain_test | 1 | Check extcode* operations on pointer before and after pointer is set. | 
test_call_to_precompile_in_pointer_context | 
state_test | 18 | Tx -> call -> pointer A -> precompile contract. | 
test_pointer_to_precompile | 
state_test | 18 | Tx -> call -> pointer A -> precompile contract. | 
test_gas_diff_pointer_vs_direct_call | 
blockchain_test | 32 | Check the gas difference when calling the contract directly vs as a pointer | 
test_pointer_call_followed_by_direct_call | 
state_test | 1 | If we first call by pointer then direct call, will the call/sload be hot | 
test_pointer_to_static | 
state_test | 1 | Tx -> call -> pointer A -> static -> static violation. | 
test_static_to_pointer | 
state_test | 1 | Tx -> staticcall -> pointer A -> static violation. | 
test_pointer_to_static_reentry | 
state_test | 1 | Tx call -> pointer A -> static -> code -> pointer A -> static violation | 
test_contract_storage_to_pointer_with_storage | 
state_test | 3 | Tx call -> contract with storage -> pointer A with storage -> | 
test_pointer_reentry | 
state_test | 1 | Check operations when reenter the pointer again. | 
test_eoa_init_as_pointer | 
state_test | 1 | It was agreed before that senders don't have code. | 
test_call_pointer_to_created_from_create_after_oog_call_again | 
state_test | 3 | Set pointer to account that we are about to create. | 
test_pointer_reverts | 
state_test | 10 | Pointer do operations then revert. | 
test_double_auth | 
state_test | 9 | Only the last auth works, but first auth still charges the gas. | 
test_pointer_resets_an_empty_code_account_with_storage | 
blockchain_test | 1 | So in Block1 we create a sender with empty code, but non empty storage | 
test_set_code_type_tx_pre_fork | 
state_test | 0 | Reject blocks with set code type transactions before the Prague fork. | 
test_delegation_replacement_call_previous_contract | 
state_test | 1 | Test setting the code of an EOA that already has delegation, calling the |