Skip to content

test_valid_inputs()

Documentation for tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_valid_inputs@b314d18e.

Generate fixtures for these test cases for Amsterdam with:

fill -v tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_valid_inputs --fork Amsterdam

Test valid sanity precompile calls that are expected to succeed.

Source code in tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
@pytest.mark.parametrize(
    "z,y,kzg_commitment,kzg_proof,versioned_hash",
    [
        # Commitment and proof at infinity represent the polynomial p == 0,
        # so p(z) == 0 for any z and the call succeeds with y == 0.
        pytest.param(
            Spec.BLS_MODULUS - 1,
            0,
            INF_POINT,
            INF_POINT,
            None,
            id="in_bounds_z",
        ),
        # Example valid input from a Mainnet transaction:
        # https://etherscan.io/tx/0xcb3dc8f3b14f1cda0c16a619a112102a8ec70dce1b3f1b28272227cf8d5fbb0e
        pytest.param(
            0x019123BCB9D06356701F7BE08B4494625B87A7B02EDC566126FB81F6306E915F,
            0x6C2EB1E94C2532935B8465351BA1BD88EABE2B3FA1AADFF7D1CD816E8315BD38,
            0xA9546D41993E10DF2A7429B8490394EA9EE62807BAE6F326D1044A51581306F58D4B9DFD5931E044688855280FF3799E,
            0xA2EA83D9391E0EE42E0C650ACC7A1F842A7D385189485DDB4FD54ADE3D9FD50D608167DCA6C776AAD4B8AD5C20691BFE,
            0x018156B94FE9735E573BAB36DAD05D60FEB720D424CCD20AAF719343C31E4246,
            id="mainnet_1",
        ),
    ],
)
@pytest.mark.parametrize("result", [Result.SUCCESS])
@pytest.mark.valid_from("Cancun")
def test_valid_inputs(
    state_test: StateTestFiller,
    pre: Alloc,
    tx: Transaction,
    post: Dict,
) -> None:
    """Test valid sanity precompile calls that are expected to succeed."""
    state_test(
        env=Environment(),
        pre=pre,
        post=post,
        tx=tx,
    )

Parametrized Test Cases

This test generates 2 parametrized test cases across 4 forks.