Skip to content

test_valid_inputs()

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

Generate fixtures for these test cases for Bogota with:

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

Test valid sanity precompile calls that are expected to succeed.

Source code in tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py
@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 5 forks.