test_genesis_hash_available()¶
Documentation for tests/frontier/opcodes/test_blockhash.py::test_genesis_hash_available@8db70f93.
Generate fixtures for these test cases for Amsterdam with:
fill -v tests/frontier/opcodes/test_blockhash.py::test_genesis_hash_available --fork Amsterdam
Verify BLOCKHASH returns genesis and block 1 hashes.
Regression test: Blockchain test infrastructure must populate block hashes before execution. Without this, BLOCKHASH returns 0, breaking dynamic address computations like BLOCKHASH(0) | TIMESTAMP.
Tests both genesis (block 0) and first executed block (block 1) hash insertion by calling the contract in block 2.
Bug context: revm blockchaintest runner wasn't inserting block_hashes, causing failures in tests with BLOCKHASH-derived addresses.
Source code in tests/frontier/opcodes/test_blockhash.py
15 16 17 18 19 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | |
Parametrized Test Cases¶
This test generates 4 parametrized test cases across 14 forks.