Skip to content

test_valid()

Documentation for tests/prague/eip2537_bls_12_381_precompiles/test_bls12_map_fp_to_g1.py::test_valid@83970623.

Generate fixtures for these test cases for Prague with:

fill -v tests/prague/eip2537_bls_12_381_precompiles/test_bls12_map_fp_to_g1.py::test_valid --fork Prague

Test the BLS12_MAP_FP_TO_G1 precompile.

Source code in tests/prague/eip2537_bls_12_381_precompiles/test_bls12_map_fp_to_g1.py
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
@pytest.mark.parametrize(
    "input_data,expected_output,vector_gas_value",
    vectors_from_file("map_fp_to_G1_bls.json")
    + [
        pytest.param(
            FP(0),
            G1_POINT_ZERO_FP,
            None,
            id="fp_0",
        ),
        pytest.param(
            FP(Spec.P - 1),
            PointG1(
                0x1073311196F8EF19477219CCEE3A48035FF432295AA9419EED45D186027D88B90832E14C4F0E2AA4D15F54D1C3ED0F93,  # noqa: E501
                0x16B3A3B2E3DDDF6A11459DDAF657FDE21C4F10282A56029D9B55AB3CE1F41E1CF39AD27E0EA35823C7D3250E81FF3D66,  # noqa: E501
            ),
            None,
            id="fp_p_minus_1",
        ),
    ],
)
def test_valid(
    state_test: StateTestFiller,
    pre: Alloc,
    post: dict,
    tx: Transaction,
):
    """Test the BLS12_MAP_FP_TO_G1 precompile."""
    state_test(
        env=Environment(),
        pre=pre,
        tx=tx,
        post=post,
    )

Parametrized Test Cases

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

