Skip to content

test_precompiles()

Documentation for tests/frontier/precompiles/test_precompiles.py::test_precompiles@0f7c73a7.

Generate fixtures for these test cases for Prague with:

fill -v tests/frontier/precompiles/test_precompiles.py::test_precompiles --fork Prague

Tests the behavior of precompiled contracts in the Ethereum state test.

Parameters:

Name Type Description Default
state_test StateTestFiller

The state test filler object used to run the test.

required
address str

The address of the precompiled contract to test.

required
precompile_exists bool

A flag indicating whether the precompiled contract exists at the given address.

required
pre Alloc

The allocation object used to deploy the contract and set up the initial state.

required

This test deploys a contract that performs two CALL operations to the specified address and a fixed address (0x10000), measuring the gas used for each call. It then stores the difference in gas usage in storage slot 0. The test verifies the expected storage value based on whether the precompiled contract exists at the given address.

Source code in tests/frontier/precompiles/test_precompiles.py
 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
 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
@pytest.mark.ported_from(
    [
        "https://github.com/ethereum/tests/blob/v13.3/src/GeneralStateTestsFiller/stPreCompiledContracts/idPrecompsFiller.yml"
    ],
    pr=["https://github.com/ethereum/execution-spec-tests/pull/1120"],
    coverage_missed_reason=(
        "Original test saves variables to memory, loads from storage, uses calldataload to get "
        "the precompile address to call, uses lt and gt to compare the gas differences, "
        "sends non-zero data and value with the transaction, uses conditional jumps to save "
        "different values to storage."
    ),
)
@pytest.mark.valid_from("Berlin")
@pytest.mark.parametrize_by_fork("address,precompile_exists", precompile_addresses)
def test_precompiles(
    state_test: StateTestFiller, address: Address, precompile_exists: bool, pre: Alloc
):
    """
    Tests the behavior of precompiled contracts in the Ethereum state test.

    Args:
        state_test (StateTestFiller): The state test filler object used to run the test.
        address (str): The address of the precompiled contract to test.
        precompile_exists (bool): A flag indicating whether the precompiled contract exists at the
            given address.
        pre (Alloc): The allocation object used to deploy the contract and set up the initial
            state.

    This test deploys a contract that performs two CALL operations to the specified address and a
    fixed address (0x10000), measuring the gas used for each call. It then stores the difference
    in gas usage in storage slot 0. The test verifies the expected storage value based on
    whether the precompiled contract exists at the given address.

    """
    env = Environment()

    # Empty account to serve as reference
    empty_account = pre.fund_eoa(amount=0)

    # Memory
    args_offset = 0
    ret_offset = 32
    length = 32

    account = pre.deploy_contract(
        Op.MSTORE(args_offset, 0xFF)  # Pre-expand the memory and setup inputs for pre-compiles
        + Op.MSTORE(ret_offset, 0xFF)
        + Op.MSTORE8(args_offset, 0xFF)
        + Op.MSTORE8(ret_offset, 0xFF)
        + Op.POP(Op.BALANCE(empty_account))  # Warm the accounts
        + Op.POP(Op.BALANCE(address))
        + Op.GAS
        + Op.CALL(
            gas=50_000,
            address=address,
            args_offset=args_offset,
            args_size=length,
            ret_offset=ret_offset,
            ret_size=length,
        )
        + Op.POP
        + Op.SUB(Op.SWAP1, Op.GAS)
        + Op.GAS
        + Op.CALL(
            gas=50_000,
            address=empty_account,
            args_offset=args_offset,
            args_size=length,
            ret_offset=ret_offset,
            ret_size=length,
        )
        + Op.POP
        + Op.SUB(Op.SWAP1, Op.GAS)
        + Op.SWAP1
        + Op.SUB
        + Op.SSTORE(0, Op.ISZERO)
        + Op.STOP,
        storage={0: 0xDEADBEEF},
    )

    tx = Transaction(
        to=account,
        sender=pre.fund_eoa(),
        gas_limit=1_000_000,
        protected=True,
    )

    # A high gas cost will result from calling a precompile
    # Expect 0x00 when a precompile exists at the address, 0x01 otherwise
    post = {account: Account(storage={0: 0 if precompile_exists else 1})}

    state_test(env=env, pre=pre, post=post, tx=tx)

