Skip to content

test_call_types()

Documentation for tests/osaka/eip7951_p256verify_precompiles/test_p256verify.py::test_call_types@0f7c73a7.

Generate fixtures for these test cases for Osaka with:

fill -v tests/osaka/eip7951_p256verify_precompiles/test_p256verify.py::test_call_types --fork Osaka

Test P256Verify precompile using different call types.

Source code in tests/osaka/eip7951_p256verify_precompiles/test_p256verify.py
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
@pytest.mark.parametrize(
    "call_opcode",
    [
        Op.STATICCALL,
        Op.DELEGATECALL,
        Op.CALLCODE,
    ],
)
@pytest.mark.parametrize(
    "input_data,expected_output",
    [
        pytest.param(
            Spec.H0 + Spec.R0 + Spec.S0 + Spec.X0 + Spec.Y0,
            Spec.SUCCESS_RETURN_VALUE,
            id="valid_call",
        ),
    ],
)
@pytest.mark.parametrize("precompile_address", [Spec.P256VERIFY], ids=[""])
@pytest.mark.eip_checklist("precompile/test/call_contexts/delegate")
@pytest.mark.eip_checklist("precompile/test/call_contexts/static")
@pytest.mark.eip_checklist("precompile/test/call_contexts/callcode")
def test_call_types(
    state_test: StateTestFiller,
    pre: Alloc,
    post: dict,
    tx: Transaction,
):
    """Test P256Verify precompile using different call types."""
    state_test(env=Environment(), pre=pre, post=post, tx=tx)

Parametrized Test Cases

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

Test ID (Abbreviated) precompile_address input_data expected_output call_opcode
...fork_Osaka-state_test--valid_call-call_opcode_STATICCALL 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e 00000000000000000000000000000000 00000000000000000000000000000001 STATICCALL
...fork_Osaka-state_test--valid_call-call_opcode_DELEGATECALL 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e 00000000000000000000000000000000 00000000000000000000000000000001 DELEGATECALL
...fork_Osaka-state_test--valid_call-call_opcode_CALLCODE 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e 00000000000000000000000000000000 00000000000000000000000000000001 CALLCODE
...fork_Osaka-blockchain_test_from_state_test--valid_call-call_opcode_STATICCALL 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e 00000000000000000000000000000000 00000000000000000000000000000001 STATICCALL
...fork_Osaka-blockchain_test_from_state_test--valid_call-call_opcode_DELEGATECALL 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e 00000000000000000000000000000000 00000000000000000000000000000001 DELEGATECALL
...fork_Osaka-blockchain_test_from_state_test--valid_call-call_opcode_CALLCODE 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e 00000000000000000000000000000000 00000000000000000000000000000001 CALLCODE