Skip to content

test_precompile_before_fork()

Documentation for tests/prague/eip2537_bls_12_381_precompiles/test_bls12_precompiles_before_fork.py::test_precompile_before_fork@26332146.

Generate fixtures for these test cases for Prague with:

fill -v tests/prague/eip2537_bls_12_381_precompiles/test_bls12_precompiles_before_fork.py::test_precompile_before_fork --fork Prague

Test all BLS12 precompiles before the Prague hard fork is active.

The call must succeed but the output must be empty.

Source code in tests/prague/eip2537_bls_12_381_precompiles/test_bls12_precompiles_before_fork.py
 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
@pytest.mark.parametrize(
    "precompile_address,input_data",
    [
        pytest.param(
            Spec.G1ADD,
            Spec.INF_G1 + Spec.INF_G1,
            id="G1ADD",
        ),
        pytest.param(
            Spec.G1MSM,
            Spec.INF_G1 + Scalar(0),
            id="G1MSM",
        ),
        pytest.param(
            Spec.G2ADD,
            Spec.INF_G2 + Spec.INF_G2,
            id="G2ADD",
        ),
        pytest.param(
            Spec.G2MSM,
            Spec.INF_G2 + Scalar(0),
            id="G2MSM",
        ),
        pytest.param(
            Spec.PAIRING,
            Spec.INF_G1 + Spec.INF_G2,
            id="PAIRING",
        ),
        pytest.param(
            Spec.MAP_FP_TO_G1,
            FP(0),
            id="MAP_FP_TO_G1",
        ),
        pytest.param(
            Spec.MAP_FP2_TO_G2,
            FP2((0, 0)),
            id="MAP_FP2_TO_G2",
        ),
    ],
)
@pytest.mark.parametrize(
    "expected_output,call_succeeds", [pytest.param(b"", True, id="")]
)
def test_precompile_before_fork(
    state_test: StateTestFiller,
    pre: Alloc,
    post: dict,
    tx: Transaction,
) -> None:
    """
    Test all BLS12 precompiles before the Prague hard fork is active.

    The call must succeed but the output must be empty.
    """
    state_test(
        env=Environment(),
        pre=pre,
        tx=tx,
        post=post,
    )

Parametrized Test Cases

This test generates 7 parametrized test cases across 1 fork.