Test Block Access Lists¶
Documentation for tests/amsterdam/eip7928_block_level_access_lists/test_block_access_lists.py@21507778.
Generate fixtures for these test cases for Amsterdam with:
fill -v tests/amsterdam/eip7928_block_level_access_lists/test_block_access_lists.py --fork Amsterdam
Test Functions Overview¶
| Name | Type | Cases (Amsterdam) | Description |
|---|---|---|---|
test_bal_2930_account_listed_but_untouched |
blockchain_test | 1 | Ensure BAL excludes untouched access list accounts. |
test_bal_2930_slot_listed_and_unlisted_reads |
blockchain_test | 1 | Ensure BAL includes storage reads regardless of access list presence. |
test_bal_2930_slot_listed_and_unlisted_writes |
blockchain_test | 1 | Ensure BAL includes storage writes regardless of access list presence. |
test_bal_2930_slot_listed_but_untouched |
blockchain_test | 1 | Ensure BAL excludes untouched access list storage slots. |
test_bal_aborted_account_access |
blockchain_test | 16 | Ensure BAL captures account access in aborted transactions. |
test_bal_aborted_storage_access |
blockchain_test | 2 | Ensure BAL captures storage access in aborted transactions correctly. |
test_bal_account_access_target |
blockchain_test | 8 | Ensure BAL captures target address of account access opcodes. |
test_bal_all_transaction_types |
blockchain_test | 1 | Test BAL with all 5 tx types in single block. |
test_bal_balance_changes |
blockchain_test | 1 | Ensure BAL captures changes to balance. |
test_bal_block_rewards |
blockchain_test | 1 | Ensure BAL captures fee recipient balance changes from block rewards. |
test_bal_callcode_nested_value_transfer |
blockchain_test | 1 | Ensure BAL captures balance changes from nested value transfers |
test_bal_code_changes |
blockchain_test | 1 | Ensure BAL captures changes to account code. |
test_bal_coinbase_zero_tip |
blockchain_test | 1 | Ensure BAL includes coinbase even when priority fee is zero. |
test_bal_create_transaction_empty_code |
blockchain_test | 1 | Ensure BAL does not record spurious code changes when a CREATE transaction |
test_bal_cross_block_ripemd160_state_leak |
blockchain_test | 1 | Ensure internal EVM state for RIMPEMD-160 precompile handling does not |
test_bal_cross_tx_balance_dependency |
blockchain_test | 2 | Verify clients apply Tx1's balance change before executing Tx2 in |
test_bal_cross_tx_deploy_then_call |
blockchain_test | 2 | Verify clients apply Tx1's CREATE to their state view before |
test_bal_cross_tx_funding_chain |
blockchain_test | 3 | Funding chain: alice → bob → charlie → dan → eunice → target. Each |
test_bal_cross_tx_storage_chain |
blockchain_test | 1 | Verify clients apply BAL state changes from prior transactions before |
test_bal_cross_tx_storage_revert_to_zero |
blockchain_test | 1 | Ensure BAL captures storage changes when tx1 writes a non-zero value |
test_bal_delegated_storage_reads |
blockchain_test | 2 | Ensure BAL captures delegated storage reads via |
test_bal_delegated_storage_writes |
blockchain_test | 2 | Ensure BAL captures delegated storage writes via |
test_bal_empty_block_no_coinbase |
blockchain_test | 1 | Ensure BAL correctly handles empty blocks without including coinbase. |
test_bal_fully_unmutated_account |
blockchain_test | 1 | Test that BAL captures account that has zero net mutations. |
test_bal_gas_limit_boundary |
blockchain_test | 2 | Test the BAL max items gas limit boundary for an empty block. |
test_bal_intra_tx_multiple_sstores_same_slot |
blockchain_test | 3 | Test that consecutive SSTOREs to the same slot within one tx produce a |
test_bal_intra_tx_sstores_same_slot_net_zero |
blockchain_test | 2 | Test that consecutive SSTOREs to the same slot within one tx with a |
test_bal_lexicographic_address_ordering |
blockchain_test | 1 | Test BAL enforces strict lexicographic byte-wise address ordering. |
test_bal_multiple_balance_changes_same_account |
blockchain_test | 1 | Ensure BAL correctly tracks multiple balance changes to same account |
test_bal_multiple_storage_writes_same_slot |
blockchain_test | 1 | Test that BAL tracks multiple writes to the same storage slot across |
test_bal_nested_delegatecall_storage_writes_net_zero |
blockchain_test | 3 | Test BAL correctly handles nested DELEGATECALL frames where intermediate |
test_bal_net_zero_balance_transfer |
blockchain_test | 4 | Test that BAL does not record balance changes when net change is zero. |
test_bal_nonce_changes |
blockchain_test | 1 | Ensure BAL captures changes to nonce. |
test_bal_nonexistent_account_access_read_only |
blockchain_test | 6 | Ensure BAL captures non-existent account access via read-only opcodes. |
test_bal_nonexistent_account_access_value_transfer |
blockchain_test | 4 | Ensure BAL captures non-existent account access via CALL/CALLCODE |
test_bal_nonexistent_value_transfer |
blockchain_test | 2 | Ensure BAL captures non-existent account on value transfer. |
test_bal_noop_storage_write |
blockchain_test | 1 | Test that BAL correctly handles no-op storage write. |
test_bal_precompile_call_opcode |
blockchain_test | 72 | Ensure BAL records the precompile address regardless of call opcode. |
test_bal_precompile_funded |
blockchain_test | 36 | Ensure BAL records precompile value transfer. |
test_bal_pure_contract_call |
blockchain_test | 1 | Test that BAL captures contract access for pure computation calls. |
test_bal_self_transfer |
blockchain_test | 1 | Test that BAL correctly handles self-transfers. |
test_bal_zero_value_transfer |
blockchain_test | 1 | Test that BAL correctly handles zero-value transfers. |