Skip to content

test_precompile_warming()

Documentation for tests/berlin/eip2929_gas_cost_increases/test_precompile_warming.py::test_precompile_warming@44293f1e.

Generate fixtures for these test cases for Prague with:

fill -v tests/berlin/eip2929_gas_cost_increases/test_precompile_warming.py::test_precompile_warming --fork Prague

Call BALANCE of a precompile addresses before and after a fork.

According to EIP-2929, when a transaction begins, accessed_addresses is initialized to include: - tx.sender, tx.to - and the set of all precompiles

This test verifies that: 1. Precompiles that exist in the predecessor fork are always "warm" (lower gas cost) 2. New precompiles added in a fork are "cold" before the fork and become "warm" after

Source code in tests/berlin/eip2929_gas_cost_increases/test_precompile_warming.py
 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
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
@pytest.mark.valid_at_transition_to("Paris", subsequent_forks=True)
@pytest.mark.parametrize_by_fork(
    "address,precompile_in_successor,precompile_in_predecessor",
    precompile_addresses_in_predecessor_successor,
)
def test_precompile_warming(
    blockchain_test: BlockchainTestFiller,
    fork: Fork,
    address: Address,
    precompile_in_successor: bool,
    precompile_in_predecessor: bool,
    pre: Alloc,
):
    """
    Call BALANCE of a precompile addresses before and after a fork.

    According to EIP-2929, when a transaction begins, accessed_addresses is initialized to include:
    - tx.sender, tx.to
    - and the set of all precompiles

    This test verifies that:
    1. Precompiles that exist in the predecessor fork are always "warm" (lower gas cost)
    2. New precompiles added in a fork are "cold" before the fork and become "warm" after

    """
    sender = pre.fund_eoa()
    call_cost_slot = 0

    code = (
        Op.GAS
        + Op.BALANCE(address)
        + Op.POP
        + Op.SSTORE(call_cost_slot, Op.SUB(Op.SWAP1, Op.GAS))
        + Op.STOP
    )
    before = pre.deploy_contract(code, storage={call_cost_slot: 0xDEADBEEF})
    after = pre.deploy_contract(code, storage={call_cost_slot: 0xDEADBEEF})

    # Block before fork
    blocks = [
        Block(
            timestamp=10_000,
            txs=[
                Transaction(
                    sender=sender,
                    to=before,
                    gas_limit=1_000_000,
                )
            ],
        )
    ]

    # Block after fork
    blocks += [
        Block(
            timestamp=20_000,
            txs=[
                Transaction(
                    sender=sender,
                    to=after,
                    gas_limit=1_000_000,
                )
            ],
        )
    ]

    predecessor = get_transition_fork_predecessor(fork)
    successor = get_transition_fork_successor(fork)

    def get_expected_gas(precompile_present: bool, fork: Fork) -> int:
        gas_costs = fork.gas_costs()
        warm_access_cost = gas_costs.G_WARM_ACCOUNT_ACCESS
        cold_access_cost = gas_costs.G_COLD_ACCOUNT_ACCESS
        extra_cost = gas_costs.G_BASE * 2 + gas_costs.G_VERY_LOW
        if precompile_present:
            return warm_access_cost + extra_cost
        else:
            return cold_access_cost + extra_cost

    expected_gas_before = get_expected_gas(precompile_in_predecessor, predecessor)
    expected_gas_after = get_expected_gas(precompile_in_successor, successor)

    post = {
        before: Account(storage={call_cost_slot: expected_gas_before}),
        after: Account(storage={call_cost_slot: expected_gas_after}),
    }

    blockchain_test(
        pre=pre,
        post=post,
        blocks=blocks,
    )

Parametrized Test Cases

This test case is only parametrized by fork.

