test_invalid_length_g2msm()
¶
Documentation for tests/prague/eip2537_bls_12_381_precompiles/test_bls12_variable_length_input_contracts.py::test_invalid_length_g2msm@49a16fac
.
Generate fixtures for these test cases for Prague with:
fill -v tests/prague/eip2537_bls_12_381_precompiles/test_bls12_variable_length_input_contracts.py::test_invalid_length_g2msm --fork Prague
Test the BLS12_G2MSM discount gas table in full, by expecting the call to fail for all possible input lengths provided because they are too long or short, or zero length.
If any of the calls succeeds, the test will fail.
Source code in tests/prague/eip2537_bls_12_381_precompiles/test_bls12_variable_length_input_contracts.py
307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 |
|
Parametrized Test Cases¶
The interactive table below is also available as a standalone page.
Test ID (Abbreviated) | precompile_address | tx_gas_limit | expected_output | precompile_gas_list | precompile_data_length_list |
---|---|---|---|---|---|
...fork_Prague-blockchain_test-precompile_address_14---zero_length_input | 14 | 100000000 | [22500] | [0] | |
...fork_Prague-blockchain_test-precompile_address_14---input_one_byte_too_short_full_discount_table | 14 | 100000000 | [22500, 45000, 62302, 79560, 96187, 112320, 127890, 143280, 158355, 173250, 187852, 202230, 216450, 230580, 244350, 258120, 271957, 285120, 298822, 311850, 325080, 338085, 351382, 363960, 376875, 389610, 402772, 415170, 427387, 440100, 452677, 465120, 477427, 489600, 501637, 513540, 526140, 537795, 550192, 561600, 573795, 585900, 597915, 608850, 620662, 632385, 644017, 655560, 668115, 679500, 690795, 702000, 713115, 725355, 736312, 747180, 759240, 769950, 781897, 792450, 804285, 814680, 826402, 838080, 848250, 859815, 871335, 881280, 892687, 904050, 915367, 925020, 936225, 947385, 958500, 969570, 980595, 991575, 1000732, 1011600, 1022422, 1033200, 1043932, 1054620, 1065262, 1075860, 1086412, 1096920, 1107382, 1117800, 1130220, 1140570, 1150875, 1161135, 1171350, 1181520, 1191645, 1201725, 1213987, 1224000, 1233967, 1243890, 1253767, 1265940, 1275750, 1285515, 1295235, 1304910, 1316992, 1326600, 1336162, 1348200, 1357695, 1367145, 1376550, 1388520, 1397857, 1407150, 1419075, 1428300, 1437480, 1449360, 1458472, 1467540, 1479375, 1488375, 1497330, 1509120] | [287, 575, 863, 1151, 1439, 1727, 2015, 2303, 2591, 2879, 3167, 3455, 3743, 4031, 4319, 4607, 4895, 5183, 5471, 5759, 6047, 6335, 6623, 6911, 7199, 7487, 7775, 8063, 8351, 8639, 8927, 9215, 9503, 9791, 10079, 10367, 10655, 10943, 11231, 11519, 11807, 12095, 12383, 12671, 12959, 13247, 13535, 13823, 14111, 14399, 14687, 14975, 15263, 15551, 15839, 16127, 16415, 16703, 16991, 17279, 17567, 17855, 18143, 18431, 18719, 19007, 19295, 19583, 19871, 20159, 20447, 20735, 21023, 21311, 21599, 21887, 22175, 22463, 22751, 23039, 23327, 23615, 23903, 24191, 24479, 24767, 25055, 25343, 25631, 25919, 26207, 26495, 26783, 27071, 27359, 27647, 27935, 28223, 28511, 28799, 29087, 29375, 29663, 29951, 30239, 30527, 30815, 31103, 31391, 31679, 31967, 32255, 32543, 32831, 33119, 33407, 33695, 33983, 34271, 34559, 34847, 35135, 35423, 35711, 35999, 36287, 36575, 36863] | |
...fork_Prague-blockchain_test-precompile_address_14---input_one_byte_too_long_full_discount_table | 14 | 100000000 | [22500, 45000, 62302, 79560, 96187, 112320, 127890, 143280, 158355, 173250, 187852, 202230, 216450, 230580, 244350, 258120, 271957, 285120, 298822, 311850, 325080, 338085, 351382, 363960, 376875, 389610, 402772, 415170, 427387, 440100, 452677, 465120, 477427, 489600, 501637, 513540, 526140, 537795, 550192, 561600, 573795, 585900, 597915, 608850, 620662, 632385, 644017, 655560, 668115, 679500, 690795, 702000, 713115, 725355, 736312, 747180, 759240, 769950, 781897, 792450, 804285, 814680, 826402, 838080, 848250, 859815, 871335, 881280, 892687, 904050, 915367, 925020, 936225, 947385, 958500, 969570, 980595, 991575, 1000732, 1011600, 1022422, 1033200, 1043932, 1054620, 1065262, 1075860, 1086412, 1096920, 1107382, 1117800, 1130220, 1140570, 1150875, 1161135, 1171350, 1181520, 1191645, 1201725, 1213987, 1224000, 1233967, 1243890, 1253767, 1265940, 1275750, 1285515, 1295235, 1304910, 1316992, 1326600, 1336162, 1348200, 1357695, 1367145, 1376550, 1388520, 1397857, 1407150, 1419075, 1428300, 1437480, 1449360, 1458472, 1467540, 1479375, 1488375, 1497330, 1509120] | [289, 577, 865, 1153, 1441, 1729, 2017, 2305, 2593, 2881, 3169, 3457, 3745, 4033, 4321, 4609, 4897, 5185, 5473, 5761, 6049, 6337, 6625, 6913, 7201, 7489, 7777, 8065, 8353, 8641, 8929, 9217, 9505, 9793, 10081, 10369, 10657, 10945, 11233, 11521, 11809, 12097, 12385, 12673, 12961, 13249, 13537, 13825, 14113, 14401, 14689, 14977, 15265, 15553, 15841, 16129, 16417, 16705, 16993, 17281, 17569, 17857, 18145, 18433, 18721, 19009, 19297, 19585, 19873, 20161, 20449, 20737, 21025, 21313, 21601, 21889, 22177, 22465, 22753, 23041, 23329, 23617, 23905, 24193, 24481, 24769, 25057, 25345, 25633, 25921, 26209, 26497, 26785, 27073, 27361, 27649, 27937, 28225, 28513, 28801, 29089, 29377, 29665, 29953, 30241, 30529, 30817, 31105, 31393, 31681, 31969, 32257, 32545, 32833, 33121, 33409, 33697, 33985, 34273, 34561, 34849, 35137, 35425, 35713, 36001, 36289, 36577, 36865] | |
...fork_Prague-state_test-precompile_address_14---zero_length_input | 14 | 100000000 | [22500] | [0] | |
...fork_Prague-state_test-precompile_address_14---input_one_byte_too_short_full_discount_table | 14 | 100000000 | [22500, 45000, 62302, 79560, 96187, 112320, 127890, 143280, 158355, 173250, 187852, 202230, 216450, 230580, 244350, 258120, 271957, 285120, 298822, 311850, 325080, 338085, 351382, 363960, 376875, 389610, 402772, 415170, 427387, 440100, 452677, 465120, 477427, 489600, 501637, 513540, 526140, 537795, 550192, 561600, 573795, 585900, 597915, 608850, 620662, 632385, 644017, 655560, 668115, 679500, 690795, 702000, 713115, 725355, 736312, 747180, 759240, 769950, 781897, 792450, 804285, 814680, 826402, 838080, 848250, 859815, 871335, 881280, 892687, 904050, 915367, 925020, 936225, 947385, 958500, 969570, 980595, 991575, 1000732, 1011600, 1022422, 1033200, 1043932, 1054620, 1065262, 1075860, 1086412, 1096920, 1107382, 1117800, 1130220, 1140570, 1150875, 1161135, 1171350, 1181520, 1191645, 1201725, 1213987, 1224000, 1233967, 1243890, 1253767, 1265940, 1275750, 1285515, 1295235, 1304910, 1316992, 1326600, 1336162, 1348200, 1357695, 1367145, 1376550, 1388520, 1397857, 1407150, 1419075, 1428300, 1437480, 1449360, 1458472, 1467540, 1479375, 1488375, 1497330, 1509120] | [287, 575, 863, 1151, 1439, 1727, 2015, 2303, 2591, 2879, 3167, 3455, 3743, 4031, 4319, 4607, 4895, 5183, 5471, 5759, 6047, 6335, 6623, 6911, 7199, 7487, 7775, 8063, 8351, 8639, 8927, 9215, 9503, 9791, 10079, 10367, 10655, 10943, 11231, 11519, 11807, 12095, 12383, 12671, 12959, 13247, 13535, 13823, 14111, 14399, 14687, 14975, 15263, 15551, 15839, 16127, 16415, 16703, 16991, 17279, 17567, 17855, 18143, 18431, 18719, 19007, 19295, 19583, 19871, 20159, 20447, 20735, 21023, 21311, 21599, 21887, 22175, 22463, 22751, 23039, 23327, 23615, 23903, 24191, 24479, 24767, 25055, 25343, 25631, 25919, 26207, 26495, 26783, 27071, 27359, 27647, 27935, 28223, 28511, 28799, 29087, 29375, 29663, 29951, 30239, 30527, 30815, 31103, 31391, 31679, 31967, 32255, 32543, 32831, 33119, 33407, 33695, 33983, 34271, 34559, 34847, 35135, 35423, 35711, 35999, 36287, 36575, 36863] | |
...fork_Prague-state_test-precompile_address_14---input_one_byte_too_long_full_discount_table | 14 | 100000000 | [22500, 45000, 62302, 79560, 96187, 112320, 127890, 143280, 158355, 173250, 187852, 202230, 216450, 230580, 244350, 258120, 271957, 285120, 298822, 311850, 325080, 338085, 351382, 363960, 376875, 389610, 402772, 415170, 427387, 440100, 452677, 465120, 477427, 489600, 501637, 513540, 526140, 537795, 550192, 561600, 573795, 585900, 597915, 608850, 620662, 632385, 644017, 655560, 668115, 679500, 690795, 702000, 713115, 725355, 736312, 747180, 759240, 769950, 781897, 792450, 804285, 814680, 826402, 838080, 848250, 859815, 871335, 881280, 892687, 904050, 915367, 925020, 936225, 947385, 958500, 969570, 980595, 991575, 1000732, 1011600, 1022422, 1033200, 1043932, 1054620, 1065262, 1075860, 1086412, 1096920, 1107382, 1117800, 1130220, 1140570, 1150875, 1161135, 1171350, 1181520, 1191645, 1201725, 1213987, 1224000, 1233967, 1243890, 1253767, 1265940, 1275750, 1285515, 1295235, 1304910, 1316992, 1326600, 1336162, 1348200, 1357695, 1367145, 1376550, 1388520, 1397857, 1407150, 1419075, 1428300, 1437480, 1449360, 1458472, 1467540, 1479375, 1488375, 1497330, 1509120] | [289, 577, 865, 1153, 1441, 1729, 2017, 2305, 2593, 2881, 3169, 3457, 3745, 4033, 4321, 4609, 4897, 5185, 5473, 5761, 6049, 6337, 6625, 6913, 7201, 7489, 7777, 8065, 8353, 8641, 8929, 9217, 9505, 9793, 10081, 10369, 10657, 10945, 11233, 11521, 11809, 12097, 12385, 12673, 12961, 13249, 13537, 13825, 14113, 14401, 14689, 14977, 15265, 15553, 15841, 16129, 16417, 16705, 16993, 17281, 17569, 17857, 18145, 18433, 18721, 19009, 19297, 19585, 19873, 20161, 20449, 20737, 21025, 21313, 21601, 21889, 22177, 22465, 22753, 23041, 23329, 23617, 23905, 24193, 24481, 24769, 25057, 25345, 25633, 25921, 26209, 26497, 26785, 27073, 27361, 27649, 27937, 28225, 28513, 28801, 29089, 29377, 29665, 29953, 30241, 30529, 30817, 31105, 31393, 31681, 31969, 32257, 32545, 32833, 33121, 33409, 33697, 33985, 34273, 34561, 34849, 35137, 35425, 35713, 36001, 36289, 36577, 36865] | |
...fork_Osaka-blockchain_test-precompile_address_14---zero_length_input | 14 | 100000000 | [22500] | [0] | |
...fork_Osaka-blockchain_test-precompile_address_14---input_one_byte_too_short_full_discount_table | 14 | 100000000 | [22500, 45000, 62302, 79560, 96187, 112320, 127890, 143280, 158355, 173250, 187852, 202230, 216450, 230580, 244350, 258120, 271957, 285120, 298822, 311850, 325080, 338085, 351382, 363960, 376875, 389610, 402772, 415170, 427387, 440100, 452677, 465120, 477427, 489600, 501637, 513540, 526140, 537795, 550192, 561600, 573795, 585900, 597915, 608850, 620662, 632385, 644017, 655560, 668115, 679500, 690795, 702000, 713115, 725355, 736312, 747180, 759240, 769950, 781897, 792450, 804285, 814680, 826402, 838080, 848250, 859815, 871335, 881280, 892687, 904050, 915367, 925020, 936225, 947385, 958500, 969570, 980595, 991575, 1000732, 1011600, 1022422, 1033200, 1043932, 1054620, 1065262, 1075860, 1086412, 1096920, 1107382, 1117800, 1130220, 1140570, 1150875, 1161135, 1171350, 1181520, 1191645, 1201725, 1213987, 1224000, 1233967, 1243890, 1253767, 1265940, 1275750, 1285515, 1295235, 1304910, 1316992, 1326600, 1336162, 1348200, 1357695, 1367145, 1376550, 1388520, 1397857, 1407150, 1419075, 1428300, 1437480, 1449360, 1458472, 1467540, 1479375, 1488375, 1497330, 1509120] | [287, 575, 863, 1151, 1439, 1727, 2015, 2303, 2591, 2879, 3167, 3455, 3743, 4031, 4319, 4607, 4895, 5183, 5471, 5759, 6047, 6335, 6623, 6911, 7199, 7487, 7775, 8063, 8351, 8639, 8927, 9215, 9503, 9791, 10079, 10367, 10655, 10943, 11231, 11519, 11807, 12095, 12383, 12671, 12959, 13247, 13535, 13823, 14111, 14399, 14687, 14975, 15263, 15551, 15839, 16127, 16415, 16703, 16991, 17279, 17567, 17855, 18143, 18431, 18719, 19007, 19295, 19583, 19871, 20159, 20447, 20735, 21023, 21311, 21599, 21887, 22175, 22463, 22751, 23039, 23327, 23615, 23903, 24191, 24479, 24767, 25055, 25343, 25631, 25919, 26207, 26495, 26783, 27071, 27359, 27647, 27935, 28223, 28511, 28799, 29087, 29375, 29663, 29951, 30239, 30527, 30815, 31103, 31391, 31679, 31967, 32255, 32543, 32831, 33119, 33407, 33695, 33983, 34271, 34559, 34847, 35135, 35423, 35711, 35999, 36287, 36575, 36863] | |
...fork_Osaka-blockchain_test-precompile_address_14---input_one_byte_too_long_full_discount_table | 14 | 100000000 | [22500, 45000, 62302, 79560, 96187, 112320, 127890, 143280, 158355, 173250, 187852, 202230, 216450, 230580, 244350, 258120, 271957, 285120, 298822, 311850, 325080, 338085, 351382, 363960, 376875, 389610, 402772, 415170, 427387, 440100, 452677, 465120, 477427, 489600, 501637, 513540, 526140, 537795, 550192, 561600, 573795, 585900, 597915, 608850, 620662, 632385, 644017, 655560, 668115, 679500, 690795, 702000, 713115, 725355, 736312, 747180, 759240, 769950, 781897, 792450, 804285, 814680, 826402, 838080, 848250, 859815, 871335, 881280, 892687, 904050, 915367, 925020, 936225, 947385, 958500, 969570, 980595, 991575, 1000732, 1011600, 1022422, 1033200, 1043932, 1054620, 1065262, 1075860, 1086412, 1096920, 1107382, 1117800, 1130220, 1140570, 1150875, 1161135, 1171350, 1181520, 1191645, 1201725, 1213987, 1224000, 1233967, 1243890, 1253767, 1265940, 1275750, 1285515, 1295235, 1304910, 1316992, 1326600, 1336162, 1348200, 1357695, 1367145, 1376550, 1388520, 1397857, 1407150, 1419075, 1428300, 1437480, 1449360, 1458472, 1467540, 1479375, 1488375, 1497330, 1509120] | [289, 577, 865, 1153, 1441, 1729, 2017, 2305, 2593, 2881, 3169, 3457, 3745, 4033, 4321, 4609, 4897, 5185, 5473, 5761, 6049, 6337, 6625, 6913, 7201, 7489, 7777, 8065, 8353, 8641, 8929, 9217, 9505, 9793, 10081, 10369, 10657, 10945, 11233, 11521, 11809, 12097, 12385, 12673, 12961, 13249, 13537, 13825, 14113, 14401, 14689, 14977, 15265, 15553, 15841, 16129, 16417, 16705, 16993, 17281, 17569, 17857, 18145, 18433, 18721, 19009, 19297, 19585, 19873, 20161, 20449, 20737, 21025, 21313, 21601, 21889, 22177, 22465, 22753, 23041, 23329, 23617, 23905, 24193, 24481, 24769, 25057, 25345, 25633, 25921, 26209, 26497, 26785, 27073, 27361, 27649, 27937, 28225, 28513, 28801, 29089, 29377, 29665, 29953, 30241, 30529, 30817, 31105, 31393, 31681, 31969, 32257, 32545, 32833, 33121, 33409, 33697, 33985, 34273, 34561, 34849, 35137, 35425, 35713, 36001, 36289, 36577, 36865] | |
...fork_Osaka-state_test-precompile_address_14---zero_length_input | 14 | 100000000 | [22500] | [0] | |
...fork_Osaka-state_test-precompile_address_14---input_one_byte_too_short_full_discount_table | 14 | 100000000 | [22500, 45000, 62302, 79560, 96187, 112320, 127890, 143280, 158355, 173250, 187852, 202230, 216450, 230580, 244350, 258120, 271957, 285120, 298822, 311850, 325080, 338085, 351382, 363960, 376875, 389610, 402772, 415170, 427387, 440100, 452677, 465120, 477427, 489600, 501637, 513540, 526140, 537795, 550192, 561600, 573795, 585900, 597915, 608850, 620662, 632385, 644017, 655560, 668115, 679500, 690795, 702000, 713115, 725355, 736312, 747180, 759240, 769950, 781897, 792450, 804285, 814680, 826402, 838080, 848250, 859815, 871335, 881280, 892687, 904050, 915367, 925020, 936225, 947385, 958500, 969570, 980595, 991575, 1000732, 1011600, 1022422, 1033200, 1043932, 1054620, 1065262, 1075860, 1086412, 1096920, 1107382, 1117800, 1130220, 1140570, 1150875, 1161135, 1171350, 1181520, 1191645, 1201725, 1213987, 1224000, 1233967, 1243890, 1253767, 1265940, 1275750, 1285515, 1295235, 1304910, 1316992, 1326600, 1336162, 1348200, 1357695, 1367145, 1376550, 1388520, 1397857, 1407150, 1419075, 1428300, 1437480, 1449360, 1458472, 1467540, 1479375, 1488375, 1497330, 1509120] | [287, 575, 863, 1151, 1439, 1727, 2015, 2303, 2591, 2879, 3167, 3455, 3743, 4031, 4319, 4607, 4895, 5183, 5471, 5759, 6047, 6335, 6623, 6911, 7199, 7487, 7775, 8063, 8351, 8639, 8927, 9215, 9503, 9791, 10079, 10367, 10655, 10943, 11231, 11519, 11807, 12095, 12383, 12671, 12959, 13247, 13535, 13823, 14111, 14399, 14687, 14975, 15263, 15551, 15839, 16127, 16415, 16703, 16991, 17279, 17567, 17855, 18143, 18431, 18719, 19007, 19295, 19583, 19871, 20159, 20447, 20735, 21023, 21311, 21599, 21887, 22175, 22463, 22751, 23039, 23327, 23615, 23903, 24191, 24479, 24767, 25055, 25343, 25631, 25919, 26207, 26495, 26783, 27071, 27359, 27647, 27935, 28223, 28511, 28799, 29087, 29375, 29663, 29951, 30239, 30527, 30815, 31103, 31391, 31679, 31967, 32255, 32543, 32831, 33119, 33407, 33695, 33983, 34271, 34559, 34847, 35135, 35423, 35711, 35999, 36287, 36575, 36863] | |
...fork_Osaka-state_test-precompile_address_14---input_one_byte_too_long_full_discount_table | 14 | 100000000 | [22500, 45000, 62302, 79560, 96187, 112320, 127890, 143280, 158355, 173250, 187852, 202230, 216450, 230580, 244350, 258120, 271957, 285120, 298822, 311850, 325080, 338085, 351382, 363960, 376875, 389610, 402772, 415170, 427387, 440100, 452677, 465120, 477427, 489600, 501637, 513540, 526140, 537795, 550192, 561600, 573795, 585900, 597915, 608850, 620662, 632385, 644017, 655560, 668115, 679500, 690795, 702000, 713115, 725355, 736312, 747180, 759240, 769950, 781897, 792450, 804285, 814680, 826402, 838080, 848250, 859815, 871335, 881280, 892687, 904050, 915367, 925020, 936225, 947385, 958500, 969570, 980595, 991575, 1000732, 1011600, 1022422, 1033200, 1043932, 1054620, 1065262, 1075860, 1086412, 1096920, 1107382, 1117800, 1130220, 1140570, 1150875, 1161135, 1171350, 1181520, 1191645, 1201725, 1213987, 1224000, 1233967, 1243890, 1253767, 1265940, 1275750, 1285515, 1295235, 1304910, 1316992, 1326600, 1336162, 1348200, 1357695, 1367145, 1376550, 1388520, 1397857, 1407150, 1419075, 1428300, 1437480, 1449360, 1458472, 1467540, 1479375, 1488375, 1497330, 1509120] | [289, 577, 865, 1153, 1441, 1729, 2017, 2305, 2593, 2881, 3169, 3457, 3745, 4033, 4321, 4609, 4897, 5185, 5473, 5761, 6049, 6337, 6625, 6913, 7201, 7489, 7777, 8065, 8353, 8641, 8929, 9217, 9505, 9793, 10081, 10369, 10657, 10945, 11233, 11521, 11809, 12097, 12385, 12673, 12961, 13249, 13537, 13825, 14113, 14401, 14689, 14977, 15265, 15553, 15841, 16129, 16417, 16705, 16993, 17281, 17569, 17857, 18145, 18433, 18721, 19009, 19297, 19585, 19873, 20161, 20449, 20737, 21025, 21313, 21601, 21889, 22177, 22465, 22753, 23041, 23329, 23617, 23905, 24193, 24481, 24769, 25057, 25345, 25633, 25921, 26209, 26497, 26785, 27073, 27361, 27649, 27937, 28225, 28513, 28801, 29089, 29377, 29665, 29953, 30241, 30529, 30817, 31105, 31393, 31681, 31969, 32257, 32545, 32833, 33121, 33409, 33697, 33985, 34273, 34561, 34849, 35137, 35425, 35713, 36001, 36289, 36577, 36865] |