Test ID (Abbreviated) input_data expected_output vector_gas_value precompile_address
...fork_Prague-blockchain_test-bls_g1map_- 00000000000000000000000000000000 156c8a6a2c184569d69a76be144b5cdc 5141d2d2ca4fe341f011e25e3969c55a d9e9b9ce2eb833c81a908e5fa4ac5f03 00000000000000000000000000000000 184bb665c37ff561a89ec2122dd343f2 0e0f4cbcaec84e3c3052ea81d1834e19 2c426074b02ed3dca4e7676ce4ce48ba 00000000000000000000000000000000 04407b8d35af4dacc809927071fc0405 218f1401a6d15af775810e4e460064bc c9468beeba82fdc751be70476c888bf3 5500 16
...fork_Prague-blockchain_test-bls_g1map_616263- 00000000000000000000000000000000 147e1ed29f06e4c5079b9d14fc89d282 0d32419b990c1c7bb7dbea2a36a04512 4b31ffbde7c99329c05c559af1c6cc82 00000000000000000000000000000000 009769f3ab59bfd551d53a5f846b9984 c59b97d6842b20a2c565baa167945e3d 026a3755b6345df8ec7e6acb6868ae6d 00000000000000000000000000000000 1532c00cf61aa3d0ce3e5aa20c3b531a 2abd2c770a790a2613818303c6b830ff c0ecf6c357af3317b9575c567f11cd2c 5500 16
...fork_Prague-blockchain_test-bls_g1map_6162636465663031- 00000000000000000000000000000000 04090815ad598a06897dd89bcda860f2 5837d54e897298ce31e6947378134d37 61dc59a572154963e8c954919ecfa82d 00000000000000000000000000000000 1974dbb8e6b5d20b84df7e625e2fbfec b2cdb5f77d5eae5fb2955e5ce7313cae 8364bc2fff520a6c25619739c6bdcb6a 00000000000000000000000000000000 15f9897e11c6441eaa676de141c8d83c 37aab8667173cbe1dfd6de74d11861b9 61dccebcd9d289ac633455dfcc7013a3 5500 16
...fork_Prague-blockchain_test-bls_g1map_713132385f717171- 00000000000000000000000000000000 08dccd088ca55b8bfbc96fb50bb25c59 2faa867a8bb78d4e94a8cc2c92306190 244532e91feba2b7fed977e3c3bb5a1f 00000000000000000000000000000000 0a7a047c4a8397b3446450642c2ac64d 7239b61872c9ae7a59707a8f4f950f10 1e766afe58223b3bff3a19a7f754027c 00000000000000000000000000000000 1383aebba1e4327ccff7cf9912bda0db c77de048b71ef8c8a81111d71dc33c5e 3aa6edee9cf6f5fe525d50cc50b77cc9 5500 16
...fork_Prague-blockchain_test-bls_g1map_613531325f616161- 00000000000000000000000000000000 0dd824886d2123a96447f6c56e3a3fa9 92fbfefdba17b6673f9f630ff19e4d32 6529db37e1c1be43f905bf9202e0278d 00000000000000000000000000000000 0e7a16a975904f131682edbb03d9560d 3e48214c9986bd50417a77108d13dc95 7500edf96462a3d01e62dc6cd468ef11 00000000000000000000000000000000 0ae89e677711d05c30a48d6d75e76ca9 fb70fe06c6dd6ff988683d89ccde29ac 7d46c53bb97a59b1901abf1db66052db 5500 16
...fork_Prague-blockchain_test-fp_0- FP(x=0) PointG1(x=2718523093224377422680924513836569955862094615601650617640302534610709548675950121390173489943242206205504662709269, y=1411717398097673129936182529224644864953905593399347218631786464447277645552464825136124091127047943658180991656243) None 16
...fork_Prague-blockchain_test-fp_p_minus_1- FP(x=4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786) PointG1(x=2531881720866212573106624935600227374014134685620935604786417060151780484946724414277918138685897016648236293492627, y=3494113976393496954514859967781871848183489674769716304743090628898465306424935307060494264779649759723587972840806) None 16
...fork_Prague-state_test-bls_g1map_- 00000000000000000000000000000000 156c8a6a2c184569d69a76be144b5cdc 5141d2d2ca4fe341f011e25e3969c55a d9e9b9ce2eb833c81a908e5fa4ac5f03 00000000000000000000000000000000 184bb665c37ff561a89ec2122dd343f2 0e0f4cbcaec84e3c3052ea81d1834e19 2c426074b02ed3dca4e7676ce4ce48ba 00000000000000000000000000000000 04407b8d35af4dacc809927071fc0405 218f1401a6d15af775810e4e460064bc c9468beeba82fdc751be70476c888bf3 5500 16
...fork_Prague-state_test-bls_g1map_616263- 00000000000000000000000000000000 147e1ed29f06e4c5079b9d14fc89d282 0d32419b990c1c7bb7dbea2a36a04512 4b31ffbde7c99329c05c559af1c6cc82 00000000000000000000000000000000 009769f3ab59bfd551d53a5f846b9984 c59b97d6842b20a2c565baa167945e3d 026a3755b6345df8ec7e6acb6868ae6d 00000000000000000000000000000000 1532c00cf61aa3d0ce3e5aa20c3b531a 2abd2c770a790a2613818303c6b830ff c0ecf6c357af3317b9575c567f11cd2c 5500 16
...fork_Prague-state_test-bls_g1map_6162636465663031- 00000000000000000000000000000000 04090815ad598a06897dd89bcda860f2 5837d54e897298ce31e6947378134d37 61dc59a572154963e8c954919ecfa82d 00000000000000000000000000000000 1974dbb8e6b5d20b84df7e625e2fbfec b2cdb5f77d5eae5fb2955e5ce7313cae 8364bc2fff520a6c25619739c6bdcb6a 00000000000000000000000000000000 15f9897e11c6441eaa676de141c8d83c 37aab8667173cbe1dfd6de74d11861b9 61dccebcd9d289ac633455dfcc7013a3 5500 16
...fork_Prague-state_test-bls_g1map_713132385f717171- 00000000000000000000000000000000 08dccd088ca55b8bfbc96fb50bb25c59 2faa867a8bb78d4e94a8cc2c92306190 244532e91feba2b7fed977e3c3bb5a1f 00000000000000000000000000000000 0a7a047c4a8397b3446450642c2ac64d 7239b61872c9ae7a59707a8f4f950f10 1e766afe58223b3bff3a19a7f754027c 00000000000000000000000000000000 1383aebba1e4327ccff7cf9912bda0db c77de048b71ef8c8a81111d71dc33c5e 3aa6edee9cf6f5fe525d50cc50b77cc9 5500 16
...fork_Prague-state_test-bls_g1map_613531325f616161- 00000000000000000000000000000000 0dd824886d2123a96447f6c56e3a3fa9 92fbfefdba17b6673f9f630ff19e4d32 6529db37e1c1be43f905bf9202e0278d 00000000000000000000000000000000 0e7a16a975904f131682edbb03d9560d 3e48214c9986bd50417a77108d13dc95 7500edf96462a3d01e62dc6cd468ef11 00000000000000000000000000000000 0ae89e677711d05c30a48d6d75e76ca9 fb70fe06c6dd6ff988683d89ccde29ac 7d46c53bb97a59b1901abf1db66052db 5500 16
...fork_Prague-state_test-fp_0- FP(x=0) PointG1(x=2718523093224377422680924513836569955862094615601650617640302534610709548675950121390173489943242206205504662709269, y=1411717398097673129936182529224644864953905593399347218631786464447277645552464825136124091127047943658180991656243) None 16
...fork_Prague-state_test-fp_p_minus_1- FP(x=4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786) PointG1(x=2531881720866212573106624935600227374014134685620935604786417060151780484946724414277918138685897016648236293492627, y=3494113976393496954514859967781871848183489674769716304743090628898465306424935307060494264779649759723587972840806) None 16
...fork_Osaka-blockchain_test-bls_g1map_- 00000000000000000000000000000000 156c8a6a2c184569d69a76be144b5cdc 5141d2d2ca4fe341f011e25e3969c55a d9e9b9ce2eb833c81a908e5fa4ac5f03 00000000000000000000000000000000 184bb665c37ff561a89ec2122dd343f2 0e0f4cbcaec84e3c3052ea81d1834e19 2c426074b02ed3dca4e7676ce4ce48ba 00000000000000000000000000000000 04407b8d35af4dacc809927071fc0405 218f1401a6d15af775810e4e460064bc c9468beeba82fdc751be70476c888bf3 5500 16
...fork_Osaka-blockchain_test-bls_g1map_616263- 00000000000000000000000000000000 147e1ed29f06e4c5079b9d14fc89d282 0d32419b990c1c7bb7dbea2a36a04512 4b31ffbde7c99329c05c559af1c6cc82 00000000000000000000000000000000 009769f3ab59bfd551d53a5f846b9984 c59b97d6842b20a2c565baa167945e3d 026a3755b6345df8ec7e6acb6868ae6d 00000000000000000000000000000000 1532c00cf61aa3d0ce3e5aa20c3b531a 2abd2c770a790a2613818303c6b830ff c0ecf6c357af3317b9575c567f11cd2c 5500 16
...fork_Osaka-blockchain_test-bls_g1map_6162636465663031- 00000000000000000000000000000000 04090815ad598a06897dd89bcda860f2 5837d54e897298ce31e6947378134d37 61dc59a572154963e8c954919ecfa82d 00000000000000000000000000000000 1974dbb8e6b5d20b84df7e625e2fbfec b2cdb5f77d5eae5fb2955e5ce7313cae 8364bc2fff520a6c25619739c6bdcb6a 00000000000000000000000000000000 15f9897e11c6441eaa676de141c8d83c 37aab8667173cbe1dfd6de74d11861b9 61dccebcd9d289ac633455dfcc7013a3 5500 16
...fork_Osaka-blockchain_test-bls_g1map_713132385f717171- 00000000000000000000000000000000 08dccd088ca55b8bfbc96fb50bb25c59 2faa867a8bb78d4e94a8cc2c92306190 244532e91feba2b7fed977e3c3bb5a1f 00000000000000000000000000000000 0a7a047c4a8397b3446450642c2ac64d 7239b61872c9ae7a59707a8f4f950f10 1e766afe58223b3bff3a19a7f754027c 00000000000000000000000000000000 1383aebba1e4327ccff7cf9912bda0db c77de048b71ef8c8a81111d71dc33c5e 3aa6edee9cf6f5fe525d50cc50b77cc9 5500 16
...fork_Osaka-blockchain_test-bls_g1map_613531325f616161- 00000000000000000000000000000000 0dd824886d2123a96447f6c56e3a3fa9 92fbfefdba17b6673f9f630ff19e4d32 6529db37e1c1be43f905bf9202e0278d 00000000000000000000000000000000 0e7a16a975904f131682edbb03d9560d 3e48214c9986bd50417a77108d13dc95 7500edf96462a3d01e62dc6cd468ef11 00000000000000000000000000000000 0ae89e677711d05c30a48d6d75e76ca9 fb70fe06c6dd6ff988683d89ccde29ac 7d46c53bb97a59b1901abf1db66052db 5500 16
...fork_Osaka-blockchain_test-fp_0- FP(x=0) PointG1(x=2718523093224377422680924513836569955862094615601650617640302534610709548675950121390173489943242206205504662709269, y=1411717398097673129936182529224644864953905593399347218631786464447277645552464825136124091127047943658180991656243) None 16
...fork_Osaka-blockchain_test-fp_p_minus_1- FP(x=4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786) PointG1(x=2531881720866212573106624935600227374014134685620935604786417060151780484946724414277918138685897016648236293492627, y=3494113976393496954514859967781871848183489674769716304743090628898465306424935307060494264779649759723587972840806) None 16
...fork_Osaka-state_test-bls_g1map_- 00000000000000000000000000000000 156c8a6a2c184569d69a76be144b5cdc 5141d2d2ca4fe341f011e25e3969c55a d9e9b9ce2eb833c81a908e5fa4ac5f03 00000000000000000000000000000000 184bb665c37ff561a89ec2122dd343f2 0e0f4cbcaec84e3c3052ea81d1834e19 2c426074b02ed3dca4e7676ce4ce48ba 00000000000000000000000000000000 04407b8d35af4dacc809927071fc0405 218f1401a6d15af775810e4e460064bc c9468beeba82fdc751be70476c888bf3 5500 16
...fork_Osaka-state_test-bls_g1map_616263- 00000000000000000000000000000000 147e1ed29f06e4c5079b9d14fc89d282 0d32419b990c1c7bb7dbea2a36a04512 4b31ffbde7c99329c05c559af1c6cc82 00000000000000000000000000000000 009769f3ab59bfd551d53a5f846b9984 c59b97d6842b20a2c565baa167945e3d 026a3755b6345df8ec7e6acb6868ae6d 00000000000000000000000000000000 1532c00cf61aa3d0ce3e5aa20c3b531a 2abd2c770a790a2613818303c6b830ff c0ecf6c357af3317b9575c567f11cd2c 5500 16
...fork_Osaka-state_test-bls_g1map_6162636465663031- 00000000000000000000000000000000 04090815ad598a06897dd89bcda860f2 5837d54e897298ce31e6947378134d37 61dc59a572154963e8c954919ecfa82d 00000000000000000000000000000000 1974dbb8e6b5d20b84df7e625e2fbfec b2cdb5f77d5eae5fb2955e5ce7313cae 8364bc2fff520a6c25619739c6bdcb6a 00000000000000000000000000000000 15f9897e11c6441eaa676de141c8d83c 37aab8667173cbe1dfd6de74d11861b9 61dccebcd9d289ac633455dfcc7013a3 5500 16
...fork_Osaka-state_test-bls_g1map_713132385f717171- 00000000000000000000000000000000 08dccd088ca55b8bfbc96fb50bb25c59 2faa867a8bb78d4e94a8cc2c92306190 244532e91feba2b7fed977e3c3bb5a1f 00000000000000000000000000000000 0a7a047c4a8397b3446450642c2ac64d 7239b61872c9ae7a59707a8f4f950f10 1e766afe58223b3bff3a19a7f754027c 00000000000000000000000000000000 1383aebba1e4327ccff7cf9912bda0db c77de048b71ef8c8a81111d71dc33c5e 3aa6edee9cf6f5fe525d50cc50b77cc9 5500 16
...fork_Osaka-state_test-bls_g1map_613531325f616161- 00000000000000000000000000000000 0dd824886d2123a96447f6c56e3a3fa9 92fbfefdba17b6673f9f630ff19e4d32 6529db37e1c1be43f905bf9202e0278d 00000000000000000000000000000000 0e7a16a975904f131682edbb03d9560d 3e48214c9986bd50417a77108d13dc95 7500edf96462a3d01e62dc6cd468ef11 00000000000000000000000000000000 0ae89e677711d05c30a48d6d75e76ca9 fb70fe06c6dd6ff988683d89ccde29ac 7d46c53bb97a59b1901abf1db66052db 5500 16
...fork_Osaka-state_test-fp_0- FP(x=0) PointG1(x=2718523093224377422680924513836569955862094615601650617640302534610709548675950121390173489943242206205504662709269, y=1411717398097673129936182529224644864953905593399347218631786464447277645552464825136124091127047943658180991656243) None 16
...fork_Osaka-state_test-fp_p_minus_1- FP(x=4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786) PointG1(x=2531881720866212573106624935600227374014134685620935604786417060151780484946724414277918138685897016648236293492627, y=3494113976393496954514859967781871848183489674769716304743090628898465306424935307060494264779649759723587972840806) None 16