Test ID (Abbreviated) address precompile_in_successor precompile_in_predecessor
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000001-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000001 True True
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000002-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000002 True True
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000003-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000003 True True
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000004-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000004 True True
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000005-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000005 True True
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000006-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000006 True True
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000007-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000007 True True
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000008-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000008 True True
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000009-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000009 True True
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000000a-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000a False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000000b-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000b False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000000c-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000c False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000000d-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000d False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000000e-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000e False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000000f-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000f False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000010-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000010 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000011-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000011 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000012-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000012 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000013-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000013 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000014-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000014 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000015-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000015 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000016-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000016 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000017-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000017 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000018-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000018 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000019-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000019 False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000001a-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001a False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000001b-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001b False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000001c-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001c False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000001d-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001d False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000001e-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001e False False
...fork_ParisToShanghaiAtTime15k-address_0x000000000000000000000000000000000000001f-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001f False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000020-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000020 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000021-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000021 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000022-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000022 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000023-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000023 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000024-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000024 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000025-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000025 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000026-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000026 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000027-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000027 False False
...fork_ParisToShanghaiAtTime15k-address_0x0000000000000000000000000000000000000028-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000028 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000001-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000001 True True
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000002-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000002 True True
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000003-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000003 True True
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000004-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000004 True True
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000005-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000005 True True
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000006-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000006 True True
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000007-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000007 True True
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000008-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000008 True True
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000009-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000009 True True
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000000a-precompile_in_successor_True-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000a True False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000000b-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000b False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000000c-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000c False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000000d-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000d False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000000e-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000e False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000000f-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000f False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000010-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000010 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000011-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000011 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000012-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000012 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000013-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000013 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000014-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000014 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000015-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000015 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000016-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000016 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000017-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000017 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000018-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000018 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000019-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000019 False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000001a-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001a False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000001b-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001b False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000001c-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001c False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000001d-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001d False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000001e-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001e False False
...fork_ShanghaiToCancunAtTime15k-address_0x000000000000000000000000000000000000001f-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001f False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000020-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000020 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000021-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000021 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000022-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000022 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000023-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000023 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000024-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000024 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000025-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000025 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000026-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000026 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000027-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000027 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000028-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000028 False False
...fork_ShanghaiToCancunAtTime15k-address_0x0000000000000000000000000000000000000029-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000029 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000001-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000001 True True
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000002-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000002 True True
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000003-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000003 True True
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000004-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000004 True True
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000005-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000005 True True
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000006-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000006 True True
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000007-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000007 True True
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000008-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000008 True True
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000009-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 0000000009 True True
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000000a-precompile_in_successor_True-precompile_in_predecessor_True-blockchain_test 0x000000000000000000000000000000 000000000a True True
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000000b-precompile_in_successor_True-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000b True False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000000c-precompile_in_successor_True-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000c True False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000000d-precompile_in_successor_True-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000d True False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000000e-precompile_in_successor_True-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000e True False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000000f-precompile_in_successor_True-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000000f True False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000010-precompile_in_successor_True-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000010 True False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000011-precompile_in_successor_True-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000011 True False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000012-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000012 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000013-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000013 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000014-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000014 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000015-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000015 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000016-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000016 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000017-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000017 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000018-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000018 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000019-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000019 False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000001a-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001a False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000001b-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001b False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000001c-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001c False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000001d-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001d False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000001e-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001e False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000001f-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000001f False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000020-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000020 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000021-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000021 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000022-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000022 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000023-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000023 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000024-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000024 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000025-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000025 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000026-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000026 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000027-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000027 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000028-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000028 False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000029-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000029 False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000002a-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000002a False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000002b-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000002b False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000002c-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000002c False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000002d-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000002d False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000002e-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000002e False False
...fork_CancunToPragueAtTime15k-address_0x000000000000000000000000000000000000002f-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 000000002f False False
...fork_CancunToPragueAtTime15k-address_0x0000000000000000000000000000000000000030-precompile_in_successor_False-precompile_in_predecessor_False-blockchain_test 0x000000000000000000000000000000 0000000030 False False