Parametrized Test Cases

The interactive table below is also available as a standalone page.

Test ID (Abbreviated) address precompile_exists
...fork_Berlin-address_0x0000000000000000000000000000000000000009-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000009 True
...fork_Berlin-address_0x0000000000000000000000000000000000000009-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000009 True
...fork_Berlin-address_0x000000000000000000000000000000000000000a-precompile_exists_False-state_test 0x000000000000000000000000000000 000000000a False
...fork_Berlin-address_0x000000000000000000000000000000000000000a-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000a False
...fork_Berlin-address_0x0000000000000000000000000000000000000005-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000005 True
...fork_Berlin-address_0x0000000000000000000000000000000000000005-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000005 True
...fork_Berlin-address_0x0000000000000000000000000000000000000006-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000006 True
...fork_Berlin-address_0x0000000000000000000000000000000000000006-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000006 True
...fork_Berlin-address_0x0000000000000000000000000000000000000007-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000007 True
...fork_Berlin-address_0x0000000000000000000000000000000000000007-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000007 True
...fork_Berlin-address_0x0000000000000000000000000000000000000008-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000008 True
...fork_Berlin-address_0x0000000000000000000000000000000000000008-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000008 True
...fork_Berlin-address_0x0000000000000000000000000000000000000001-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000001 True
...fork_Berlin-address_0x0000000000000000000000000000000000000001-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000001 True
...fork_Berlin-address_0x0000000000000000000000000000000000000000-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000000 False
...fork_Berlin-address_0x0000000000000000000000000000000000000000-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000000 False
...fork_Berlin-address_0x0000000000000000000000000000000000000002-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000002 True
...fork_Berlin-address_0x0000000000000000000000000000000000000002-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000002 True
...fork_Berlin-address_0x0000000000000000000000000000000000000003-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000003 True
...fork_Berlin-address_0x0000000000000000000000000000000000000003-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000003 True
...fork_Berlin-address_0x0000000000000000000000000000000000000004-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000004 True
...fork_Berlin-address_0x0000000000000000000000000000000000000004-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000004 True
...fork_London-address_0x0000000000000000000000000000000000000009-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000009 True
...fork_London-address_0x0000000000000000000000000000000000000009-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000009 True
...fork_London-address_0x000000000000000000000000000000000000000a-precompile_exists_False-state_test 0x000000000000000000000000000000 000000000a False
...fork_London-address_0x000000000000000000000000000000000000000a-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000a False
...fork_London-address_0x0000000000000000000000000000000000000005-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000005 True
...fork_London-address_0x0000000000000000000000000000000000000005-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000005 True
...fork_London-address_0x0000000000000000000000000000000000000006-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000006 True
...fork_London-address_0x0000000000000000000000000000000000000006-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000006 True
...fork_London-address_0x0000000000000000000000000000000000000007-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000007 True
...fork_London-address_0x0000000000000000000000000000000000000007-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000007 True
...fork_London-address_0x0000000000000000000000000000000000000008-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000008 True
...fork_London-address_0x0000000000000000000000000000000000000008-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000008 True
...fork_London-address_0x0000000000000000000000000000000000000001-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000001 True
...fork_London-address_0x0000000000000000000000000000000000000001-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000001 True
...fork_London-address_0x0000000000000000000000000000000000000000-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000000 False
...fork_London-address_0x0000000000000000000000000000000000000000-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000000 False
...fork_London-address_0x0000000000000000000000000000000000000002-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000002 True
...fork_London-address_0x0000000000000000000000000000000000000002-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000002 True
...fork_London-address_0x0000000000000000000000000000000000000003-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000003 True
...fork_London-address_0x0000000000000000000000000000000000000003-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000003 True
...fork_London-address_0x0000000000000000000000000000000000000004-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000004 True
...fork_London-address_0x0000000000000000000000000000000000000004-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000004 True
...fork_Paris-address_0x0000000000000000000000000000000000000009-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000009 True
...fork_Paris-address_0x0000000000000000000000000000000000000009-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000009 True
...fork_Paris-address_0x000000000000000000000000000000000000000a-precompile_exists_False-state_test 0x000000000000000000000000000000 000000000a False
...fork_Paris-address_0x000000000000000000000000000000000000000a-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000a False
...fork_Paris-address_0x0000000000000000000000000000000000000005-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000005 True
...fork_Paris-address_0x0000000000000000000000000000000000000005-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000005 True
...fork_Paris-address_0x0000000000000000000000000000000000000006-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000006 True
...fork_Paris-address_0x0000000000000000000000000000000000000006-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000006 True
...fork_Paris-address_0x0000000000000000000000000000000000000007-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000007 True
...fork_Paris-address_0x0000000000000000000000000000000000000007-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000007 True
...fork_Paris-address_0x0000000000000000000000000000000000000008-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000008 True
...fork_Paris-address_0x0000000000000000000000000000000000000008-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000008 True
...fork_Paris-address_0x0000000000000000000000000000000000000001-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000001 True
...fork_Paris-address_0x0000000000000000000000000000000000000001-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000001 True
...fork_Paris-address_0x0000000000000000000000000000000000000000-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000000 False
...fork_Paris-address_0x0000000000000000000000000000000000000000-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000000 False
...fork_Paris-address_0x0000000000000000000000000000000000000002-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000002 True
...fork_Paris-address_0x0000000000000000000000000000000000000002-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000002 True
...fork_Paris-address_0x0000000000000000000000000000000000000003-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000003 True
...fork_Paris-address_0x0000000000000000000000000000000000000003-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000003 True
...fork_Paris-address_0x0000000000000000000000000000000000000004-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000004 True
...fork_Paris-address_0x0000000000000000000000000000000000000004-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000004 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000009-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000009 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000009-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000009 True
...fork_Shanghai-address_0x000000000000000000000000000000000000000a-precompile_exists_False-state_test 0x000000000000000000000000000000 000000000a False
...fork_Shanghai-address_0x000000000000000000000000000000000000000a-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000a False
...fork_Shanghai-address_0x0000000000000000000000000000000000000005-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000005 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000005-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000005 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000006-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000006 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000006-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000006 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000007-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000007 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000007-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000007 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000008-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000008 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000008-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000008 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000001-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000001 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000001-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000001 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000000-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000000 False
...fork_Shanghai-address_0x0000000000000000000000000000000000000000-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000000 False
...fork_Shanghai-address_0x0000000000000000000000000000000000000002-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000002 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000002-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000002 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000003-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000003 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000003-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000003 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000004-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000004 True
...fork_Shanghai-address_0x0000000000000000000000000000000000000004-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000004 True
...fork_Cancun-address_0x000000000000000000000000000000000000000a-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000a True
...fork_Cancun-address_0x000000000000000000000000000000000000000a-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000a True
...fork_Cancun-address_0x000000000000000000000000000000000000000b-precompile_exists_False-state_test 0x000000000000000000000000000000 000000000b False
...fork_Cancun-address_0x000000000000000000000000000000000000000b-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000b False
...fork_Cancun-address_0x0000000000000000000000000000000000000009-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000009 True
...fork_Cancun-address_0x0000000000000000000000000000000000000009-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000009 True
...fork_Cancun-address_0x0000000000000000000000000000000000000005-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000005 True
...fork_Cancun-address_0x0000000000000000000000000000000000000005-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000005 True
...fork_Cancun-address_0x0000000000000000000000000000000000000006-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000006 True
...fork_Cancun-address_0x0000000000000000000000000000000000000006-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000006 True
...fork_Cancun-address_0x0000000000000000000000000000000000000007-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000007 True
...fork_Cancun-address_0x0000000000000000000000000000000000000007-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000007 True
...fork_Cancun-address_0x0000000000000000000000000000000000000008-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000008 True
...fork_Cancun-address_0x0000000000000000000000000000000000000008-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000008 True
...fork_Cancun-address_0x0000000000000000000000000000000000000001-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000001 True
...fork_Cancun-address_0x0000000000000000000000000000000000000001-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000001 True
...fork_Cancun-address_0x0000000000000000000000000000000000000000-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000000 False
...fork_Cancun-address_0x0000000000000000000000000000000000000000-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000000 False
...fork_Cancun-address_0x0000000000000000000000000000000000000002-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000002 True
...fork_Cancun-address_0x0000000000000000000000000000000000000002-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000002 True
...fork_Cancun-address_0x0000000000000000000000000000000000000003-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000003 True
...fork_Cancun-address_0x0000000000000000000000000000000000000003-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000003 True
...fork_Cancun-address_0x0000000000000000000000000000000000000004-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000004 True
...fork_Cancun-address_0x0000000000000000000000000000000000000004-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000004 True
...fork_Prague-address_0x000000000000000000000000000000000000000b-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000b True
...fork_Prague-address_0x000000000000000000000000000000000000000b-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000b True
...fork_Prague-address_0x000000000000000000000000000000000000000c-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000c True
...fork_Prague-address_0x000000000000000000000000000000000000000c-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000c True
...fork_Prague-address_0x000000000000000000000000000000000000000d-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000d True
...fork_Prague-address_0x000000000000000000000000000000000000000d-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000d True
...fork_Prague-address_0x000000000000000000000000000000000000000e-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000e True
...fork_Prague-address_0x000000000000000000000000000000000000000e-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000e True
...fork_Prague-address_0x000000000000000000000000000000000000000f-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000f True
...fork_Prague-address_0x000000000000000000000000000000000000000f-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000f True
...fork_Prague-address_0x0000000000000000000000000000000000000010-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000010 True
...fork_Prague-address_0x0000000000000000000000000000000000000010-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000010 True
...fork_Prague-address_0x0000000000000000000000000000000000000011-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000011 True
...fork_Prague-address_0x0000000000000000000000000000000000000011-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000011 True
...fork_Prague-address_0x0000000000000000000000000000000000000012-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000012 False
...fork_Prague-address_0x0000000000000000000000000000000000000012-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000012 False
...fork_Prague-address_0x000000000000000000000000000000000000000a-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000a True
...fork_Prague-address_0x000000000000000000000000000000000000000a-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000a True
...fork_Prague-address_0x0000000000000000000000000000000000000009-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000009 True
...fork_Prague-address_0x0000000000000000000000000000000000000009-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000009 True
...fork_Prague-address_0x0000000000000000000000000000000000000005-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000005 True
...fork_Prague-address_0x0000000000000000000000000000000000000005-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000005 True
...fork_Prague-address_0x0000000000000000000000000000000000000006-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000006 True
...fork_Prague-address_0x0000000000000000000000000000000000000006-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000006 True
...fork_Prague-address_0x0000000000000000000000000000000000000007-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000007 True
...fork_Prague-address_0x0000000000000000000000000000000000000007-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000007 True
...fork_Prague-address_0x0000000000000000000000000000000000000008-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000008 True
...fork_Prague-address_0x0000000000000000000000000000000000000008-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000008 True
...fork_Prague-address_0x0000000000000000000000000000000000000001-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000001 True
...fork_Prague-address_0x0000000000000000000000000000000000000001-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000001 True
...fork_Prague-address_0x0000000000000000000000000000000000000000-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000000 False
...fork_Prague-address_0x0000000000000000000000000000000000000000-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000000 False
...fork_Prague-address_0x0000000000000000000000000000000000000002-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000002 True
...fork_Prague-address_0x0000000000000000000000000000000000000002-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000002 True
...fork_Prague-address_0x0000000000000000000000000000000000000003-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000003 True
...fork_Prague-address_0x0000000000000000000000000000000000000003-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000003 True
...fork_Prague-address_0x0000000000000000000000000000000000000004-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000004 True
...fork_Prague-address_0x0000000000000000000000000000000000000004-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000004 True
...fork_Osaka-address_0x0000000000000000000000000000000000000100-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000100 True
...fork_Osaka-address_0x0000000000000000000000000000000000000100-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000100 True
...fork_Osaka-address_0x00000000000000000000000000000000000000ff-precompile_exists_False-state_test 0x000000000000000000000000000000 00000000ff False
...fork_Osaka-address_0x00000000000000000000000000000000000000ff-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 00000000ff False
...fork_Osaka-address_0x0000000000000000000000000000000000000101-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000101 False
...fork_Osaka-address_0x0000000000000000000000000000000000000101-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000101 False
...fork_Osaka-address_0x000000000000000000000000000000000000000b-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000b True
...fork_Osaka-address_0x000000000000000000000000000000000000000b-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000b True
...fork_Osaka-address_0x000000000000000000000000000000000000000c-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000c True
...fork_Osaka-address_0x000000000000000000000000000000000000000c-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000c True
...fork_Osaka-address_0x000000000000000000000000000000000000000d-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000d True
...fork_Osaka-address_0x000000000000000000000000000000000000000d-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000d True
...fork_Osaka-address_0x000000000000000000000000000000000000000e-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000e True
...fork_Osaka-address_0x000000000000000000000000000000000000000e-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000e True
...fork_Osaka-address_0x000000000000000000000000000000000000000f-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000f True
...fork_Osaka-address_0x000000000000000000000000000000000000000f-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000f True
...fork_Osaka-address_0x0000000000000000000000000000000000000010-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000010 True
...fork_Osaka-address_0x0000000000000000000000000000000000000010-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000010 True
...fork_Osaka-address_0x0000000000000000000000000000000000000011-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000011 True
...fork_Osaka-address_0x0000000000000000000000000000000000000011-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000011 True
...fork_Osaka-address_0x0000000000000000000000000000000000000012-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000012 False
...fork_Osaka-address_0x0000000000000000000000000000000000000012-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000012 False
...fork_Osaka-address_0x000000000000000000000000000000000000000a-precompile_exists_True-state_test 0x000000000000000000000000000000 000000000a True
...fork_Osaka-address_0x000000000000000000000000000000000000000a-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 000000000a True
...fork_Osaka-address_0x0000000000000000000000000000000000000009-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000009 True
...fork_Osaka-address_0x0000000000000000000000000000000000000009-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000009 True
...fork_Osaka-address_0x0000000000000000000000000000000000000005-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000005 True
...fork_Osaka-address_0x0000000000000000000000000000000000000005-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000005 True
...fork_Osaka-address_0x0000000000000000000000000000000000000006-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000006 True
...fork_Osaka-address_0x0000000000000000000000000000000000000006-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000006 True
...fork_Osaka-address_0x0000000000000000000000000000000000000007-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000007 True
...fork_Osaka-address_0x0000000000000000000000000000000000000007-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000007 True
...fork_Osaka-address_0x0000000000000000000000000000000000000008-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000008 True
...fork_Osaka-address_0x0000000000000000000000000000000000000008-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000008 True
...fork_Osaka-address_0x0000000000000000000000000000000000000001-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000001 True
...fork_Osaka-address_0x0000000000000000000000000000000000000001-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000001 True
...fork_Osaka-address_0x0000000000000000000000000000000000000000-precompile_exists_False-state_test 0x000000000000000000000000000000 0000000000 False
...fork_Osaka-address_0x0000000000000000000000000000000000000000-precompile_exists_False-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000000 False
...fork_Osaka-address_0x0000000000000000000000000000000000000002-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000002 True
...fork_Osaka-address_0x0000000000000000000000000000000000000002-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000002 True
...fork_Osaka-address_0x0000000000000000000000000000000000000003-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000003 True
...fork_Osaka-address_0x0000000000000000000000000000000000000003-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000003 True
...fork_Osaka-address_0x0000000000000000000000000000000000000004-precompile_exists_True-state_test 0x000000000000000000000000000000 0000000004 True
...fork_Osaka-address_0x0000000000000000000000000000000000000004-precompile_exists_True-blockchain_test_from_state_test 0x000000000000000000000000000000 0000000004 True