From f6c44ffcc0bd933f1a9987fb7171c443183a37cd Mon Sep 17 00:00:00 2001 From: jangko Date: Wed, 13 Jan 2021 18:17:38 +0700 Subject: [PATCH] fixes EIP2929 CALL opCode --- BlockchainTests.md | 6 +- GeneralStateTests.md | 7 +- newBlockChainTests.md | 1461 +++++++++++++++++++++++- newGeneralStateTests.md | 1439 ++++++++++++++++++++++- nimbus/vm/interpreter/gas_costs.nim | 8 +- nimbus/vm/interpreter/opcodes_impl.nim | 16 +- tests/fixtures/eth_tests | 2 +- tests/test_allowed_to_fail.nim | 6 +- tests/test_blockchain_json.nim | 3 +- tests/test_helpers.nim | 2 +- witnessBuilderBC.md | 1461 +++++++++++++++++++++++- witnessBuilderGST.md | 1439 ++++++++++++++++++++++- 12 files changed, 5805 insertions(+), 45 deletions(-) diff --git a/BlockchainTests.md b/BlockchainTests.md index 0de7d213f..919a50811 100644 --- a/BlockchainTests.md +++ b/BlockchainTests.md @@ -53,8 +53,6 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 + wrongDifficulty.json OK + wrongGasLimit.json OK + wrongGasUsed.json OK -+ wrongMixHash.json OK -+ wrongNonce.json OK + wrongNumber.json OK + wrongParentHash.json OK + wrongParentHash2.json OK @@ -64,7 +62,7 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 + wrongTransactionsTrie.json OK + wrongUncleHash.json OK ``` -OK: 23/23 Fail: 0/23 Skip: 0/23 +OK: 21/21 Fail: 0/21 Skip: 0/21 ## bcMultiChainTest ```diff + CallContractFromNotBestBlock.json OK @@ -11169,4 +11167,4 @@ OK: 804/804 Fail: 0/804 Skip: 0/804 OK: 519/519 Fail: 0/519 Skip: 0/519 ---TOTAL--- -OK: 10904/10907 Fail: 0/10907 Skip: 3/10907 +OK: 10902/10905 Fail: 0/10905 Skip: 3/10905 diff --git a/GeneralStateTests.md b/GeneralStateTests.md index fd1b99dca..60ba67a1c 100644 --- a/GeneralStateTests.md +++ b/GeneralStateTests.md @@ -2179,11 +2179,14 @@ OK: 56/66 Fail: 0/66 Skip: 10/66 ## stTimeConsuming ```diff + sstore_combinations_initial0.json OK ++ sstore_combinations_initial0_2.json OK + sstore_combinations_initial1.json OK ++ sstore_combinations_initial1_2.json OK + sstore_combinations_initial2.json OK ++ sstore_combinations_initial2_1.json OK static_Call50000_sha256.json Skip ``` -OK: 3/4 Fail: 0/4 Skip: 1/4 +OK: 6/7 Fail: 0/7 Skip: 1/7 ## stTransactionTest ```diff + ContractStoreClearsOOG.json OK @@ -2593,4 +2596,4 @@ OK: 133/133 Fail: 0/133 Skip: 0/133 OK: 130/130 Fail: 0/130 Skip: 0/130 ---TOTAL--- -OK: 2289/2391 Fail: 0/2391 Skip: 102/2391 +OK: 2292/2394 Fail: 0/2394 Skip: 102/2394 diff --git a/newBlockChainTests.md b/newBlockChainTests.md index 08e36cc82..12ff6f023 100644 --- a/newBlockChainTests.md +++ b/newBlockChainTests.md @@ -35,11 +35,19 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 OK: 3/4 Fail: 0/4 Skip: 1/4 ## bcForgedTest ```diff ++ bcBlockRLPAsList.json OK ++ bcBlockRLPPrefixed0000.json OK ++ bcBlockRLPRandomByte.json OK ++ bcBlockRLPTooLarge.json OK ++ bcBlockRLPZeroByte.json OK + bcForkBlockTest.json OK -+ bcInvalidRLPTest_BLOCK_.json OK -+ bcInvalidRLPTest_TRANSACT_.json OK ++ bcInvalidRLPTest_BLOCK.json OK ++ bcInvalidRLPTest_TRANSACT.json OK ++ bcTransactRLPRandomByte.json OK ++ bcTransactRLPTooLarge.json OK ++ bcTransactRLPZeroByte.json OK ``` -OK: 3/3 Fail: 0/3 Skip: 0/3 +OK: 11/11 Fail: 0/11 Skip: 0/11 ## bcForkStressTest ```diff + AmIOnEIP150.json OK @@ -92,8 +100,6 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + wrongDifficulty.json OK + wrongGasLimit.json OK + wrongGasUsed.json OK -+ wrongMixHash.json OK -+ wrongNonce.json OK + wrongNumber.json OK + wrongParentHash.json OK + wrongParentHash2.json OK @@ -103,7 +109,7 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + wrongTransactionsTrie.json OK + wrongUncleHash.json OK ``` -OK: 23/23 Fail: 0/23 Skip: 0/23 +OK: 21/21 Fail: 0/21 Skip: 0/21 ## bcMultiChainTest ```diff + CallContractFromNotBestBlock.json OK @@ -390,10 +396,8 @@ OK: 22/22 Fail: 0/22 Skip: 0/22 + timeDiff12.json OK + timeDiff13.json OK + timeDiff14.json OK -+ txEqualValue.json OK -+ txOrder.json OK ``` -OK: 19/19 Fail: 0/19 Skip: 0/19 +OK: 17/17 Fail: 0/17 Skip: 0/17 ## bcWalletTest ```diff + wallet2outOf3txs.json OK @@ -951,6 +955,1413 @@ OK: 30/30 Fail: 0/30 Skip: 0/30 + vitalikTransactionTest.json OK ``` OK: 7/7 Fail: 0/7 Skip: 0/7 +## stEIP2537 +```diff ++ extras_fp2_to_g2_0.json OK ++ extras_fp2_to_g2_1.json OK ++ extras_fp2_to_g2_2.json OK ++ extras_fp_to_g1_0.json OK ++ extras_fp_to_g1_1.json OK ++ extras_fp_to_g1_2.json OK ++ extras_g2_multiexp_0.json OK ++ fp2_to_g2_0.json OK ++ fp2_to_g2_1.json OK ++ fp2_to_g2_10.json OK ++ fp2_to_g2_11.json OK ++ fp2_to_g2_12.json OK ++ fp2_to_g2_13.json OK ++ fp2_to_g2_14.json OK ++ fp2_to_g2_15.json OK ++ fp2_to_g2_16.json OK ++ fp2_to_g2_17.json OK ++ fp2_to_g2_18.json OK ++ fp2_to_g2_19.json OK ++ fp2_to_g2_2.json OK ++ fp2_to_g2_20.json OK ++ fp2_to_g2_21.json OK ++ fp2_to_g2_22.json OK ++ fp2_to_g2_23.json OK ++ fp2_to_g2_24.json OK ++ fp2_to_g2_25.json OK ++ fp2_to_g2_26.json OK ++ fp2_to_g2_27.json OK ++ fp2_to_g2_28.json OK ++ fp2_to_g2_29.json OK ++ fp2_to_g2_3.json OK ++ fp2_to_g2_30.json OK ++ fp2_to_g2_31.json OK ++ fp2_to_g2_32.json OK ++ fp2_to_g2_33.json OK ++ fp2_to_g2_34.json OK ++ fp2_to_g2_35.json OK ++ fp2_to_g2_36.json OK ++ fp2_to_g2_37.json OK ++ fp2_to_g2_38.json OK ++ fp2_to_g2_39.json OK ++ fp2_to_g2_4.json OK ++ fp2_to_g2_40.json OK ++ fp2_to_g2_41.json OK ++ fp2_to_g2_42.json OK ++ fp2_to_g2_43.json OK ++ fp2_to_g2_44.json OK ++ fp2_to_g2_45.json OK ++ fp2_to_g2_46.json OK ++ fp2_to_g2_47.json OK ++ fp2_to_g2_48.json OK ++ fp2_to_g2_49.json OK ++ fp2_to_g2_5.json OK ++ fp2_to_g2_50.json OK ++ fp2_to_g2_51.json OK ++ fp2_to_g2_52.json OK ++ fp2_to_g2_53.json OK ++ fp2_to_g2_54.json OK ++ fp2_to_g2_55.json OK ++ fp2_to_g2_56.json OK ++ fp2_to_g2_57.json OK ++ fp2_to_g2_58.json OK ++ fp2_to_g2_59.json OK ++ fp2_to_g2_6.json OK ++ fp2_to_g2_60.json OK ++ fp2_to_g2_61.json OK ++ fp2_to_g2_62.json OK ++ fp2_to_g2_63.json OK ++ fp2_to_g2_64.json OK ++ fp2_to_g2_65.json OK ++ fp2_to_g2_66.json OK ++ fp2_to_g2_67.json OK ++ fp2_to_g2_68.json OK ++ fp2_to_g2_69.json OK ++ fp2_to_g2_7.json OK ++ fp2_to_g2_70.json OK ++ fp2_to_g2_71.json OK ++ fp2_to_g2_72.json OK ++ fp2_to_g2_73.json OK ++ fp2_to_g2_74.json OK ++ fp2_to_g2_75.json OK ++ fp2_to_g2_76.json OK ++ fp2_to_g2_77.json OK ++ fp2_to_g2_78.json OK ++ fp2_to_g2_79.json OK ++ fp2_to_g2_8.json OK ++ fp2_to_g2_80.json OK ++ fp2_to_g2_81.json OK ++ fp2_to_g2_82.json OK ++ fp2_to_g2_83.json OK ++ fp2_to_g2_84.json OK ++ fp2_to_g2_85.json OK ++ fp2_to_g2_86.json OK ++ fp2_to_g2_87.json OK ++ fp2_to_g2_88.json OK ++ fp2_to_g2_89.json OK ++ fp2_to_g2_9.json OK ++ fp2_to_g2_90.json OK ++ fp2_to_g2_91.json OK ++ fp2_to_g2_92.json OK ++ fp2_to_g2_93.json OK ++ fp2_to_g2_94.json OK ++ fp2_to_g2_95.json OK ++ fp2_to_g2_96.json OK ++ fp2_to_g2_97.json OK ++ fp2_to_g2_98.json OK ++ fp2_to_g2_99.json OK ++ fp_to_g1_0.json OK ++ fp_to_g1_1.json OK ++ fp_to_g1_10.json OK ++ fp_to_g1_11.json OK ++ fp_to_g1_12.json OK ++ fp_to_g1_13.json OK ++ fp_to_g1_14.json OK ++ fp_to_g1_15.json OK ++ fp_to_g1_16.json OK ++ fp_to_g1_17.json OK ++ fp_to_g1_18.json OK ++ fp_to_g1_19.json OK ++ fp_to_g1_2.json OK ++ fp_to_g1_20.json OK ++ fp_to_g1_21.json OK ++ fp_to_g1_22.json OK ++ fp_to_g1_23.json OK ++ fp_to_g1_24.json OK ++ fp_to_g1_25.json OK ++ fp_to_g1_26.json OK ++ fp_to_g1_27.json OK ++ fp_to_g1_28.json OK ++ fp_to_g1_29.json OK ++ fp_to_g1_3.json OK ++ fp_to_g1_30.json OK ++ fp_to_g1_31.json OK ++ fp_to_g1_32.json OK ++ fp_to_g1_33.json OK ++ fp_to_g1_34.json OK ++ fp_to_g1_35.json OK ++ fp_to_g1_36.json OK ++ fp_to_g1_37.json OK ++ fp_to_g1_38.json OK ++ fp_to_g1_39.json OK ++ fp_to_g1_4.json OK ++ fp_to_g1_40.json OK ++ fp_to_g1_41.json OK ++ fp_to_g1_42.json OK ++ fp_to_g1_43.json OK ++ fp_to_g1_44.json OK ++ fp_to_g1_45.json OK ++ fp_to_g1_46.json OK ++ fp_to_g1_47.json OK ++ fp_to_g1_48.json OK ++ fp_to_g1_49.json OK ++ fp_to_g1_5.json OK ++ fp_to_g1_50.json OK ++ fp_to_g1_51.json OK ++ fp_to_g1_52.json OK ++ fp_to_g1_53.json OK ++ fp_to_g1_54.json OK ++ fp_to_g1_55.json OK ++ fp_to_g1_56.json OK ++ fp_to_g1_57.json OK ++ fp_to_g1_58.json OK ++ fp_to_g1_59.json OK ++ fp_to_g1_6.json OK ++ fp_to_g1_60.json OK ++ fp_to_g1_61.json OK ++ fp_to_g1_62.json OK ++ fp_to_g1_63.json OK ++ fp_to_g1_64.json OK ++ fp_to_g1_65.json OK ++ fp_to_g1_66.json OK ++ fp_to_g1_67.json OK ++ fp_to_g1_68.json OK ++ fp_to_g1_69.json OK ++ fp_to_g1_7.json OK ++ fp_to_g1_70.json OK ++ fp_to_g1_71.json OK ++ fp_to_g1_72.json OK ++ fp_to_g1_73.json OK ++ fp_to_g1_74.json OK ++ fp_to_g1_75.json OK ++ fp_to_g1_76.json OK ++ fp_to_g1_77.json OK ++ fp_to_g1_78.json OK ++ fp_to_g1_79.json OK ++ fp_to_g1_8.json OK ++ fp_to_g1_80.json OK ++ fp_to_g1_81.json OK ++ fp_to_g1_82.json OK ++ fp_to_g1_83.json OK ++ fp_to_g1_84.json OK ++ fp_to_g1_85.json OK ++ fp_to_g1_86.json OK ++ fp_to_g1_87.json OK ++ fp_to_g1_88.json OK ++ fp_to_g1_89.json OK ++ fp_to_g1_9.json OK ++ fp_to_g1_90.json OK ++ fp_to_g1_91.json OK ++ fp_to_g1_92.json OK ++ fp_to_g1_93.json OK ++ fp_to_g1_94.json OK ++ fp_to_g1_95.json OK ++ fp_to_g1_96.json OK ++ fp_to_g1_97.json OK ++ fp_to_g1_98.json OK ++ fp_to_g1_99.json OK ++ g1_add_0.json OK ++ g1_add_1.json OK ++ g1_add_10.json OK ++ g1_add_11.json OK ++ g1_add_12.json OK ++ g1_add_13.json OK ++ g1_add_14.json OK ++ g1_add_15.json OK ++ g1_add_16.json OK ++ g1_add_17.json OK ++ g1_add_18.json OK ++ g1_add_19.json OK ++ g1_add_2.json OK ++ g1_add_20.json OK ++ g1_add_21.json OK ++ g1_add_22.json OK ++ g1_add_23.json OK ++ g1_add_24.json OK ++ g1_add_25.json OK ++ g1_add_26.json OK ++ g1_add_27.json OK ++ g1_add_28.json OK ++ g1_add_29.json OK ++ g1_add_3.json OK ++ g1_add_30.json OK ++ g1_add_31.json OK ++ g1_add_32.json OK ++ g1_add_33.json OK ++ g1_add_34.json OK ++ g1_add_35.json OK ++ g1_add_36.json OK ++ g1_add_37.json OK ++ g1_add_38.json OK ++ g1_add_39.json OK ++ g1_add_4.json OK ++ g1_add_40.json OK ++ g1_add_41.json OK ++ g1_add_42.json OK ++ g1_add_43.json OK ++ g1_add_44.json OK ++ g1_add_45.json OK ++ g1_add_46.json OK ++ g1_add_47.json OK ++ g1_add_48.json OK ++ g1_add_49.json OK ++ g1_add_5.json OK ++ g1_add_50.json OK ++ g1_add_51.json OK ++ g1_add_52.json OK ++ g1_add_53.json OK ++ g1_add_54.json OK ++ g1_add_55.json OK ++ g1_add_56.json OK ++ g1_add_57.json OK ++ g1_add_58.json OK ++ g1_add_59.json OK ++ g1_add_6.json OK ++ g1_add_60.json OK ++ g1_add_61.json OK ++ g1_add_62.json OK ++ g1_add_63.json OK ++ g1_add_64.json OK ++ g1_add_65.json OK ++ g1_add_66.json OK ++ g1_add_67.json OK ++ g1_add_68.json OK ++ g1_add_69.json OK ++ g1_add_7.json OK ++ g1_add_70.json OK ++ g1_add_71.json OK ++ g1_add_72.json OK ++ g1_add_73.json OK ++ g1_add_74.json OK ++ g1_add_75.json OK ++ g1_add_76.json OK ++ g1_add_77.json OK ++ g1_add_78.json OK ++ g1_add_79.json OK ++ g1_add_8.json OK ++ g1_add_80.json OK ++ g1_add_81.json OK ++ g1_add_82.json OK ++ g1_add_83.json OK ++ g1_add_84.json OK ++ g1_add_85.json OK ++ g1_add_86.json OK ++ g1_add_87.json OK ++ g1_add_88.json OK ++ g1_add_89.json OK ++ g1_add_9.json OK ++ g1_add_90.json OK ++ g1_add_91.json OK ++ g1_add_92.json OK ++ g1_add_93.json OK ++ g1_add_94.json OK ++ g1_add_95.json OK ++ g1_add_96.json OK ++ g1_add_97.json OK ++ g1_add_98.json OK ++ g1_add_99.json OK ++ g1_mul_0.json OK ++ g1_mul_1.json OK ++ g1_mul_10.json OK ++ g1_mul_11.json OK ++ g1_mul_12.json OK ++ g1_mul_13.json OK ++ g1_mul_14.json OK ++ g1_mul_15.json OK ++ g1_mul_16.json OK ++ g1_mul_17.json OK ++ g1_mul_18.json OK ++ g1_mul_19.json OK ++ g1_mul_2.json OK ++ g1_mul_20.json OK ++ g1_mul_21.json OK ++ g1_mul_22.json OK ++ g1_mul_23.json OK ++ g1_mul_24.json OK ++ g1_mul_25.json OK ++ g1_mul_26.json OK ++ g1_mul_27.json OK ++ g1_mul_28.json OK ++ g1_mul_29.json OK ++ g1_mul_3.json OK ++ g1_mul_30.json OK ++ g1_mul_31.json OK ++ g1_mul_32.json OK ++ g1_mul_33.json OK ++ g1_mul_34.json OK ++ g1_mul_35.json OK ++ g1_mul_36.json OK ++ g1_mul_37.json OK ++ g1_mul_38.json OK ++ g1_mul_39.json OK ++ g1_mul_4.json OK ++ g1_mul_40.json OK ++ g1_mul_41.json OK ++ g1_mul_42.json OK ++ g1_mul_43.json OK ++ g1_mul_44.json OK ++ g1_mul_45.json OK ++ g1_mul_46.json OK ++ g1_mul_47.json OK ++ g1_mul_48.json OK ++ g1_mul_49.json OK ++ g1_mul_5.json OK ++ g1_mul_50.json OK ++ g1_mul_51.json OK ++ g1_mul_52.json OK ++ g1_mul_53.json OK ++ g1_mul_54.json OK ++ g1_mul_55.json OK ++ g1_mul_56.json OK ++ g1_mul_57.json OK ++ g1_mul_58.json OK ++ g1_mul_59.json OK ++ g1_mul_6.json OK ++ g1_mul_60.json OK ++ g1_mul_61.json OK ++ g1_mul_62.json OK ++ g1_mul_63.json OK ++ g1_mul_64.json OK ++ g1_mul_65.json OK ++ g1_mul_66.json OK ++ g1_mul_67.json OK ++ g1_mul_68.json OK ++ g1_mul_69.json OK ++ g1_mul_7.json OK ++ g1_mul_70.json OK ++ g1_mul_71.json OK ++ g1_mul_72.json OK ++ g1_mul_73.json OK ++ g1_mul_74.json OK ++ g1_mul_75.json OK ++ g1_mul_76.json OK ++ g1_mul_77.json OK ++ g1_mul_78.json OK ++ g1_mul_79.json OK ++ g1_mul_8.json OK ++ g1_mul_80.json OK ++ g1_mul_81.json OK ++ g1_mul_82.json OK ++ g1_mul_83.json OK ++ g1_mul_84.json OK ++ g1_mul_85.json OK ++ g1_mul_86.json OK ++ g1_mul_87.json OK ++ g1_mul_88.json OK ++ g1_mul_89.json OK ++ g1_mul_9.json OK ++ g1_mul_90.json OK ++ g1_mul_91.json OK ++ g1_mul_92.json OK ++ g1_mul_93.json OK ++ g1_mul_94.json OK ++ g1_mul_95.json OK ++ g1_mul_96.json OK ++ g1_mul_97.json OK ++ g1_mul_98.json OK ++ g1_mul_99.json OK ++ g1_multiexp_0.json OK ++ g1_multiexp_1.json OK ++ g1_multiexp_10.json OK ++ g1_multiexp_11.json OK ++ g1_multiexp_12.json OK ++ g1_multiexp_13.json OK ++ g1_multiexp_14.json OK ++ g1_multiexp_15.json OK ++ g1_multiexp_16.json OK ++ g1_multiexp_17.json OK ++ g1_multiexp_18.json OK ++ g1_multiexp_19.json OK ++ g1_multiexp_2.json OK ++ g1_multiexp_20.json OK ++ g1_multiexp_21.json OK ++ g1_multiexp_22.json OK ++ g1_multiexp_23.json OK ++ g1_multiexp_24.json OK ++ g1_multiexp_25.json OK ++ g1_multiexp_26.json OK ++ g1_multiexp_27.json OK ++ g1_multiexp_28.json OK ++ g1_multiexp_29.json OK ++ g1_multiexp_3.json OK ++ g1_multiexp_30.json OK ++ g1_multiexp_31.json OK ++ g1_multiexp_32.json OK ++ g1_multiexp_33.json OK ++ g1_multiexp_34.json OK ++ g1_multiexp_35.json OK ++ g1_multiexp_36.json OK ++ g1_multiexp_37.json OK ++ g1_multiexp_38.json OK ++ g1_multiexp_39.json OK ++ g1_multiexp_4.json OK ++ g1_multiexp_40.json OK ++ g1_multiexp_41.json OK ++ g1_multiexp_42.json OK ++ g1_multiexp_43.json OK ++ g1_multiexp_44.json OK ++ g1_multiexp_45.json OK ++ g1_multiexp_46.json OK ++ g1_multiexp_47.json OK ++ g1_multiexp_48.json OK ++ g1_multiexp_49.json OK ++ g1_multiexp_5.json OK ++ g1_multiexp_50.json OK ++ g1_multiexp_51.json OK ++ g1_multiexp_52.json OK ++ g1_multiexp_53.json OK ++ g1_multiexp_54.json OK ++ g1_multiexp_55.json OK ++ g1_multiexp_56.json OK ++ g1_multiexp_57.json OK ++ g1_multiexp_58.json OK ++ g1_multiexp_59.json OK ++ g1_multiexp_6.json OK ++ g1_multiexp_60.json OK ++ g1_multiexp_61.json OK ++ g1_multiexp_62.json OK ++ g1_multiexp_63.json OK ++ g1_multiexp_64.json OK ++ g1_multiexp_65.json OK ++ g1_multiexp_66.json OK ++ g1_multiexp_67.json OK ++ g1_multiexp_68.json OK ++ g1_multiexp_69.json OK ++ g1_multiexp_7.json OK ++ g1_multiexp_70.json OK ++ g1_multiexp_71.json OK ++ g1_multiexp_72.json OK ++ g1_multiexp_73.json OK ++ g1_multiexp_74.json OK ++ g1_multiexp_75.json OK ++ g1_multiexp_76.json OK ++ g1_multiexp_77.json OK ++ g1_multiexp_78.json OK ++ g1_multiexp_79.json OK ++ g1_multiexp_8.json OK ++ g1_multiexp_80.json OK ++ g1_multiexp_81.json OK ++ g1_multiexp_82.json OK ++ g1_multiexp_83.json OK ++ g1_multiexp_84.json OK ++ g1_multiexp_85.json OK ++ g1_multiexp_86.json OK ++ g1_multiexp_87.json OK ++ g1_multiexp_88.json OK ++ g1_multiexp_89.json OK ++ g1_multiexp_9.json OK ++ g1_multiexp_90.json OK ++ g1_multiexp_91.json OK ++ g1_multiexp_92.json OK ++ g1_multiexp_93.json OK ++ g1_multiexp_94.json OK ++ g1_multiexp_95.json OK ++ g1_multiexp_96.json OK ++ g1_multiexp_97.json OK ++ g1_multiexp_98.json OK ++ g1_multiexp_99.json OK ++ g1_not_on_curve_0.json OK ++ g1_not_on_curve_1.json OK ++ g1_not_on_curve_10.json OK ++ g1_not_on_curve_11.json OK ++ g1_not_on_curve_12.json OK ++ g1_not_on_curve_13.json OK ++ g1_not_on_curve_14.json OK ++ g1_not_on_curve_15.json OK ++ g1_not_on_curve_16.json OK ++ g1_not_on_curve_17.json OK ++ g1_not_on_curve_18.json OK ++ g1_not_on_curve_19.json OK ++ g1_not_on_curve_2.json OK ++ g1_not_on_curve_20.json OK ++ g1_not_on_curve_21.json OK ++ g1_not_on_curve_22.json OK ++ g1_not_on_curve_23.json OK ++ g1_not_on_curve_24.json OK ++ g1_not_on_curve_25.json OK ++ g1_not_on_curve_26.json OK ++ g1_not_on_curve_27.json OK ++ g1_not_on_curve_28.json OK ++ g1_not_on_curve_29.json OK ++ g1_not_on_curve_3.json OK ++ g1_not_on_curve_30.json OK ++ g1_not_on_curve_31.json OK ++ g1_not_on_curve_32.json OK ++ g1_not_on_curve_33.json OK ++ g1_not_on_curve_34.json OK ++ g1_not_on_curve_35.json OK ++ g1_not_on_curve_36.json OK ++ g1_not_on_curve_37.json OK ++ g1_not_on_curve_38.json OK ++ g1_not_on_curve_39.json OK ++ g1_not_on_curve_4.json OK ++ g1_not_on_curve_40.json OK ++ g1_not_on_curve_41.json OK ++ g1_not_on_curve_42.json OK ++ g1_not_on_curve_43.json OK ++ g1_not_on_curve_44.json OK ++ g1_not_on_curve_45.json OK ++ g1_not_on_curve_46.json OK ++ g1_not_on_curve_47.json OK ++ g1_not_on_curve_48.json OK ++ g1_not_on_curve_49.json OK ++ g1_not_on_curve_5.json OK ++ g1_not_on_curve_50.json OK ++ g1_not_on_curve_51.json OK ++ g1_not_on_curve_52.json OK ++ g1_not_on_curve_53.json OK ++ g1_not_on_curve_54.json OK ++ g1_not_on_curve_55.json OK ++ g1_not_on_curve_56.json OK ++ g1_not_on_curve_57.json OK ++ g1_not_on_curve_58.json OK ++ g1_not_on_curve_59.json OK ++ g1_not_on_curve_6.json OK ++ g1_not_on_curve_60.json OK ++ g1_not_on_curve_61.json OK ++ g1_not_on_curve_62.json OK ++ g1_not_on_curve_63.json OK ++ g1_not_on_curve_64.json OK ++ g1_not_on_curve_65.json OK ++ g1_not_on_curve_66.json OK ++ g1_not_on_curve_67.json OK ++ g1_not_on_curve_68.json OK ++ g1_not_on_curve_69.json OK ++ g1_not_on_curve_7.json OK ++ g1_not_on_curve_70.json OK ++ g1_not_on_curve_71.json OK ++ g1_not_on_curve_72.json OK ++ g1_not_on_curve_73.json OK ++ g1_not_on_curve_74.json OK ++ g1_not_on_curve_75.json OK ++ g1_not_on_curve_76.json OK ++ g1_not_on_curve_77.json OK ++ g1_not_on_curve_78.json OK ++ g1_not_on_curve_79.json OK ++ g1_not_on_curve_8.json OK ++ g1_not_on_curve_80.json OK ++ g1_not_on_curve_81.json OK ++ g1_not_on_curve_82.json OK ++ g1_not_on_curve_83.json OK ++ g1_not_on_curve_84.json OK ++ g1_not_on_curve_85.json OK ++ g1_not_on_curve_86.json OK ++ g1_not_on_curve_87.json OK ++ g1_not_on_curve_88.json OK ++ g1_not_on_curve_89.json OK ++ g1_not_on_curve_9.json OK ++ g1_not_on_curve_90.json OK ++ g1_not_on_curve_91.json OK ++ g1_not_on_curve_92.json OK ++ g1_not_on_curve_93.json OK ++ g1_not_on_curve_94.json OK ++ g1_not_on_curve_95.json OK ++ g1_not_on_curve_96.json OK ++ g1_not_on_curve_97.json OK ++ g1_not_on_curve_98.json OK ++ g1_not_on_curve_99.json OK ++ g2_add_0.json OK ++ g2_add_1.json OK ++ g2_add_10.json OK ++ g2_add_11.json OK ++ g2_add_12.json OK ++ g2_add_13.json OK ++ g2_add_14.json OK ++ g2_add_15.json OK ++ g2_add_16.json OK ++ g2_add_17.json OK ++ g2_add_18.json OK ++ g2_add_19.json OK ++ g2_add_2.json OK ++ g2_add_20.json OK ++ g2_add_21.json OK ++ g2_add_22.json OK ++ g2_add_23.json OK ++ g2_add_24.json OK ++ g2_add_25.json OK ++ g2_add_26.json OK ++ g2_add_27.json OK ++ g2_add_28.json OK ++ g2_add_29.json OK ++ g2_add_3.json OK ++ g2_add_30.json OK ++ g2_add_31.json OK ++ g2_add_32.json OK ++ g2_add_33.json OK ++ g2_add_34.json OK ++ g2_add_35.json OK ++ g2_add_36.json OK ++ g2_add_37.json OK ++ g2_add_38.json OK ++ g2_add_39.json OK ++ g2_add_4.json OK ++ g2_add_40.json OK ++ g2_add_41.json OK ++ g2_add_42.json OK ++ g2_add_43.json OK ++ g2_add_44.json OK ++ g2_add_45.json OK ++ g2_add_46.json OK ++ g2_add_47.json OK ++ g2_add_48.json OK ++ g2_add_49.json OK ++ g2_add_5.json OK ++ g2_add_50.json OK ++ g2_add_51.json OK ++ g2_add_52.json OK ++ g2_add_53.json OK ++ g2_add_54.json OK ++ g2_add_55.json OK ++ g2_add_56.json OK ++ g2_add_57.json OK ++ g2_add_58.json OK ++ g2_add_59.json OK ++ g2_add_6.json OK ++ g2_add_60.json OK ++ g2_add_61.json OK ++ g2_add_62.json OK ++ g2_add_63.json OK ++ g2_add_64.json OK ++ g2_add_65.json OK ++ g2_add_66.json OK ++ g2_add_67.json OK ++ g2_add_68.json OK ++ g2_add_69.json OK ++ g2_add_7.json OK ++ g2_add_70.json OK ++ g2_add_71.json OK ++ g2_add_72.json OK ++ g2_add_73.json OK ++ g2_add_74.json OK ++ g2_add_75.json OK ++ g2_add_76.json OK ++ g2_add_77.json OK ++ g2_add_78.json OK ++ g2_add_79.json OK ++ g2_add_8.json OK ++ g2_add_80.json OK ++ g2_add_81.json OK ++ g2_add_82.json OK ++ g2_add_83.json OK ++ g2_add_84.json OK ++ g2_add_85.json OK ++ g2_add_86.json OK ++ g2_add_87.json OK ++ g2_add_88.json OK ++ g2_add_89.json OK ++ g2_add_9.json OK ++ g2_add_90.json OK ++ g2_add_91.json OK ++ g2_add_92.json OK ++ g2_add_93.json OK ++ g2_add_94.json OK ++ g2_add_95.json OK ++ g2_add_96.json OK ++ g2_add_97.json OK ++ g2_add_98.json OK ++ g2_add_99.json OK ++ g2_mul_0.json OK ++ g2_mul_1.json OK ++ g2_mul_10.json OK ++ g2_mul_11.json OK ++ g2_mul_12.json OK ++ g2_mul_13.json OK ++ g2_mul_14.json OK ++ g2_mul_15.json OK ++ g2_mul_16.json OK ++ g2_mul_17.json OK ++ g2_mul_18.json OK ++ g2_mul_19.json OK ++ g2_mul_2.json OK ++ g2_mul_20.json OK ++ g2_mul_21.json OK ++ g2_mul_22.json OK ++ g2_mul_23.json OK ++ g2_mul_24.json OK ++ g2_mul_25.json OK ++ g2_mul_26.json OK ++ g2_mul_27.json OK ++ g2_mul_28.json OK ++ g2_mul_29.json OK ++ g2_mul_3.json OK ++ g2_mul_30.json OK ++ g2_mul_31.json OK ++ g2_mul_32.json OK ++ g2_mul_33.json OK ++ g2_mul_34.json OK ++ g2_mul_35.json OK ++ g2_mul_36.json OK ++ g2_mul_37.json OK ++ g2_mul_38.json OK ++ g2_mul_39.json OK ++ g2_mul_4.json OK ++ g2_mul_40.json OK ++ g2_mul_41.json OK ++ g2_mul_42.json OK ++ g2_mul_43.json OK ++ g2_mul_44.json OK ++ g2_mul_45.json OK ++ g2_mul_46.json OK ++ g2_mul_47.json OK ++ g2_mul_48.json OK ++ g2_mul_49.json OK ++ g2_mul_5.json OK ++ g2_mul_50.json OK ++ g2_mul_51.json OK ++ g2_mul_52.json OK ++ g2_mul_53.json OK ++ g2_mul_54.json OK ++ g2_mul_55.json OK ++ g2_mul_56.json OK ++ g2_mul_57.json OK ++ g2_mul_58.json OK ++ g2_mul_59.json OK ++ g2_mul_6.json OK ++ g2_mul_60.json OK ++ g2_mul_61.json OK ++ g2_mul_62.json OK ++ g2_mul_63.json OK ++ g2_mul_64.json OK ++ g2_mul_65.json OK ++ g2_mul_66.json OK ++ g2_mul_67.json OK ++ g2_mul_68.json OK ++ g2_mul_69.json OK ++ g2_mul_7.json OK ++ g2_mul_70.json OK ++ g2_mul_71.json OK ++ g2_mul_72.json OK ++ g2_mul_73.json OK ++ g2_mul_74.json OK ++ g2_mul_75.json OK ++ g2_mul_76.json OK ++ g2_mul_77.json OK ++ g2_mul_78.json OK ++ g2_mul_79.json OK ++ g2_mul_8.json OK ++ g2_mul_80.json OK ++ g2_mul_81.json OK ++ g2_mul_82.json OK ++ g2_mul_83.json OK ++ g2_mul_84.json OK ++ g2_mul_85.json OK ++ g2_mul_86.json OK ++ g2_mul_87.json OK ++ g2_mul_88.json OK ++ g2_mul_89.json OK ++ g2_mul_9.json OK ++ g2_mul_90.json OK ++ g2_mul_91.json OK ++ g2_mul_92.json OK ++ g2_mul_93.json OK ++ g2_mul_94.json OK ++ g2_mul_95.json OK ++ g2_mul_96.json OK ++ g2_mul_97.json OK ++ g2_mul_98.json OK ++ g2_mul_99.json OK ++ g2_multiexp_0.json OK ++ g2_multiexp_1.json OK ++ g2_multiexp_10.json OK ++ g2_multiexp_11.json OK ++ g2_multiexp_12.json OK ++ g2_multiexp_13.json OK ++ g2_multiexp_14.json OK ++ g2_multiexp_15.json OK ++ g2_multiexp_16.json OK ++ g2_multiexp_17.json OK ++ g2_multiexp_18.json OK ++ g2_multiexp_19.json OK ++ g2_multiexp_2.json OK ++ g2_multiexp_20.json OK ++ g2_multiexp_21.json OK ++ g2_multiexp_22.json OK ++ g2_multiexp_23.json OK ++ g2_multiexp_24.json OK ++ g2_multiexp_25.json OK ++ g2_multiexp_26.json OK ++ g2_multiexp_27.json OK ++ g2_multiexp_28.json OK ++ g2_multiexp_29.json OK ++ g2_multiexp_3.json OK ++ g2_multiexp_30.json OK ++ g2_multiexp_31.json OK ++ g2_multiexp_32.json OK ++ g2_multiexp_33.json OK ++ g2_multiexp_34.json OK ++ g2_multiexp_35.json OK ++ g2_multiexp_36.json OK ++ g2_multiexp_37.json OK ++ g2_multiexp_38.json OK ++ g2_multiexp_39.json OK ++ g2_multiexp_4.json OK ++ g2_multiexp_40.json OK ++ g2_multiexp_41.json OK ++ g2_multiexp_42.json OK ++ g2_multiexp_43.json OK ++ g2_multiexp_44.json OK ++ g2_multiexp_45.json OK ++ g2_multiexp_46.json OK ++ g2_multiexp_47.json OK ++ g2_multiexp_48.json OK ++ g2_multiexp_49.json OK ++ g2_multiexp_5.json OK ++ g2_multiexp_50.json OK ++ g2_multiexp_51.json OK ++ g2_multiexp_52.json OK ++ g2_multiexp_53.json OK ++ g2_multiexp_54.json OK ++ g2_multiexp_55.json OK ++ g2_multiexp_56.json OK ++ g2_multiexp_57.json OK ++ g2_multiexp_58.json OK ++ g2_multiexp_59.json OK ++ g2_multiexp_6.json OK ++ g2_multiexp_60.json OK ++ g2_multiexp_61.json OK ++ g2_multiexp_62.json OK ++ g2_multiexp_63.json OK ++ g2_multiexp_64.json OK ++ g2_multiexp_65.json OK ++ g2_multiexp_66.json OK ++ g2_multiexp_67.json OK ++ g2_multiexp_68.json OK ++ g2_multiexp_69.json OK ++ g2_multiexp_7.json OK ++ g2_multiexp_70.json OK ++ g2_multiexp_71.json OK ++ g2_multiexp_72.json OK ++ g2_multiexp_73.json OK ++ g2_multiexp_74.json OK ++ g2_multiexp_75.json OK ++ g2_multiexp_76.json OK ++ g2_multiexp_77.json OK ++ g2_multiexp_78.json OK ++ g2_multiexp_79.json OK ++ g2_multiexp_8.json OK ++ g2_multiexp_80.json OK ++ g2_multiexp_81.json OK ++ g2_multiexp_82.json OK ++ g2_multiexp_83.json OK ++ g2_multiexp_84.json OK ++ g2_multiexp_85.json OK ++ g2_multiexp_86.json OK ++ g2_multiexp_87.json OK ++ g2_multiexp_88.json OK ++ g2_multiexp_89.json OK ++ g2_multiexp_9.json OK ++ g2_multiexp_90.json OK ++ g2_multiexp_91.json OK ++ g2_multiexp_92.json OK ++ g2_multiexp_93.json OK ++ g2_multiexp_94.json OK ++ g2_multiexp_95.json OK ++ g2_multiexp_96.json OK ++ g2_multiexp_97.json OK ++ g2_multiexp_98.json OK ++ g2_multiexp_99.json OK ++ g2_not_on_curve_0.json OK ++ g2_not_on_curve_1.json OK ++ g2_not_on_curve_10.json OK ++ g2_not_on_curve_11.json OK ++ g2_not_on_curve_12.json OK ++ g2_not_on_curve_13.json OK ++ g2_not_on_curve_14.json OK ++ g2_not_on_curve_15.json OK ++ g2_not_on_curve_16.json OK ++ g2_not_on_curve_17.json OK ++ g2_not_on_curve_18.json OK ++ g2_not_on_curve_19.json OK ++ g2_not_on_curve_2.json OK ++ g2_not_on_curve_20.json OK ++ g2_not_on_curve_21.json OK ++ g2_not_on_curve_22.json OK ++ g2_not_on_curve_23.json OK ++ g2_not_on_curve_24.json OK ++ g2_not_on_curve_25.json OK ++ g2_not_on_curve_26.json OK ++ g2_not_on_curve_27.json OK ++ g2_not_on_curve_28.json OK ++ g2_not_on_curve_29.json OK ++ g2_not_on_curve_3.json OK ++ g2_not_on_curve_30.json OK ++ g2_not_on_curve_31.json OK ++ g2_not_on_curve_32.json OK ++ g2_not_on_curve_33.json OK ++ g2_not_on_curve_34.json OK ++ g2_not_on_curve_35.json OK ++ g2_not_on_curve_36.json OK ++ g2_not_on_curve_37.json OK ++ g2_not_on_curve_38.json OK ++ g2_not_on_curve_39.json OK ++ g2_not_on_curve_4.json OK ++ g2_not_on_curve_40.json OK ++ g2_not_on_curve_41.json OK ++ g2_not_on_curve_42.json OK ++ g2_not_on_curve_43.json OK ++ g2_not_on_curve_44.json OK ++ g2_not_on_curve_45.json OK ++ g2_not_on_curve_46.json OK ++ g2_not_on_curve_47.json OK ++ g2_not_on_curve_48.json OK ++ g2_not_on_curve_49.json OK ++ g2_not_on_curve_5.json OK ++ g2_not_on_curve_50.json OK ++ g2_not_on_curve_51.json OK ++ g2_not_on_curve_52.json OK ++ g2_not_on_curve_53.json OK ++ g2_not_on_curve_54.json OK ++ g2_not_on_curve_55.json OK ++ g2_not_on_curve_56.json OK ++ g2_not_on_curve_57.json OK ++ g2_not_on_curve_58.json OK ++ g2_not_on_curve_59.json OK ++ g2_not_on_curve_6.json OK ++ g2_not_on_curve_60.json OK ++ g2_not_on_curve_61.json OK ++ g2_not_on_curve_62.json OK ++ g2_not_on_curve_63.json OK ++ g2_not_on_curve_64.json OK ++ g2_not_on_curve_65.json OK ++ g2_not_on_curve_66.json OK ++ g2_not_on_curve_67.json OK ++ g2_not_on_curve_68.json OK ++ g2_not_on_curve_69.json OK ++ g2_not_on_curve_7.json OK ++ g2_not_on_curve_70.json OK ++ g2_not_on_curve_71.json OK ++ g2_not_on_curve_72.json OK ++ g2_not_on_curve_73.json OK ++ g2_not_on_curve_74.json OK ++ g2_not_on_curve_75.json OK ++ g2_not_on_curve_76.json OK ++ g2_not_on_curve_77.json OK ++ g2_not_on_curve_78.json OK ++ g2_not_on_curve_79.json OK ++ g2_not_on_curve_8.json OK ++ g2_not_on_curve_80.json OK ++ g2_not_on_curve_81.json OK ++ g2_not_on_curve_82.json OK ++ g2_not_on_curve_83.json OK ++ g2_not_on_curve_84.json OK ++ g2_not_on_curve_85.json OK ++ g2_not_on_curve_86.json OK ++ g2_not_on_curve_87.json OK ++ g2_not_on_curve_88.json OK ++ g2_not_on_curve_89.json OK ++ g2_not_on_curve_9.json OK ++ g2_not_on_curve_90.json OK ++ g2_not_on_curve_91.json OK ++ g2_not_on_curve_92.json OK ++ g2_not_on_curve_93.json OK ++ g2_not_on_curve_94.json OK ++ g2_not_on_curve_95.json OK ++ g2_not_on_curve_96.json OK ++ g2_not_on_curve_97.json OK ++ g2_not_on_curve_98.json OK ++ g2_not_on_curve_99.json OK ++ invalid_fp2_encoding_0.json OK ++ invalid_fp2_encoding_1.json OK ++ invalid_fp2_encoding_10.json OK ++ invalid_fp2_encoding_11.json OK ++ invalid_fp2_encoding_12.json OK ++ invalid_fp2_encoding_13.json OK ++ invalid_fp2_encoding_14.json OK ++ invalid_fp2_encoding_15.json OK ++ invalid_fp2_encoding_16.json OK ++ invalid_fp2_encoding_17.json OK ++ invalid_fp2_encoding_18.json OK ++ invalid_fp2_encoding_19.json OK ++ invalid_fp2_encoding_2.json OK ++ invalid_fp2_encoding_20.json OK ++ invalid_fp2_encoding_21.json OK ++ invalid_fp2_encoding_22.json OK ++ invalid_fp2_encoding_23.json OK ++ invalid_fp2_encoding_24.json OK ++ invalid_fp2_encoding_25.json OK ++ invalid_fp2_encoding_26.json OK ++ invalid_fp2_encoding_27.json OK ++ invalid_fp2_encoding_28.json OK ++ invalid_fp2_encoding_29.json OK ++ invalid_fp2_encoding_3.json OK ++ invalid_fp2_encoding_30.json OK ++ invalid_fp2_encoding_31.json OK ++ invalid_fp2_encoding_32.json OK ++ invalid_fp2_encoding_33.json OK ++ invalid_fp2_encoding_34.json OK ++ invalid_fp2_encoding_35.json OK ++ invalid_fp2_encoding_36.json OK ++ invalid_fp2_encoding_37.json OK ++ invalid_fp2_encoding_38.json OK ++ invalid_fp2_encoding_39.json OK ++ invalid_fp2_encoding_4.json OK ++ invalid_fp2_encoding_40.json OK ++ invalid_fp2_encoding_41.json OK ++ invalid_fp2_encoding_42.json OK ++ invalid_fp2_encoding_43.json OK ++ invalid_fp2_encoding_44.json OK ++ invalid_fp2_encoding_45.json OK ++ invalid_fp2_encoding_46.json OK ++ invalid_fp2_encoding_47.json OK ++ invalid_fp2_encoding_48.json OK ++ invalid_fp2_encoding_49.json OK ++ invalid_fp2_encoding_5.json OK ++ invalid_fp2_encoding_50.json OK ++ invalid_fp2_encoding_51.json OK ++ invalid_fp2_encoding_52.json OK ++ invalid_fp2_encoding_53.json OK ++ invalid_fp2_encoding_54.json OK ++ invalid_fp2_encoding_55.json OK ++ invalid_fp2_encoding_56.json OK ++ invalid_fp2_encoding_57.json OK ++ invalid_fp2_encoding_58.json OK ++ invalid_fp2_encoding_59.json OK ++ invalid_fp2_encoding_6.json OK ++ invalid_fp2_encoding_60.json OK ++ invalid_fp2_encoding_61.json OK ++ invalid_fp2_encoding_62.json OK ++ invalid_fp2_encoding_63.json OK ++ invalid_fp2_encoding_64.json OK ++ invalid_fp2_encoding_65.json OK ++ invalid_fp2_encoding_66.json OK ++ invalid_fp2_encoding_67.json OK ++ invalid_fp2_encoding_68.json OK ++ invalid_fp2_encoding_69.json OK ++ invalid_fp2_encoding_7.json OK ++ invalid_fp2_encoding_70.json OK ++ invalid_fp2_encoding_71.json OK ++ invalid_fp2_encoding_72.json OK ++ invalid_fp2_encoding_73.json OK ++ invalid_fp2_encoding_74.json OK ++ invalid_fp2_encoding_75.json OK ++ invalid_fp2_encoding_76.json OK ++ invalid_fp2_encoding_77.json OK ++ invalid_fp2_encoding_78.json OK ++ invalid_fp2_encoding_79.json OK ++ invalid_fp2_encoding_8.json OK ++ invalid_fp2_encoding_80.json OK ++ invalid_fp2_encoding_81.json OK ++ invalid_fp2_encoding_82.json OK ++ invalid_fp2_encoding_83.json OK ++ invalid_fp2_encoding_84.json OK ++ invalid_fp2_encoding_85.json OK ++ invalid_fp2_encoding_86.json OK ++ invalid_fp2_encoding_87.json OK ++ invalid_fp2_encoding_88.json OK ++ invalid_fp2_encoding_89.json OK ++ invalid_fp2_encoding_9.json OK ++ invalid_fp2_encoding_90.json OK ++ invalid_fp2_encoding_91.json OK ++ invalid_fp2_encoding_92.json OK ++ invalid_fp2_encoding_93.json OK ++ invalid_fp2_encoding_94.json OK ++ invalid_fp2_encoding_95.json OK ++ invalid_fp2_encoding_96.json OK ++ invalid_fp2_encoding_97.json OK ++ invalid_fp2_encoding_98.json OK ++ invalid_fp2_encoding_99.json OK ++ invalid_fp_encoding_0.json OK ++ invalid_fp_encoding_1.json OK ++ invalid_fp_encoding_10.json OK ++ invalid_fp_encoding_11.json OK ++ invalid_fp_encoding_12.json OK ++ invalid_fp_encoding_13.json OK ++ invalid_fp_encoding_14.json OK ++ invalid_fp_encoding_15.json OK ++ invalid_fp_encoding_16.json OK ++ invalid_fp_encoding_17.json OK ++ invalid_fp_encoding_18.json OK ++ invalid_fp_encoding_19.json OK ++ invalid_fp_encoding_2.json OK ++ invalid_fp_encoding_20.json OK ++ invalid_fp_encoding_21.json OK ++ invalid_fp_encoding_22.json OK ++ invalid_fp_encoding_23.json OK ++ invalid_fp_encoding_24.json OK ++ invalid_fp_encoding_25.json OK ++ invalid_fp_encoding_26.json OK ++ invalid_fp_encoding_27.json OK ++ invalid_fp_encoding_28.json OK ++ invalid_fp_encoding_29.json OK ++ invalid_fp_encoding_3.json OK ++ invalid_fp_encoding_30.json OK ++ invalid_fp_encoding_31.json OK ++ invalid_fp_encoding_32.json OK ++ invalid_fp_encoding_33.json OK ++ invalid_fp_encoding_34.json OK ++ invalid_fp_encoding_35.json OK ++ invalid_fp_encoding_36.json OK ++ invalid_fp_encoding_37.json OK ++ invalid_fp_encoding_38.json OK ++ invalid_fp_encoding_39.json OK ++ invalid_fp_encoding_4.json OK ++ invalid_fp_encoding_40.json OK ++ invalid_fp_encoding_41.json OK ++ invalid_fp_encoding_42.json OK ++ invalid_fp_encoding_43.json OK ++ invalid_fp_encoding_44.json OK ++ invalid_fp_encoding_45.json OK ++ invalid_fp_encoding_46.json OK ++ invalid_fp_encoding_47.json OK ++ invalid_fp_encoding_48.json OK ++ invalid_fp_encoding_49.json OK ++ invalid_fp_encoding_5.json OK ++ invalid_fp_encoding_50.json OK ++ invalid_fp_encoding_51.json OK ++ invalid_fp_encoding_52.json OK ++ invalid_fp_encoding_53.json OK ++ invalid_fp_encoding_54.json OK ++ invalid_fp_encoding_55.json OK ++ invalid_fp_encoding_56.json OK ++ invalid_fp_encoding_57.json OK ++ invalid_fp_encoding_58.json OK ++ invalid_fp_encoding_59.json OK ++ invalid_fp_encoding_6.json OK ++ invalid_fp_encoding_60.json OK ++ invalid_fp_encoding_61.json OK ++ invalid_fp_encoding_62.json OK ++ invalid_fp_encoding_63.json OK ++ invalid_fp_encoding_64.json OK ++ invalid_fp_encoding_65.json OK ++ invalid_fp_encoding_66.json OK ++ invalid_fp_encoding_67.json OK ++ invalid_fp_encoding_68.json OK ++ invalid_fp_encoding_69.json OK ++ invalid_fp_encoding_7.json OK ++ invalid_fp_encoding_70.json OK ++ invalid_fp_encoding_71.json OK ++ invalid_fp_encoding_72.json OK ++ invalid_fp_encoding_73.json OK ++ invalid_fp_encoding_74.json OK ++ invalid_fp_encoding_75.json OK ++ invalid_fp_encoding_76.json OK ++ invalid_fp_encoding_77.json OK ++ invalid_fp_encoding_78.json OK ++ invalid_fp_encoding_79.json OK ++ invalid_fp_encoding_8.json OK ++ invalid_fp_encoding_80.json OK ++ invalid_fp_encoding_81.json OK ++ invalid_fp_encoding_82.json OK ++ invalid_fp_encoding_83.json OK ++ invalid_fp_encoding_84.json OK ++ invalid_fp_encoding_85.json OK ++ invalid_fp_encoding_86.json OK ++ invalid_fp_encoding_87.json OK ++ invalid_fp_encoding_88.json OK ++ invalid_fp_encoding_89.json OK ++ invalid_fp_encoding_9.json OK ++ invalid_fp_encoding_90.json OK ++ invalid_fp_encoding_91.json OK ++ invalid_fp_encoding_92.json OK ++ invalid_fp_encoding_93.json OK ++ invalid_fp_encoding_94.json OK ++ invalid_fp_encoding_95.json OK ++ invalid_fp_encoding_96.json OK ++ invalid_fp_encoding_97.json OK ++ invalid_fp_encoding_98.json OK ++ invalid_fp_encoding_99.json OK ++ invalid_subgroup_for_pairing_0.json OK ++ invalid_subgroup_for_pairing_1.json OK ++ invalid_subgroup_for_pairing_10.json OK ++ invalid_subgroup_for_pairing_11.json OK ++ invalid_subgroup_for_pairing_12.json OK ++ invalid_subgroup_for_pairing_13.json OK ++ invalid_subgroup_for_pairing_14.json OK ++ invalid_subgroup_for_pairing_15.json OK ++ invalid_subgroup_for_pairing_16.json OK ++ invalid_subgroup_for_pairing_17.json OK ++ invalid_subgroup_for_pairing_18.json OK ++ invalid_subgroup_for_pairing_19.json OK ++ invalid_subgroup_for_pairing_2.json OK ++ invalid_subgroup_for_pairing_20.json OK ++ invalid_subgroup_for_pairing_21.json OK ++ invalid_subgroup_for_pairing_22.json OK ++ invalid_subgroup_for_pairing_23.json OK ++ invalid_subgroup_for_pairing_24.json OK ++ invalid_subgroup_for_pairing_25.json OK ++ invalid_subgroup_for_pairing_26.json OK ++ invalid_subgroup_for_pairing_27.json OK ++ invalid_subgroup_for_pairing_28.json OK ++ invalid_subgroup_for_pairing_29.json OK ++ invalid_subgroup_for_pairing_3.json OK ++ invalid_subgroup_for_pairing_30.json OK ++ invalid_subgroup_for_pairing_31.json OK ++ invalid_subgroup_for_pairing_32.json OK ++ invalid_subgroup_for_pairing_33.json OK ++ invalid_subgroup_for_pairing_34.json OK ++ invalid_subgroup_for_pairing_35.json OK ++ invalid_subgroup_for_pairing_36.json OK ++ invalid_subgroup_for_pairing_37.json OK ++ invalid_subgroup_for_pairing_38.json OK ++ invalid_subgroup_for_pairing_39.json OK ++ invalid_subgroup_for_pairing_4.json OK ++ invalid_subgroup_for_pairing_40.json OK ++ invalid_subgroup_for_pairing_41.json OK ++ invalid_subgroup_for_pairing_42.json OK ++ invalid_subgroup_for_pairing_43.json OK ++ invalid_subgroup_for_pairing_44.json OK ++ invalid_subgroup_for_pairing_45.json OK ++ invalid_subgroup_for_pairing_46.json OK ++ invalid_subgroup_for_pairing_47.json OK ++ invalid_subgroup_for_pairing_48.json OK ++ invalid_subgroup_for_pairing_49.json OK ++ invalid_subgroup_for_pairing_5.json OK ++ invalid_subgroup_for_pairing_50.json OK ++ invalid_subgroup_for_pairing_51.json OK ++ invalid_subgroup_for_pairing_52.json OK ++ invalid_subgroup_for_pairing_53.json OK ++ invalid_subgroup_for_pairing_54.json OK ++ invalid_subgroup_for_pairing_55.json OK ++ invalid_subgroup_for_pairing_56.json OK ++ invalid_subgroup_for_pairing_57.json OK ++ invalid_subgroup_for_pairing_58.json OK ++ invalid_subgroup_for_pairing_59.json OK ++ invalid_subgroup_for_pairing_6.json OK ++ invalid_subgroup_for_pairing_60.json OK ++ invalid_subgroup_for_pairing_61.json OK ++ invalid_subgroup_for_pairing_62.json OK ++ invalid_subgroup_for_pairing_63.json OK ++ invalid_subgroup_for_pairing_64.json OK ++ invalid_subgroup_for_pairing_65.json OK ++ invalid_subgroup_for_pairing_66.json OK ++ invalid_subgroup_for_pairing_67.json OK ++ invalid_subgroup_for_pairing_68.json OK ++ invalid_subgroup_for_pairing_69.json OK ++ invalid_subgroup_for_pairing_7.json OK ++ invalid_subgroup_for_pairing_70.json OK ++ invalid_subgroup_for_pairing_71.json OK ++ invalid_subgroup_for_pairing_72.json OK ++ invalid_subgroup_for_pairing_73.json OK ++ invalid_subgroup_for_pairing_74.json OK ++ invalid_subgroup_for_pairing_75.json OK ++ invalid_subgroup_for_pairing_76.json OK ++ invalid_subgroup_for_pairing_77.json OK ++ invalid_subgroup_for_pairing_78.json OK ++ invalid_subgroup_for_pairing_79.json OK ++ invalid_subgroup_for_pairing_8.json OK ++ invalid_subgroup_for_pairing_80.json OK ++ invalid_subgroup_for_pairing_81.json OK ++ invalid_subgroup_for_pairing_82.json OK ++ invalid_subgroup_for_pairing_83.json OK ++ invalid_subgroup_for_pairing_84.json OK ++ invalid_subgroup_for_pairing_85.json OK ++ invalid_subgroup_for_pairing_86.json OK ++ invalid_subgroup_for_pairing_87.json OK ++ invalid_subgroup_for_pairing_88.json OK ++ invalid_subgroup_for_pairing_89.json OK ++ invalid_subgroup_for_pairing_9.json OK ++ invalid_subgroup_for_pairing_90.json OK ++ invalid_subgroup_for_pairing_91.json OK ++ invalid_subgroup_for_pairing_92.json OK ++ invalid_subgroup_for_pairing_93.json OK ++ invalid_subgroup_for_pairing_94.json OK ++ invalid_subgroup_for_pairing_95.json OK ++ invalid_subgroup_for_pairing_96.json OK ++ invalid_subgroup_for_pairing_97.json OK ++ invalid_subgroup_for_pairing_98.json OK ++ invalid_subgroup_for_pairing_99.json OK ++ pairing_0.json OK ++ pairing_1.json OK ++ pairing_10.json OK ++ pairing_11.json OK ++ pairing_12.json OK ++ pairing_13.json OK ++ pairing_14.json OK ++ pairing_15.json OK ++ pairing_16.json OK ++ pairing_17.json OK ++ pairing_18.json OK ++ pairing_19.json OK ++ pairing_2.json OK ++ pairing_20.json OK ++ pairing_21.json OK ++ pairing_22.json OK ++ pairing_23.json OK ++ pairing_24.json OK ++ pairing_25.json OK ++ pairing_26.json OK ++ pairing_27.json OK ++ pairing_28.json OK ++ pairing_29.json OK ++ pairing_3.json OK ++ pairing_30.json OK ++ pairing_31.json OK ++ pairing_32.json OK ++ pairing_33.json OK ++ pairing_34.json OK ++ pairing_35.json OK ++ pairing_36.json OK ++ pairing_37.json OK ++ pairing_38.json OK ++ pairing_39.json OK ++ pairing_4.json OK ++ pairing_40.json OK ++ pairing_41.json OK ++ pairing_42.json OK ++ pairing_43.json OK ++ pairing_44.json OK ++ pairing_45.json OK ++ pairing_46.json OK ++ pairing_47.json OK ++ pairing_48.json OK ++ pairing_49.json OK ++ pairing_5.json OK ++ pairing_50.json OK ++ pairing_51.json OK ++ pairing_52.json OK ++ pairing_53.json OK ++ pairing_54.json OK ++ pairing_55.json OK ++ pairing_56.json OK ++ pairing_57.json OK ++ pairing_58.json OK ++ pairing_59.json OK ++ pairing_6.json OK ++ pairing_60.json OK ++ pairing_61.json OK ++ pairing_62.json OK ++ pairing_63.json OK ++ pairing_64.json OK ++ pairing_65.json OK ++ pairing_66.json OK ++ pairing_67.json OK ++ pairing_68.json OK ++ pairing_69.json OK ++ pairing_7.json OK ++ pairing_70.json OK ++ pairing_71.json OK ++ pairing_72.json OK ++ pairing_73.json OK ++ pairing_74.json OK ++ pairing_75.json OK ++ pairing_76.json OK ++ pairing_77.json OK ++ pairing_78.json OK ++ pairing_79.json OK ++ pairing_8.json OK ++ pairing_80.json OK ++ pairing_81.json OK ++ pairing_82.json OK ++ pairing_83.json OK ++ pairing_84.json OK ++ pairing_85.json OK ++ pairing_86.json OK ++ pairing_87.json OK ++ pairing_88.json OK ++ pairing_89.json OK ++ pairing_9.json OK ++ pairing_90.json OK ++ pairing_91.json OK ++ pairing_92.json OK ++ pairing_93.json OK ++ pairing_94.json OK ++ pairing_95.json OK +``` +OK: 1403/1403 Fail: 0/1403 Skip: 0/1403 ## stExample ```diff + add11.json OK @@ -2253,6 +3664,9 @@ OK: 11/13 Fail: 0/13 Skip: 2/13 OK: 9/9 Fail: 0/9 Skip: 0/9 ## stStaticCall ```diff + StaticcallToPrecompileFromCalledContract.json Skip + StaticcallToPrecompileFromContractInitialization.json Skip + StaticcallToPrecompileFromTransaction.json Skip static_ABAcalls0.json Skip static_ABAcalls1.json Skip static_ABAcalls2.json Skip @@ -2537,7 +3951,24 @@ OK: 9/9 Fail: 0/9 Skip: 0/9 static_refund_CallToSuicideNoStorage.json Skip static_refund_CallToSuicideTwice.json Skip ``` -OK: 0/283 Fail: 0/283 Skip: 283/283 +OK: 0/286 Fail: 0/286 Skip: 286/286 +## stStaticFlagEnabled +```diff ++ CallWithNOTZeroValueToPrecompileFromCalledContract.json OK ++ CallWithNOTZeroValueToPrecompileFromContractInitialization.json OK ++ CallWithNOTZeroValueToPrecompileFromTransaction.json OK ++ CallWithZeroValueToPrecompileFromCalledContract.json OK ++ CallWithZeroValueToPrecompileFromContractInitialization.json OK ++ CallWithZeroValueToPrecompileFromTransaction.json OK ++ CallcodeToPrecompileFromCalledContract.json OK ++ CallcodeToPrecompileFromContractInitialization.json OK ++ CallcodeToPrecompileFromTransaction.json OK ++ DelegatecallToPrecompileFromCalledContract.json OK ++ DelegatecallToPrecompileFromContractInitialization.json OK ++ DelegatecallToPrecompileFromTransaction.json OK ++ StaticcallForPrecompilesIssue683.json OK +``` +OK: 13/13 Fail: 0/13 Skip: 0/13 ## stSubroutine ```diff + beginSubAtEndOfCode.json OK @@ -2627,14 +4058,20 @@ OK: 56/66 Fail: 0/66 Skip: 10/66 ```diff CALLBlake2f_MaxRounds.json Skip + sstore_combinations_initial00.json OK ++ sstore_combinations_initial00_2.json OK + sstore_combinations_initial01.json OK ++ sstore_combinations_initial01_2.json OK + sstore_combinations_initial10.json OK ++ sstore_combinations_initial10_2.json OK + sstore_combinations_initial11.json OK ++ sstore_combinations_initial11_2.json OK + sstore_combinations_initial20.json OK ++ sstore_combinations_initial20_2.json OK + sstore_combinations_initial21.json OK ++ sstore_combinations_initial21_2.json OK static_Call50000_sha256.json Skip ``` -OK: 6/8 Fail: 0/8 Skip: 2/8 +OK: 12/14 Fail: 0/14 Skip: 2/14 ## stTransactionTest ```diff + ContractStoreClearsOOG.json OK @@ -3701,4 +5138,4 @@ OK: 7/7 Fail: 0/7 Skip: 0/7 OK: 1/1 Fail: 0/1 Skip: 0/1 ---TOTAL--- -OK: 2956/3351 Fail: 0/3351 Skip: 395/3351 +OK: 4382/4780 Fail: 0/4780 Skip: 398/4780 diff --git a/newGeneralStateTests.md b/newGeneralStateTests.md index ad50c98a8..dbde82c23 100644 --- a/newGeneralStateTests.md +++ b/newGeneralStateTests.md @@ -548,6 +548,1413 @@ OK: 30/30 Fail: 0/30 Skip: 0/30 + vitalikTransactionTest.json OK ``` OK: 7/7 Fail: 0/7 Skip: 0/7 +## stEIP2537 +```diff + extras_fp2_to_g2_0.json Skip + extras_fp2_to_g2_1.json Skip + extras_fp2_to_g2_2.json Skip + extras_fp_to_g1_0.json Skip + extras_fp_to_g1_1.json Skip + extras_fp_to_g1_2.json Skip + extras_g2_multiexp_0.json Skip + fp2_to_g2_0.json Skip + fp2_to_g2_1.json Skip + fp2_to_g2_10.json Skip + fp2_to_g2_11.json Skip + fp2_to_g2_12.json Skip + fp2_to_g2_13.json Skip + fp2_to_g2_14.json Skip + fp2_to_g2_15.json Skip + fp2_to_g2_16.json Skip + fp2_to_g2_17.json Skip + fp2_to_g2_18.json Skip + fp2_to_g2_19.json Skip + fp2_to_g2_2.json Skip + fp2_to_g2_20.json Skip + fp2_to_g2_21.json Skip + fp2_to_g2_22.json Skip + fp2_to_g2_23.json Skip + fp2_to_g2_24.json Skip + fp2_to_g2_25.json Skip + fp2_to_g2_26.json Skip + fp2_to_g2_27.json Skip + fp2_to_g2_28.json Skip + fp2_to_g2_29.json Skip + fp2_to_g2_3.json Skip + fp2_to_g2_30.json Skip + fp2_to_g2_31.json Skip + fp2_to_g2_32.json Skip + fp2_to_g2_33.json Skip + fp2_to_g2_34.json Skip + fp2_to_g2_35.json Skip + fp2_to_g2_36.json Skip + fp2_to_g2_37.json Skip + fp2_to_g2_38.json Skip + fp2_to_g2_39.json Skip + fp2_to_g2_4.json Skip + fp2_to_g2_40.json Skip + fp2_to_g2_41.json Skip + fp2_to_g2_42.json Skip + fp2_to_g2_43.json Skip + fp2_to_g2_44.json Skip + fp2_to_g2_45.json Skip + fp2_to_g2_46.json Skip + fp2_to_g2_47.json Skip + fp2_to_g2_48.json Skip + fp2_to_g2_49.json Skip + fp2_to_g2_5.json Skip + fp2_to_g2_50.json Skip + fp2_to_g2_51.json Skip + fp2_to_g2_52.json Skip + fp2_to_g2_53.json Skip + fp2_to_g2_54.json Skip + fp2_to_g2_55.json Skip + fp2_to_g2_56.json Skip + fp2_to_g2_57.json Skip + fp2_to_g2_58.json Skip + fp2_to_g2_59.json Skip + fp2_to_g2_6.json Skip + fp2_to_g2_60.json Skip + fp2_to_g2_61.json Skip + fp2_to_g2_62.json Skip + fp2_to_g2_63.json Skip + fp2_to_g2_64.json Skip + fp2_to_g2_65.json Skip + fp2_to_g2_66.json Skip + fp2_to_g2_67.json Skip + fp2_to_g2_68.json Skip + fp2_to_g2_69.json Skip + fp2_to_g2_7.json Skip + fp2_to_g2_70.json Skip + fp2_to_g2_71.json Skip + fp2_to_g2_72.json Skip + fp2_to_g2_73.json Skip + fp2_to_g2_74.json Skip + fp2_to_g2_75.json Skip + fp2_to_g2_76.json Skip + fp2_to_g2_77.json Skip + fp2_to_g2_78.json Skip + fp2_to_g2_79.json Skip + fp2_to_g2_8.json Skip + fp2_to_g2_80.json Skip + fp2_to_g2_81.json Skip + fp2_to_g2_82.json Skip + fp2_to_g2_83.json Skip + fp2_to_g2_84.json Skip + fp2_to_g2_85.json Skip + fp2_to_g2_86.json Skip + fp2_to_g2_87.json Skip + fp2_to_g2_88.json Skip + fp2_to_g2_89.json Skip + fp2_to_g2_9.json Skip + fp2_to_g2_90.json Skip + fp2_to_g2_91.json Skip + fp2_to_g2_92.json Skip + fp2_to_g2_93.json Skip + fp2_to_g2_94.json Skip + fp2_to_g2_95.json Skip + fp2_to_g2_96.json Skip + fp2_to_g2_97.json Skip + fp2_to_g2_98.json Skip + fp2_to_g2_99.json Skip + fp_to_g1_0.json Skip + fp_to_g1_1.json Skip + fp_to_g1_10.json Skip + fp_to_g1_11.json Skip + fp_to_g1_12.json Skip + fp_to_g1_13.json Skip + fp_to_g1_14.json Skip + fp_to_g1_15.json Skip + fp_to_g1_16.json Skip + fp_to_g1_17.json Skip + fp_to_g1_18.json Skip + fp_to_g1_19.json Skip + fp_to_g1_2.json Skip + fp_to_g1_20.json Skip + fp_to_g1_21.json Skip + fp_to_g1_22.json Skip + fp_to_g1_23.json Skip + fp_to_g1_24.json Skip + fp_to_g1_25.json Skip + fp_to_g1_26.json Skip + fp_to_g1_27.json Skip + fp_to_g1_28.json Skip + fp_to_g1_29.json Skip + fp_to_g1_3.json Skip + fp_to_g1_30.json Skip + fp_to_g1_31.json Skip + fp_to_g1_32.json Skip + fp_to_g1_33.json Skip + fp_to_g1_34.json Skip + fp_to_g1_35.json Skip + fp_to_g1_36.json Skip + fp_to_g1_37.json Skip + fp_to_g1_38.json Skip + fp_to_g1_39.json Skip + fp_to_g1_4.json Skip + fp_to_g1_40.json Skip + fp_to_g1_41.json Skip + fp_to_g1_42.json Skip + fp_to_g1_43.json Skip + fp_to_g1_44.json Skip + fp_to_g1_45.json Skip + fp_to_g1_46.json Skip + fp_to_g1_47.json Skip + fp_to_g1_48.json Skip + fp_to_g1_49.json Skip + fp_to_g1_5.json Skip + fp_to_g1_50.json Skip + fp_to_g1_51.json Skip + fp_to_g1_52.json Skip + fp_to_g1_53.json Skip + fp_to_g1_54.json Skip + fp_to_g1_55.json Skip + fp_to_g1_56.json Skip + fp_to_g1_57.json Skip + fp_to_g1_58.json Skip + fp_to_g1_59.json Skip + fp_to_g1_6.json Skip + fp_to_g1_60.json Skip + fp_to_g1_61.json Skip + fp_to_g1_62.json Skip + fp_to_g1_63.json Skip + fp_to_g1_64.json Skip + fp_to_g1_65.json Skip + fp_to_g1_66.json Skip + fp_to_g1_67.json Skip + fp_to_g1_68.json Skip + fp_to_g1_69.json Skip + fp_to_g1_7.json Skip + fp_to_g1_70.json Skip + fp_to_g1_71.json Skip + fp_to_g1_72.json Skip + fp_to_g1_73.json Skip + fp_to_g1_74.json Skip + fp_to_g1_75.json Skip + fp_to_g1_76.json Skip + fp_to_g1_77.json Skip + fp_to_g1_78.json Skip + fp_to_g1_79.json Skip + fp_to_g1_8.json Skip + fp_to_g1_80.json Skip + fp_to_g1_81.json Skip + fp_to_g1_82.json Skip + fp_to_g1_83.json Skip + fp_to_g1_84.json Skip + fp_to_g1_85.json Skip + fp_to_g1_86.json Skip + fp_to_g1_87.json Skip + fp_to_g1_88.json Skip + fp_to_g1_89.json Skip + fp_to_g1_9.json Skip + fp_to_g1_90.json Skip + fp_to_g1_91.json Skip + fp_to_g1_92.json Skip + fp_to_g1_93.json Skip + fp_to_g1_94.json Skip + fp_to_g1_95.json Skip + fp_to_g1_96.json Skip + fp_to_g1_97.json Skip + fp_to_g1_98.json Skip + fp_to_g1_99.json Skip + g1_add_0.json Skip + g1_add_1.json Skip + g1_add_10.json Skip + g1_add_11.json Skip + g1_add_12.json Skip + g1_add_13.json Skip + g1_add_14.json Skip + g1_add_15.json Skip + g1_add_16.json Skip + g1_add_17.json Skip + g1_add_18.json Skip + g1_add_19.json Skip + g1_add_2.json Skip + g1_add_20.json Skip + g1_add_21.json Skip + g1_add_22.json Skip + g1_add_23.json Skip + g1_add_24.json Skip + g1_add_25.json Skip + g1_add_26.json Skip + g1_add_27.json Skip + g1_add_28.json Skip + g1_add_29.json Skip + g1_add_3.json Skip + g1_add_30.json Skip + g1_add_31.json Skip + g1_add_32.json Skip + g1_add_33.json Skip + g1_add_34.json Skip + g1_add_35.json Skip + g1_add_36.json Skip + g1_add_37.json Skip + g1_add_38.json Skip + g1_add_39.json Skip + g1_add_4.json Skip + g1_add_40.json Skip + g1_add_41.json Skip + g1_add_42.json Skip + g1_add_43.json Skip + g1_add_44.json Skip + g1_add_45.json Skip + g1_add_46.json Skip + g1_add_47.json Skip + g1_add_48.json Skip + g1_add_49.json Skip + g1_add_5.json Skip + g1_add_50.json Skip + g1_add_51.json Skip + g1_add_52.json Skip + g1_add_53.json Skip + g1_add_54.json Skip + g1_add_55.json Skip + g1_add_56.json Skip + g1_add_57.json Skip + g1_add_58.json Skip + g1_add_59.json Skip + g1_add_6.json Skip + g1_add_60.json Skip + g1_add_61.json Skip + g1_add_62.json Skip + g1_add_63.json Skip + g1_add_64.json Skip + g1_add_65.json Skip + g1_add_66.json Skip + g1_add_67.json Skip + g1_add_68.json Skip + g1_add_69.json Skip + g1_add_7.json Skip + g1_add_70.json Skip + g1_add_71.json Skip + g1_add_72.json Skip + g1_add_73.json Skip + g1_add_74.json Skip + g1_add_75.json Skip + g1_add_76.json Skip + g1_add_77.json Skip + g1_add_78.json Skip + g1_add_79.json Skip + g1_add_8.json Skip + g1_add_80.json Skip + g1_add_81.json Skip + g1_add_82.json Skip + g1_add_83.json Skip + g1_add_84.json Skip + g1_add_85.json Skip + g1_add_86.json Skip + g1_add_87.json Skip + g1_add_88.json Skip + g1_add_89.json Skip + g1_add_9.json Skip + g1_add_90.json Skip + g1_add_91.json Skip + g1_add_92.json Skip + g1_add_93.json Skip + g1_add_94.json Skip + g1_add_95.json Skip + g1_add_96.json Skip + g1_add_97.json Skip + g1_add_98.json Skip + g1_add_99.json Skip + g1_mul_0.json Skip + g1_mul_1.json Skip + g1_mul_10.json Skip + g1_mul_11.json Skip + g1_mul_12.json Skip + g1_mul_13.json Skip + g1_mul_14.json Skip + g1_mul_15.json Skip + g1_mul_16.json Skip + g1_mul_17.json Skip + g1_mul_18.json Skip + g1_mul_19.json Skip + g1_mul_2.json Skip + g1_mul_20.json Skip + g1_mul_21.json Skip + g1_mul_22.json Skip + g1_mul_23.json Skip + g1_mul_24.json Skip + g1_mul_25.json Skip + g1_mul_26.json Skip + g1_mul_27.json Skip + g1_mul_28.json Skip + g1_mul_29.json Skip + g1_mul_3.json Skip + g1_mul_30.json Skip + g1_mul_31.json Skip + g1_mul_32.json Skip + g1_mul_33.json Skip + g1_mul_34.json Skip + g1_mul_35.json Skip + g1_mul_36.json Skip + g1_mul_37.json Skip + g1_mul_38.json Skip + g1_mul_39.json Skip + g1_mul_4.json Skip + g1_mul_40.json Skip + g1_mul_41.json Skip + g1_mul_42.json Skip + g1_mul_43.json Skip + g1_mul_44.json Skip + g1_mul_45.json Skip + g1_mul_46.json Skip + g1_mul_47.json Skip + g1_mul_48.json Skip + g1_mul_49.json Skip + g1_mul_5.json Skip + g1_mul_50.json Skip + g1_mul_51.json Skip + g1_mul_52.json Skip + g1_mul_53.json Skip + g1_mul_54.json Skip + g1_mul_55.json Skip + g1_mul_56.json Skip + g1_mul_57.json Skip + g1_mul_58.json Skip + g1_mul_59.json Skip + g1_mul_6.json Skip + g1_mul_60.json Skip + g1_mul_61.json Skip + g1_mul_62.json Skip + g1_mul_63.json Skip + g1_mul_64.json Skip + g1_mul_65.json Skip + g1_mul_66.json Skip + g1_mul_67.json Skip + g1_mul_68.json Skip + g1_mul_69.json Skip + g1_mul_7.json Skip + g1_mul_70.json Skip + g1_mul_71.json Skip + g1_mul_72.json Skip + g1_mul_73.json Skip + g1_mul_74.json Skip + g1_mul_75.json Skip + g1_mul_76.json Skip + g1_mul_77.json Skip + g1_mul_78.json Skip + g1_mul_79.json Skip + g1_mul_8.json Skip + g1_mul_80.json Skip + g1_mul_81.json Skip + g1_mul_82.json Skip + g1_mul_83.json Skip + g1_mul_84.json Skip + g1_mul_85.json Skip + g1_mul_86.json Skip + g1_mul_87.json Skip + g1_mul_88.json Skip + g1_mul_89.json Skip + g1_mul_9.json Skip + g1_mul_90.json Skip + g1_mul_91.json Skip + g1_mul_92.json Skip + g1_mul_93.json Skip + g1_mul_94.json Skip + g1_mul_95.json Skip + g1_mul_96.json Skip + g1_mul_97.json Skip + g1_mul_98.json Skip + g1_mul_99.json Skip + g1_multiexp_0.json Skip + g1_multiexp_1.json Skip + g1_multiexp_10.json Skip + g1_multiexp_11.json Skip + g1_multiexp_12.json Skip + g1_multiexp_13.json Skip + g1_multiexp_14.json Skip + g1_multiexp_15.json Skip + g1_multiexp_16.json Skip + g1_multiexp_17.json Skip + g1_multiexp_18.json Skip + g1_multiexp_19.json Skip + g1_multiexp_2.json Skip + g1_multiexp_20.json Skip + g1_multiexp_21.json Skip + g1_multiexp_22.json Skip + g1_multiexp_23.json Skip + g1_multiexp_24.json Skip + g1_multiexp_25.json Skip + g1_multiexp_26.json Skip + g1_multiexp_27.json Skip + g1_multiexp_28.json Skip + g1_multiexp_29.json Skip + g1_multiexp_3.json Skip + g1_multiexp_30.json Skip + g1_multiexp_31.json Skip + g1_multiexp_32.json Skip + g1_multiexp_33.json Skip + g1_multiexp_34.json Skip + g1_multiexp_35.json Skip + g1_multiexp_36.json Skip + g1_multiexp_37.json Skip + g1_multiexp_38.json Skip + g1_multiexp_39.json Skip + g1_multiexp_4.json Skip + g1_multiexp_40.json Skip + g1_multiexp_41.json Skip + g1_multiexp_42.json Skip + g1_multiexp_43.json Skip + g1_multiexp_44.json Skip + g1_multiexp_45.json Skip + g1_multiexp_46.json Skip + g1_multiexp_47.json Skip + g1_multiexp_48.json Skip + g1_multiexp_49.json Skip + g1_multiexp_5.json Skip + g1_multiexp_50.json Skip + g1_multiexp_51.json Skip + g1_multiexp_52.json Skip + g1_multiexp_53.json Skip + g1_multiexp_54.json Skip + g1_multiexp_55.json Skip + g1_multiexp_56.json Skip + g1_multiexp_57.json Skip + g1_multiexp_58.json Skip + g1_multiexp_59.json Skip + g1_multiexp_6.json Skip + g1_multiexp_60.json Skip + g1_multiexp_61.json Skip + g1_multiexp_62.json Skip + g1_multiexp_63.json Skip + g1_multiexp_64.json Skip + g1_multiexp_65.json Skip + g1_multiexp_66.json Skip + g1_multiexp_67.json Skip + g1_multiexp_68.json Skip + g1_multiexp_69.json Skip + g1_multiexp_7.json Skip + g1_multiexp_70.json Skip + g1_multiexp_71.json Skip + g1_multiexp_72.json Skip + g1_multiexp_73.json Skip + g1_multiexp_74.json Skip + g1_multiexp_75.json Skip + g1_multiexp_76.json Skip + g1_multiexp_77.json Skip + g1_multiexp_78.json Skip + g1_multiexp_79.json Skip + g1_multiexp_8.json Skip + g1_multiexp_80.json Skip + g1_multiexp_81.json Skip + g1_multiexp_82.json Skip + g1_multiexp_83.json Skip + g1_multiexp_84.json Skip + g1_multiexp_85.json Skip + g1_multiexp_86.json Skip + g1_multiexp_87.json Skip + g1_multiexp_88.json Skip + g1_multiexp_89.json Skip + g1_multiexp_9.json Skip + g1_multiexp_90.json Skip + g1_multiexp_91.json Skip + g1_multiexp_92.json Skip + g1_multiexp_93.json Skip + g1_multiexp_94.json Skip + g1_multiexp_95.json Skip + g1_multiexp_96.json Skip + g1_multiexp_97.json Skip + g1_multiexp_98.json Skip + g1_multiexp_99.json Skip + g1_not_on_curve_0.json Skip + g1_not_on_curve_1.json Skip + g1_not_on_curve_10.json Skip + g1_not_on_curve_11.json Skip + g1_not_on_curve_12.json Skip + g1_not_on_curve_13.json Skip + g1_not_on_curve_14.json Skip + g1_not_on_curve_15.json Skip + g1_not_on_curve_16.json Skip + g1_not_on_curve_17.json Skip + g1_not_on_curve_18.json Skip + g1_not_on_curve_19.json Skip + g1_not_on_curve_2.json Skip + g1_not_on_curve_20.json Skip + g1_not_on_curve_21.json Skip + g1_not_on_curve_22.json Skip + g1_not_on_curve_23.json Skip + g1_not_on_curve_24.json Skip + g1_not_on_curve_25.json Skip + g1_not_on_curve_26.json Skip + g1_not_on_curve_27.json Skip + g1_not_on_curve_28.json Skip + g1_not_on_curve_29.json Skip + g1_not_on_curve_3.json Skip + g1_not_on_curve_30.json Skip + g1_not_on_curve_31.json Skip + g1_not_on_curve_32.json Skip + g1_not_on_curve_33.json Skip + g1_not_on_curve_34.json Skip + g1_not_on_curve_35.json Skip + g1_not_on_curve_36.json Skip + g1_not_on_curve_37.json Skip + g1_not_on_curve_38.json Skip + g1_not_on_curve_39.json Skip + g1_not_on_curve_4.json Skip + g1_not_on_curve_40.json Skip + g1_not_on_curve_41.json Skip + g1_not_on_curve_42.json Skip + g1_not_on_curve_43.json Skip + g1_not_on_curve_44.json Skip + g1_not_on_curve_45.json Skip + g1_not_on_curve_46.json Skip + g1_not_on_curve_47.json Skip + g1_not_on_curve_48.json Skip + g1_not_on_curve_49.json Skip + g1_not_on_curve_5.json Skip + g1_not_on_curve_50.json Skip + g1_not_on_curve_51.json Skip + g1_not_on_curve_52.json Skip + g1_not_on_curve_53.json Skip + g1_not_on_curve_54.json Skip + g1_not_on_curve_55.json Skip + g1_not_on_curve_56.json Skip + g1_not_on_curve_57.json Skip + g1_not_on_curve_58.json Skip + g1_not_on_curve_59.json Skip + g1_not_on_curve_6.json Skip + g1_not_on_curve_60.json Skip + g1_not_on_curve_61.json Skip + g1_not_on_curve_62.json Skip + g1_not_on_curve_63.json Skip + g1_not_on_curve_64.json Skip + g1_not_on_curve_65.json Skip + g1_not_on_curve_66.json Skip + g1_not_on_curve_67.json Skip + g1_not_on_curve_68.json Skip + g1_not_on_curve_69.json Skip + g1_not_on_curve_7.json Skip + g1_not_on_curve_70.json Skip + g1_not_on_curve_71.json Skip + g1_not_on_curve_72.json Skip + g1_not_on_curve_73.json Skip + g1_not_on_curve_74.json Skip + g1_not_on_curve_75.json Skip + g1_not_on_curve_76.json Skip + g1_not_on_curve_77.json Skip + g1_not_on_curve_78.json Skip + g1_not_on_curve_79.json Skip + g1_not_on_curve_8.json Skip + g1_not_on_curve_80.json Skip + g1_not_on_curve_81.json Skip + g1_not_on_curve_82.json Skip + g1_not_on_curve_83.json Skip + g1_not_on_curve_84.json Skip + g1_not_on_curve_85.json Skip + g1_not_on_curve_86.json Skip + g1_not_on_curve_87.json Skip + g1_not_on_curve_88.json Skip + g1_not_on_curve_89.json Skip + g1_not_on_curve_9.json Skip + g1_not_on_curve_90.json Skip + g1_not_on_curve_91.json Skip + g1_not_on_curve_92.json Skip + g1_not_on_curve_93.json Skip + g1_not_on_curve_94.json Skip + g1_not_on_curve_95.json Skip + g1_not_on_curve_96.json Skip + g1_not_on_curve_97.json Skip + g1_not_on_curve_98.json Skip + g1_not_on_curve_99.json Skip + g2_add_0.json Skip + g2_add_1.json Skip + g2_add_10.json Skip + g2_add_11.json Skip + g2_add_12.json Skip + g2_add_13.json Skip + g2_add_14.json Skip + g2_add_15.json Skip + g2_add_16.json Skip + g2_add_17.json Skip + g2_add_18.json Skip + g2_add_19.json Skip + g2_add_2.json Skip + g2_add_20.json Skip + g2_add_21.json Skip + g2_add_22.json Skip + g2_add_23.json Skip + g2_add_24.json Skip + g2_add_25.json Skip + g2_add_26.json Skip + g2_add_27.json Skip + g2_add_28.json Skip + g2_add_29.json Skip + g2_add_3.json Skip + g2_add_30.json Skip + g2_add_31.json Skip + g2_add_32.json Skip + g2_add_33.json Skip + g2_add_34.json Skip + g2_add_35.json Skip + g2_add_36.json Skip + g2_add_37.json Skip + g2_add_38.json Skip + g2_add_39.json Skip + g2_add_4.json Skip + g2_add_40.json Skip + g2_add_41.json Skip + g2_add_42.json Skip + g2_add_43.json Skip + g2_add_44.json Skip + g2_add_45.json Skip + g2_add_46.json Skip + g2_add_47.json Skip + g2_add_48.json Skip + g2_add_49.json Skip + g2_add_5.json Skip + g2_add_50.json Skip + g2_add_51.json Skip + g2_add_52.json Skip + g2_add_53.json Skip + g2_add_54.json Skip + g2_add_55.json Skip + g2_add_56.json Skip + g2_add_57.json Skip + g2_add_58.json Skip + g2_add_59.json Skip + g2_add_6.json Skip + g2_add_60.json Skip + g2_add_61.json Skip + g2_add_62.json Skip + g2_add_63.json Skip + g2_add_64.json Skip + g2_add_65.json Skip + g2_add_66.json Skip + g2_add_67.json Skip + g2_add_68.json Skip + g2_add_69.json Skip + g2_add_7.json Skip + g2_add_70.json Skip + g2_add_71.json Skip + g2_add_72.json Skip + g2_add_73.json Skip + g2_add_74.json Skip + g2_add_75.json Skip + g2_add_76.json Skip + g2_add_77.json Skip + g2_add_78.json Skip + g2_add_79.json Skip + g2_add_8.json Skip + g2_add_80.json Skip + g2_add_81.json Skip + g2_add_82.json Skip + g2_add_83.json Skip + g2_add_84.json Skip + g2_add_85.json Skip + g2_add_86.json Skip + g2_add_87.json Skip + g2_add_88.json Skip + g2_add_89.json Skip + g2_add_9.json Skip + g2_add_90.json Skip + g2_add_91.json Skip + g2_add_92.json Skip + g2_add_93.json Skip + g2_add_94.json Skip + g2_add_95.json Skip + g2_add_96.json Skip + g2_add_97.json Skip + g2_add_98.json Skip + g2_add_99.json Skip + g2_mul_0.json Skip + g2_mul_1.json Skip + g2_mul_10.json Skip + g2_mul_11.json Skip + g2_mul_12.json Skip + g2_mul_13.json Skip + g2_mul_14.json Skip + g2_mul_15.json Skip + g2_mul_16.json Skip + g2_mul_17.json Skip + g2_mul_18.json Skip + g2_mul_19.json Skip + g2_mul_2.json Skip + g2_mul_20.json Skip + g2_mul_21.json Skip + g2_mul_22.json Skip + g2_mul_23.json Skip + g2_mul_24.json Skip + g2_mul_25.json Skip + g2_mul_26.json Skip + g2_mul_27.json Skip + g2_mul_28.json Skip + g2_mul_29.json Skip + g2_mul_3.json Skip + g2_mul_30.json Skip + g2_mul_31.json Skip + g2_mul_32.json Skip + g2_mul_33.json Skip + g2_mul_34.json Skip + g2_mul_35.json Skip + g2_mul_36.json Skip + g2_mul_37.json Skip + g2_mul_38.json Skip + g2_mul_39.json Skip + g2_mul_4.json Skip + g2_mul_40.json Skip + g2_mul_41.json Skip + g2_mul_42.json Skip + g2_mul_43.json Skip + g2_mul_44.json Skip + g2_mul_45.json Skip + g2_mul_46.json Skip + g2_mul_47.json Skip + g2_mul_48.json Skip + g2_mul_49.json Skip + g2_mul_5.json Skip + g2_mul_50.json Skip + g2_mul_51.json Skip + g2_mul_52.json Skip + g2_mul_53.json Skip + g2_mul_54.json Skip + g2_mul_55.json Skip + g2_mul_56.json Skip + g2_mul_57.json Skip + g2_mul_58.json Skip + g2_mul_59.json Skip + g2_mul_6.json Skip + g2_mul_60.json Skip + g2_mul_61.json Skip + g2_mul_62.json Skip + g2_mul_63.json Skip + g2_mul_64.json Skip + g2_mul_65.json Skip + g2_mul_66.json Skip + g2_mul_67.json Skip + g2_mul_68.json Skip + g2_mul_69.json Skip + g2_mul_7.json Skip + g2_mul_70.json Skip + g2_mul_71.json Skip + g2_mul_72.json Skip + g2_mul_73.json Skip + g2_mul_74.json Skip + g2_mul_75.json Skip + g2_mul_76.json Skip + g2_mul_77.json Skip + g2_mul_78.json Skip + g2_mul_79.json Skip + g2_mul_8.json Skip + g2_mul_80.json Skip + g2_mul_81.json Skip + g2_mul_82.json Skip + g2_mul_83.json Skip + g2_mul_84.json Skip + g2_mul_85.json Skip + g2_mul_86.json Skip + g2_mul_87.json Skip + g2_mul_88.json Skip + g2_mul_89.json Skip + g2_mul_9.json Skip + g2_mul_90.json Skip + g2_mul_91.json Skip + g2_mul_92.json Skip + g2_mul_93.json Skip + g2_mul_94.json Skip + g2_mul_95.json Skip + g2_mul_96.json Skip + g2_mul_97.json Skip + g2_mul_98.json Skip + g2_mul_99.json Skip + g2_multiexp_0.json Skip + g2_multiexp_1.json Skip + g2_multiexp_10.json Skip + g2_multiexp_11.json Skip + g2_multiexp_12.json Skip + g2_multiexp_13.json Skip + g2_multiexp_14.json Skip + g2_multiexp_15.json Skip + g2_multiexp_16.json Skip + g2_multiexp_17.json Skip + g2_multiexp_18.json Skip + g2_multiexp_19.json Skip + g2_multiexp_2.json Skip + g2_multiexp_20.json Skip + g2_multiexp_21.json Skip + g2_multiexp_22.json Skip + g2_multiexp_23.json Skip + g2_multiexp_24.json Skip + g2_multiexp_25.json Skip + g2_multiexp_26.json Skip + g2_multiexp_27.json Skip + g2_multiexp_28.json Skip + g2_multiexp_29.json Skip + g2_multiexp_3.json Skip + g2_multiexp_30.json Skip + g2_multiexp_31.json Skip + g2_multiexp_32.json Skip + g2_multiexp_33.json Skip + g2_multiexp_34.json Skip + g2_multiexp_35.json Skip + g2_multiexp_36.json Skip + g2_multiexp_37.json Skip + g2_multiexp_38.json Skip + g2_multiexp_39.json Skip + g2_multiexp_4.json Skip + g2_multiexp_40.json Skip + g2_multiexp_41.json Skip + g2_multiexp_42.json Skip + g2_multiexp_43.json Skip + g2_multiexp_44.json Skip + g2_multiexp_45.json Skip + g2_multiexp_46.json Skip + g2_multiexp_47.json Skip + g2_multiexp_48.json Skip + g2_multiexp_49.json Skip + g2_multiexp_5.json Skip + g2_multiexp_50.json Skip + g2_multiexp_51.json Skip + g2_multiexp_52.json Skip + g2_multiexp_53.json Skip + g2_multiexp_54.json Skip + g2_multiexp_55.json Skip + g2_multiexp_56.json Skip + g2_multiexp_57.json Skip + g2_multiexp_58.json Skip + g2_multiexp_59.json Skip + g2_multiexp_6.json Skip + g2_multiexp_60.json Skip + g2_multiexp_61.json Skip + g2_multiexp_62.json Skip + g2_multiexp_63.json Skip + g2_multiexp_64.json Skip + g2_multiexp_65.json Skip + g2_multiexp_66.json Skip + g2_multiexp_67.json Skip + g2_multiexp_68.json Skip + g2_multiexp_69.json Skip + g2_multiexp_7.json Skip + g2_multiexp_70.json Skip + g2_multiexp_71.json Skip + g2_multiexp_72.json Skip + g2_multiexp_73.json Skip + g2_multiexp_74.json Skip + g2_multiexp_75.json Skip + g2_multiexp_76.json Skip + g2_multiexp_77.json Skip + g2_multiexp_78.json Skip + g2_multiexp_79.json Skip + g2_multiexp_8.json Skip + g2_multiexp_80.json Skip + g2_multiexp_81.json Skip + g2_multiexp_82.json Skip + g2_multiexp_83.json Skip + g2_multiexp_84.json Skip + g2_multiexp_85.json Skip + g2_multiexp_86.json Skip + g2_multiexp_87.json Skip + g2_multiexp_88.json Skip + g2_multiexp_89.json Skip + g2_multiexp_9.json Skip + g2_multiexp_90.json Skip + g2_multiexp_91.json Skip + g2_multiexp_92.json Skip + g2_multiexp_93.json Skip + g2_multiexp_94.json Skip + g2_multiexp_95.json Skip + g2_multiexp_96.json Skip + g2_multiexp_97.json Skip + g2_multiexp_98.json Skip + g2_multiexp_99.json Skip + g2_not_on_curve_0.json Skip + g2_not_on_curve_1.json Skip + g2_not_on_curve_10.json Skip + g2_not_on_curve_11.json Skip + g2_not_on_curve_12.json Skip + g2_not_on_curve_13.json Skip + g2_not_on_curve_14.json Skip + g2_not_on_curve_15.json Skip + g2_not_on_curve_16.json Skip + g2_not_on_curve_17.json Skip + g2_not_on_curve_18.json Skip + g2_not_on_curve_19.json Skip + g2_not_on_curve_2.json Skip + g2_not_on_curve_20.json Skip + g2_not_on_curve_21.json Skip + g2_not_on_curve_22.json Skip + g2_not_on_curve_23.json Skip + g2_not_on_curve_24.json Skip + g2_not_on_curve_25.json Skip + g2_not_on_curve_26.json Skip + g2_not_on_curve_27.json Skip + g2_not_on_curve_28.json Skip + g2_not_on_curve_29.json Skip + g2_not_on_curve_3.json Skip + g2_not_on_curve_30.json Skip + g2_not_on_curve_31.json Skip + g2_not_on_curve_32.json Skip + g2_not_on_curve_33.json Skip + g2_not_on_curve_34.json Skip + g2_not_on_curve_35.json Skip + g2_not_on_curve_36.json Skip + g2_not_on_curve_37.json Skip + g2_not_on_curve_38.json Skip + g2_not_on_curve_39.json Skip + g2_not_on_curve_4.json Skip + g2_not_on_curve_40.json Skip + g2_not_on_curve_41.json Skip + g2_not_on_curve_42.json Skip + g2_not_on_curve_43.json Skip + g2_not_on_curve_44.json Skip + g2_not_on_curve_45.json Skip + g2_not_on_curve_46.json Skip + g2_not_on_curve_47.json Skip + g2_not_on_curve_48.json Skip + g2_not_on_curve_49.json Skip + g2_not_on_curve_5.json Skip + g2_not_on_curve_50.json Skip + g2_not_on_curve_51.json Skip + g2_not_on_curve_52.json Skip + g2_not_on_curve_53.json Skip + g2_not_on_curve_54.json Skip + g2_not_on_curve_55.json Skip + g2_not_on_curve_56.json Skip + g2_not_on_curve_57.json Skip + g2_not_on_curve_58.json Skip + g2_not_on_curve_59.json Skip + g2_not_on_curve_6.json Skip + g2_not_on_curve_60.json Skip + g2_not_on_curve_61.json Skip + g2_not_on_curve_62.json Skip + g2_not_on_curve_63.json Skip + g2_not_on_curve_64.json Skip + g2_not_on_curve_65.json Skip + g2_not_on_curve_66.json Skip + g2_not_on_curve_67.json Skip + g2_not_on_curve_68.json Skip + g2_not_on_curve_69.json Skip + g2_not_on_curve_7.json Skip + g2_not_on_curve_70.json Skip + g2_not_on_curve_71.json Skip + g2_not_on_curve_72.json Skip + g2_not_on_curve_73.json Skip + g2_not_on_curve_74.json Skip + g2_not_on_curve_75.json Skip + g2_not_on_curve_76.json Skip + g2_not_on_curve_77.json Skip + g2_not_on_curve_78.json Skip + g2_not_on_curve_79.json Skip + g2_not_on_curve_8.json Skip + g2_not_on_curve_80.json Skip + g2_not_on_curve_81.json Skip + g2_not_on_curve_82.json Skip + g2_not_on_curve_83.json Skip + g2_not_on_curve_84.json Skip + g2_not_on_curve_85.json Skip + g2_not_on_curve_86.json Skip + g2_not_on_curve_87.json Skip + g2_not_on_curve_88.json Skip + g2_not_on_curve_89.json Skip + g2_not_on_curve_9.json Skip + g2_not_on_curve_90.json Skip + g2_not_on_curve_91.json Skip + g2_not_on_curve_92.json Skip + g2_not_on_curve_93.json Skip + g2_not_on_curve_94.json Skip + g2_not_on_curve_95.json Skip + g2_not_on_curve_96.json Skip + g2_not_on_curve_97.json Skip + g2_not_on_curve_98.json Skip + g2_not_on_curve_99.json Skip + invalid_fp2_encoding_0.json Skip + invalid_fp2_encoding_1.json Skip + invalid_fp2_encoding_10.json Skip + invalid_fp2_encoding_11.json Skip + invalid_fp2_encoding_12.json Skip + invalid_fp2_encoding_13.json Skip + invalid_fp2_encoding_14.json Skip + invalid_fp2_encoding_15.json Skip + invalid_fp2_encoding_16.json Skip + invalid_fp2_encoding_17.json Skip + invalid_fp2_encoding_18.json Skip + invalid_fp2_encoding_19.json Skip + invalid_fp2_encoding_2.json Skip + invalid_fp2_encoding_20.json Skip + invalid_fp2_encoding_21.json Skip + invalid_fp2_encoding_22.json Skip + invalid_fp2_encoding_23.json Skip + invalid_fp2_encoding_24.json Skip + invalid_fp2_encoding_25.json Skip + invalid_fp2_encoding_26.json Skip + invalid_fp2_encoding_27.json Skip + invalid_fp2_encoding_28.json Skip + invalid_fp2_encoding_29.json Skip + invalid_fp2_encoding_3.json Skip + invalid_fp2_encoding_30.json Skip + invalid_fp2_encoding_31.json Skip + invalid_fp2_encoding_32.json Skip + invalid_fp2_encoding_33.json Skip + invalid_fp2_encoding_34.json Skip + invalid_fp2_encoding_35.json Skip + invalid_fp2_encoding_36.json Skip + invalid_fp2_encoding_37.json Skip + invalid_fp2_encoding_38.json Skip + invalid_fp2_encoding_39.json Skip + invalid_fp2_encoding_4.json Skip + invalid_fp2_encoding_40.json Skip + invalid_fp2_encoding_41.json Skip + invalid_fp2_encoding_42.json Skip + invalid_fp2_encoding_43.json Skip + invalid_fp2_encoding_44.json Skip + invalid_fp2_encoding_45.json Skip + invalid_fp2_encoding_46.json Skip + invalid_fp2_encoding_47.json Skip + invalid_fp2_encoding_48.json Skip + invalid_fp2_encoding_49.json Skip + invalid_fp2_encoding_5.json Skip + invalid_fp2_encoding_50.json Skip + invalid_fp2_encoding_51.json Skip + invalid_fp2_encoding_52.json Skip + invalid_fp2_encoding_53.json Skip + invalid_fp2_encoding_54.json Skip + invalid_fp2_encoding_55.json Skip + invalid_fp2_encoding_56.json Skip + invalid_fp2_encoding_57.json Skip + invalid_fp2_encoding_58.json Skip + invalid_fp2_encoding_59.json Skip + invalid_fp2_encoding_6.json Skip + invalid_fp2_encoding_60.json Skip + invalid_fp2_encoding_61.json Skip + invalid_fp2_encoding_62.json Skip + invalid_fp2_encoding_63.json Skip + invalid_fp2_encoding_64.json Skip + invalid_fp2_encoding_65.json Skip + invalid_fp2_encoding_66.json Skip + invalid_fp2_encoding_67.json Skip + invalid_fp2_encoding_68.json Skip + invalid_fp2_encoding_69.json Skip + invalid_fp2_encoding_7.json Skip + invalid_fp2_encoding_70.json Skip + invalid_fp2_encoding_71.json Skip + invalid_fp2_encoding_72.json Skip + invalid_fp2_encoding_73.json Skip + invalid_fp2_encoding_74.json Skip + invalid_fp2_encoding_75.json Skip + invalid_fp2_encoding_76.json Skip + invalid_fp2_encoding_77.json Skip + invalid_fp2_encoding_78.json Skip + invalid_fp2_encoding_79.json Skip + invalid_fp2_encoding_8.json Skip + invalid_fp2_encoding_80.json Skip + invalid_fp2_encoding_81.json Skip + invalid_fp2_encoding_82.json Skip + invalid_fp2_encoding_83.json Skip + invalid_fp2_encoding_84.json Skip + invalid_fp2_encoding_85.json Skip + invalid_fp2_encoding_86.json Skip + invalid_fp2_encoding_87.json Skip + invalid_fp2_encoding_88.json Skip + invalid_fp2_encoding_89.json Skip + invalid_fp2_encoding_9.json Skip + invalid_fp2_encoding_90.json Skip + invalid_fp2_encoding_91.json Skip + invalid_fp2_encoding_92.json Skip + invalid_fp2_encoding_93.json Skip + invalid_fp2_encoding_94.json Skip + invalid_fp2_encoding_95.json Skip + invalid_fp2_encoding_96.json Skip + invalid_fp2_encoding_97.json Skip + invalid_fp2_encoding_98.json Skip + invalid_fp2_encoding_99.json Skip + invalid_fp_encoding_0.json Skip + invalid_fp_encoding_1.json Skip + invalid_fp_encoding_10.json Skip + invalid_fp_encoding_11.json Skip + invalid_fp_encoding_12.json Skip + invalid_fp_encoding_13.json Skip + invalid_fp_encoding_14.json Skip + invalid_fp_encoding_15.json Skip + invalid_fp_encoding_16.json Skip + invalid_fp_encoding_17.json Skip + invalid_fp_encoding_18.json Skip + invalid_fp_encoding_19.json Skip + invalid_fp_encoding_2.json Skip + invalid_fp_encoding_20.json Skip + invalid_fp_encoding_21.json Skip + invalid_fp_encoding_22.json Skip + invalid_fp_encoding_23.json Skip + invalid_fp_encoding_24.json Skip + invalid_fp_encoding_25.json Skip + invalid_fp_encoding_26.json Skip + invalid_fp_encoding_27.json Skip + invalid_fp_encoding_28.json Skip + invalid_fp_encoding_29.json Skip + invalid_fp_encoding_3.json Skip + invalid_fp_encoding_30.json Skip + invalid_fp_encoding_31.json Skip + invalid_fp_encoding_32.json Skip + invalid_fp_encoding_33.json Skip + invalid_fp_encoding_34.json Skip + invalid_fp_encoding_35.json Skip + invalid_fp_encoding_36.json Skip + invalid_fp_encoding_37.json Skip + invalid_fp_encoding_38.json Skip + invalid_fp_encoding_39.json Skip + invalid_fp_encoding_4.json Skip + invalid_fp_encoding_40.json Skip + invalid_fp_encoding_41.json Skip + invalid_fp_encoding_42.json Skip + invalid_fp_encoding_43.json Skip + invalid_fp_encoding_44.json Skip + invalid_fp_encoding_45.json Skip + invalid_fp_encoding_46.json Skip + invalid_fp_encoding_47.json Skip + invalid_fp_encoding_48.json Skip + invalid_fp_encoding_49.json Skip + invalid_fp_encoding_5.json Skip + invalid_fp_encoding_50.json Skip + invalid_fp_encoding_51.json Skip + invalid_fp_encoding_52.json Skip + invalid_fp_encoding_53.json Skip + invalid_fp_encoding_54.json Skip + invalid_fp_encoding_55.json Skip + invalid_fp_encoding_56.json Skip + invalid_fp_encoding_57.json Skip + invalid_fp_encoding_58.json Skip + invalid_fp_encoding_59.json Skip + invalid_fp_encoding_6.json Skip + invalid_fp_encoding_60.json Skip + invalid_fp_encoding_61.json Skip + invalid_fp_encoding_62.json Skip + invalid_fp_encoding_63.json Skip + invalid_fp_encoding_64.json Skip + invalid_fp_encoding_65.json Skip + invalid_fp_encoding_66.json Skip + invalid_fp_encoding_67.json Skip + invalid_fp_encoding_68.json Skip + invalid_fp_encoding_69.json Skip + invalid_fp_encoding_7.json Skip + invalid_fp_encoding_70.json Skip + invalid_fp_encoding_71.json Skip + invalid_fp_encoding_72.json Skip + invalid_fp_encoding_73.json Skip + invalid_fp_encoding_74.json Skip + invalid_fp_encoding_75.json Skip + invalid_fp_encoding_76.json Skip + invalid_fp_encoding_77.json Skip + invalid_fp_encoding_78.json Skip + invalid_fp_encoding_79.json Skip + invalid_fp_encoding_8.json Skip + invalid_fp_encoding_80.json Skip + invalid_fp_encoding_81.json Skip + invalid_fp_encoding_82.json Skip + invalid_fp_encoding_83.json Skip + invalid_fp_encoding_84.json Skip + invalid_fp_encoding_85.json Skip + invalid_fp_encoding_86.json Skip + invalid_fp_encoding_87.json Skip + invalid_fp_encoding_88.json Skip + invalid_fp_encoding_89.json Skip + invalid_fp_encoding_9.json Skip + invalid_fp_encoding_90.json Skip + invalid_fp_encoding_91.json Skip + invalid_fp_encoding_92.json Skip + invalid_fp_encoding_93.json Skip + invalid_fp_encoding_94.json Skip + invalid_fp_encoding_95.json Skip + invalid_fp_encoding_96.json Skip + invalid_fp_encoding_97.json Skip + invalid_fp_encoding_98.json Skip + invalid_fp_encoding_99.json Skip + invalid_subgroup_for_pairing_0.json Skip + invalid_subgroup_for_pairing_1.json Skip + invalid_subgroup_for_pairing_10.json Skip + invalid_subgroup_for_pairing_11.json Skip + invalid_subgroup_for_pairing_12.json Skip + invalid_subgroup_for_pairing_13.json Skip + invalid_subgroup_for_pairing_14.json Skip + invalid_subgroup_for_pairing_15.json Skip + invalid_subgroup_for_pairing_16.json Skip + invalid_subgroup_for_pairing_17.json Skip + invalid_subgroup_for_pairing_18.json Skip + invalid_subgroup_for_pairing_19.json Skip + invalid_subgroup_for_pairing_2.json Skip + invalid_subgroup_for_pairing_20.json Skip + invalid_subgroup_for_pairing_21.json Skip + invalid_subgroup_for_pairing_22.json Skip + invalid_subgroup_for_pairing_23.json Skip + invalid_subgroup_for_pairing_24.json Skip + invalid_subgroup_for_pairing_25.json Skip + invalid_subgroup_for_pairing_26.json Skip + invalid_subgroup_for_pairing_27.json Skip + invalid_subgroup_for_pairing_28.json Skip + invalid_subgroup_for_pairing_29.json Skip + invalid_subgroup_for_pairing_3.json Skip + invalid_subgroup_for_pairing_30.json Skip + invalid_subgroup_for_pairing_31.json Skip + invalid_subgroup_for_pairing_32.json Skip + invalid_subgroup_for_pairing_33.json Skip + invalid_subgroup_for_pairing_34.json Skip + invalid_subgroup_for_pairing_35.json Skip + invalid_subgroup_for_pairing_36.json Skip + invalid_subgroup_for_pairing_37.json Skip + invalid_subgroup_for_pairing_38.json Skip + invalid_subgroup_for_pairing_39.json Skip + invalid_subgroup_for_pairing_4.json Skip + invalid_subgroup_for_pairing_40.json Skip + invalid_subgroup_for_pairing_41.json Skip + invalid_subgroup_for_pairing_42.json Skip + invalid_subgroup_for_pairing_43.json Skip + invalid_subgroup_for_pairing_44.json Skip + invalid_subgroup_for_pairing_45.json Skip + invalid_subgroup_for_pairing_46.json Skip + invalid_subgroup_for_pairing_47.json Skip + invalid_subgroup_for_pairing_48.json Skip + invalid_subgroup_for_pairing_49.json Skip + invalid_subgroup_for_pairing_5.json Skip + invalid_subgroup_for_pairing_50.json Skip + invalid_subgroup_for_pairing_51.json Skip + invalid_subgroup_for_pairing_52.json Skip + invalid_subgroup_for_pairing_53.json Skip + invalid_subgroup_for_pairing_54.json Skip + invalid_subgroup_for_pairing_55.json Skip + invalid_subgroup_for_pairing_56.json Skip + invalid_subgroup_for_pairing_57.json Skip + invalid_subgroup_for_pairing_58.json Skip + invalid_subgroup_for_pairing_59.json Skip + invalid_subgroup_for_pairing_6.json Skip + invalid_subgroup_for_pairing_60.json Skip + invalid_subgroup_for_pairing_61.json Skip + invalid_subgroup_for_pairing_62.json Skip + invalid_subgroup_for_pairing_63.json Skip + invalid_subgroup_for_pairing_64.json Skip + invalid_subgroup_for_pairing_65.json Skip + invalid_subgroup_for_pairing_66.json Skip + invalid_subgroup_for_pairing_67.json Skip + invalid_subgroup_for_pairing_68.json Skip + invalid_subgroup_for_pairing_69.json Skip + invalid_subgroup_for_pairing_7.json Skip + invalid_subgroup_for_pairing_70.json Skip + invalid_subgroup_for_pairing_71.json Skip + invalid_subgroup_for_pairing_72.json Skip + invalid_subgroup_for_pairing_73.json Skip + invalid_subgroup_for_pairing_74.json Skip + invalid_subgroup_for_pairing_75.json Skip + invalid_subgroup_for_pairing_76.json Skip + invalid_subgroup_for_pairing_77.json Skip + invalid_subgroup_for_pairing_78.json Skip + invalid_subgroup_for_pairing_79.json Skip + invalid_subgroup_for_pairing_8.json Skip + invalid_subgroup_for_pairing_80.json Skip + invalid_subgroup_for_pairing_81.json Skip + invalid_subgroup_for_pairing_82.json Skip + invalid_subgroup_for_pairing_83.json Skip + invalid_subgroup_for_pairing_84.json Skip + invalid_subgroup_for_pairing_85.json Skip + invalid_subgroup_for_pairing_86.json Skip + invalid_subgroup_for_pairing_87.json Skip + invalid_subgroup_for_pairing_88.json Skip + invalid_subgroup_for_pairing_89.json Skip + invalid_subgroup_for_pairing_9.json Skip + invalid_subgroup_for_pairing_90.json Skip + invalid_subgroup_for_pairing_91.json Skip + invalid_subgroup_for_pairing_92.json Skip + invalid_subgroup_for_pairing_93.json Skip + invalid_subgroup_for_pairing_94.json Skip + invalid_subgroup_for_pairing_95.json Skip + invalid_subgroup_for_pairing_96.json Skip + invalid_subgroup_for_pairing_97.json Skip + invalid_subgroup_for_pairing_98.json Skip + invalid_subgroup_for_pairing_99.json Skip + pairing_0.json Skip + pairing_1.json Skip + pairing_10.json Skip + pairing_11.json Skip + pairing_12.json Skip + pairing_13.json Skip + pairing_14.json Skip + pairing_15.json Skip + pairing_16.json Skip + pairing_17.json Skip + pairing_18.json Skip + pairing_19.json Skip + pairing_2.json Skip + pairing_20.json Skip + pairing_21.json Skip + pairing_22.json Skip + pairing_23.json Skip + pairing_24.json Skip + pairing_25.json Skip + pairing_26.json Skip + pairing_27.json Skip + pairing_28.json Skip + pairing_29.json Skip + pairing_3.json Skip + pairing_30.json Skip + pairing_31.json Skip + pairing_32.json Skip + pairing_33.json Skip + pairing_34.json Skip + pairing_35.json Skip + pairing_36.json Skip + pairing_37.json Skip + pairing_38.json Skip + pairing_39.json Skip + pairing_4.json Skip + pairing_40.json Skip + pairing_41.json Skip + pairing_42.json Skip + pairing_43.json Skip + pairing_44.json Skip + pairing_45.json Skip + pairing_46.json Skip + pairing_47.json Skip + pairing_48.json Skip + pairing_49.json Skip + pairing_5.json Skip + pairing_50.json Skip + pairing_51.json Skip + pairing_52.json Skip + pairing_53.json Skip + pairing_54.json Skip + pairing_55.json Skip + pairing_56.json Skip + pairing_57.json Skip + pairing_58.json Skip + pairing_59.json Skip + pairing_6.json Skip + pairing_60.json Skip + pairing_61.json Skip + pairing_62.json Skip + pairing_63.json Skip + pairing_64.json Skip + pairing_65.json Skip + pairing_66.json Skip + pairing_67.json Skip + pairing_68.json Skip + pairing_69.json Skip + pairing_7.json Skip + pairing_70.json Skip + pairing_71.json Skip + pairing_72.json Skip + pairing_73.json Skip + pairing_74.json Skip + pairing_75.json Skip + pairing_76.json Skip + pairing_77.json Skip + pairing_78.json Skip + pairing_79.json Skip + pairing_8.json Skip + pairing_80.json Skip + pairing_81.json Skip + pairing_82.json Skip + pairing_83.json Skip + pairing_84.json Skip + pairing_85.json Skip + pairing_86.json Skip + pairing_87.json Skip + pairing_88.json Skip + pairing_89.json Skip + pairing_9.json Skip + pairing_90.json Skip + pairing_91.json Skip + pairing_92.json Skip + pairing_93.json Skip + pairing_94.json Skip + pairing_95.json Skip +``` +OK: 0/1403 Fail: 0/1403 Skip: 1403/1403 ## stExample ```diff + add11.json OK @@ -1850,6 +3257,9 @@ OK: 11/13 Fail: 0/13 Skip: 2/13 OK: 9/9 Fail: 0/9 Skip: 0/9 ## stStaticCall ```diff ++ StaticcallToPrecompileFromCalledContract.json OK ++ StaticcallToPrecompileFromContractInitialization.json OK ++ StaticcallToPrecompileFromTransaction.json OK + static_ABAcalls0.json OK + static_ABAcalls1.json OK + static_ABAcalls2.json OK @@ -2134,7 +3544,24 @@ OK: 9/9 Fail: 0/9 Skip: 0/9 + static_refund_CallToSuicideNoStorage.json OK + static_refund_CallToSuicideTwice.json OK ``` -OK: 271/283 Fail: 0/283 Skip: 12/283 +OK: 274/286 Fail: 0/286 Skip: 12/286 +## stStaticFlagEnabled +```diff ++ CallWithNOTZeroValueToPrecompileFromCalledContract.json OK ++ CallWithNOTZeroValueToPrecompileFromContractInitialization.json OK ++ CallWithNOTZeroValueToPrecompileFromTransaction.json OK ++ CallWithZeroValueToPrecompileFromCalledContract.json OK ++ CallWithZeroValueToPrecompileFromContractInitialization.json OK ++ CallWithZeroValueToPrecompileFromTransaction.json OK ++ CallcodeToPrecompileFromCalledContract.json OK ++ CallcodeToPrecompileFromContractInitialization.json OK ++ CallcodeToPrecompileFromTransaction.json OK ++ DelegatecallToPrecompileFromCalledContract.json OK ++ DelegatecallToPrecompileFromContractInitialization.json OK ++ DelegatecallToPrecompileFromTransaction.json OK ++ StaticcallForPrecompilesIssue683.json OK +``` +OK: 13/13 Fail: 0/13 Skip: 0/13 ## stSubroutine ```diff + beginSubAtEndOfCode.json OK @@ -2224,14 +3651,20 @@ OK: 56/66 Fail: 0/66 Skip: 10/66 ```diff CALLBlake2f_MaxRounds.json Skip + sstore_combinations_initial00.json OK ++ sstore_combinations_initial00_2.json OK + sstore_combinations_initial01.json OK ++ sstore_combinations_initial01_2.json OK + sstore_combinations_initial10.json OK ++ sstore_combinations_initial10_2.json OK + sstore_combinations_initial11.json OK ++ sstore_combinations_initial11_2.json OK + sstore_combinations_initial20.json OK ++ sstore_combinations_initial20_2.json OK + sstore_combinations_initial21.json OK ++ sstore_combinations_initial21_2.json OK static_Call50000_sha256.json Skip ``` -OK: 6/8 Fail: 0/8 Skip: 2/8 +OK: 12/14 Fail: 0/14 Skip: 2/14 ## stTransactionTest ```diff + ContractStoreClearsOOG.json OK @@ -2641,4 +4074,4 @@ OK: 133/133 Fail: 0/133 Skip: 0/133 OK: 130/130 Fail: 0/130 Skip: 0/130 ---TOTAL--- -OK: 2319/2423 Fail: 0/2423 Skip: 104/2423 +OK: 2341/3848 Fail: 0/3848 Skip: 1507/3848 diff --git a/nimbus/vm/interpreter/gas_costs.nim b/nimbus/vm/interpreter/gas_costs.nim index 2029ca3e3..767124067 100644 --- a/nimbus/vm/interpreter/gas_costs.nim +++ b/nimbus/vm/interpreter/gas_costs.nim @@ -715,11 +715,17 @@ func istanbulGasFees(previousFees: GasFeeSchedule): GasFeeSchedule = result[GasBalance] = 700 result[GasTXDataNonZero]= 16 +func berlinGasFees(previousFees: GasFeeSchedule): GasFeeSchedule = + # https://eips.ethereum.org/EIPS/eip-2929 + result = previousFees + result[GasCall] = WarmStorageReadCost + const HomesteadGasFees = BaseGasFees.homesteadGasFees TangerineGasFees = HomesteadGasFees.tangerineGasFees SpuriousGasFees = TangerineGasFees.spuriousGasFees IstanbulGasFees = SpuriousGasFees.istanbulGasFees + BerlinGasFees = IstanbulGasFees.berlinGasFees gasFees*: array[Fork, GasFeeSchedule] = [ FkFrontier: BaseGasFees, @@ -730,7 +736,7 @@ const FkConstantinople: SpuriousGasFees, FkPetersburg: SpuriousGasFees, FkIstanbul: IstanbulGasFees, - FkBerlin: IstanbulGasFees + FkBerlin: BerlinGasFees ] diff --git a/nimbus/vm/interpreter/opcodes_impl.nim b/nimbus/vm/interpreter/opcodes_impl.nim index 0fc776ff3..7eaddd34d 100644 --- a/nimbus/vm/interpreter/opcodes_impl.nim +++ b/nimbus/vm/interpreter/opcodes_impl.nim @@ -30,6 +30,7 @@ proc gasEip2929AccountCheck(c: Computation, address: EthAddress, prevCost = 0.Ga ColdAccountAccessCost else: WarmStorageReadCost + c.gasMeter.consumeGas(gasCost - prevCost, reason = "gasEIP2929AccountCheck") template push(x: typed) {.dirty.} = @@ -771,6 +772,17 @@ template genCall(callName: untyped, opCode: Op): untyped = else: (memOutPos, memOutLen) + # EIP2929 + # This came before old gas calculator + # because it will affect `c.gasMeter.gasRemaining` + # and further `childGasLimit` + if c.fork >= FkBerlin: + c.vmState.mutateStateDB: + if not db.inAccessList(destination): + db.accessList(destination) + # The WarmStorageReadCostEIP2929 (100) is already deducted in the form of a constant cost + c.gasMeter.consumeGas(ColdAccountAccessCost - WarmStorageReadCost, reason = "gasEIP2929Call") + let contractAddress = when opCode in {Call, StaticCall}: destination else: c.msg.contractAddress var (gasCost, childGasLimit) = c.gasCosts[opCode].c_handler( value, @@ -790,10 +802,6 @@ template genCall(callName: untyped, opCode: Op): untyped = # if c.fork >= FkBerlin and destination.toInt <= MaxPrecompilesAddr: # gasCost = gasCost - 660.GasInt - # EIP2929 - if c.fork >= FkBerlin: - c.gasEip2929AccountCheck(destination, gasFees[c.fork][GasCall]) - if gasCost >= 0: c.gasMeter.consumeGas(gasCost, reason = $opCode) diff --git a/tests/fixtures/eth_tests b/tests/fixtures/eth_tests index 16fa56768..dd23a3e4e 160000 --- a/tests/fixtures/eth_tests +++ b/tests/fixtures/eth_tests @@ -1 +1 @@ -Subproject commit 16fa567686a8cea578a500b0095c4d7f9f3bbe63 +Subproject commit dd23a3e4edd4619d99933fc135cc88b31ca3cafb diff --git a/tests/test_allowed_to_fail.nim b/tests/test_allowed_to_fail.nim index c67244fc7..c1cbc64d6 100644 --- a/tests/test_allowed_to_fail.nim +++ b/tests/test_allowed_to_fail.nim @@ -96,6 +96,10 @@ func skipGSTTests*(folder: string, name: string): bool = return true func skipNewGSTTests*(folder: string, name: string): bool = + if folder == "stEIP2537": + # a bug in ethereum test that later fixed, skip for now + return true + # share the same slow and failing tests if skipGSTTests(folder, name): return true @@ -119,7 +123,7 @@ func skipBCTests*(folder: string, name: string): bool = ] func skipNewBCTests*(folder: string, name: string): bool = - if folder == "vmPerformance" or folder == "stStaticCall": + if folder in ["vmPerformance", "stStaticCall"]: return true # the new BC tests also contains these slow tests diff --git a/tests/test_blockchain_json.nim b/tests/test_blockchain_json.nim index ba8ecd2f6..78eec7be9 100644 --- a/tests/test_blockchain_json.nim +++ b/tests/test_blockchain_json.nim @@ -364,7 +364,8 @@ proc processBlock(chainDB: BaseChainDB, vmState: BaseVMState, minedBlock: PlainB vmState.receipts[txIndex] = makeReceipt(vmState, fork) if vmState.cumulativeGasUsed != minedBlock.header.gasUsed: - raise newException(ValidationError, &"wrong gas used in header expected={minedBlock.header.gasUsed}, actual={vmState.cumulativeGasUsed}") + let diff = vmState.cumulativeGasUsed - minedBlock.header.gasUsed + raise newException(ValidationError, &"wrong gas used in header expected={minedBlock.header.gasUsed}, actual={vmState.cumulativeGasUsed}, diff={diff}") assignBlockRewards(minedBlock, vmState, fork, vmState.chainDB) diff --git a/tests/test_helpers.nim b/tests/test_helpers.nim index bbe07be48..5b2e04684 100644 --- a/tests/test_helpers.nim +++ b/tests/test_helpers.nim @@ -176,7 +176,7 @@ proc verifyStateDB*(wantedState: JsonNode, stateDB: ReadOnlyStateDB) = actualNonce = stateDB.getNonce(account) if wantedCode != actualCode: - raise newException(ValidationError, &"{ac} codeDiff {wantedCode} != {actualCode}") + raise newException(ValidationError, &"{ac} codeDiff {wantedCode.toHex} != {actualCode.toHex}") if wantedBalance != actualBalance: raise newException(ValidationError, &"{ac} balanceDiff {wantedBalance.toHex} != {actualBalance.toHex}") if wantedNonce != actualNonce: diff --git a/witnessBuilderBC.md b/witnessBuilderBC.md index a1875bcf0..9f30866f4 100644 --- a/witnessBuilderBC.md +++ b/witnessBuilderBC.md @@ -35,11 +35,19 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 OK: 4/4 Fail: 0/4 Skip: 0/4 ## bcForgedTest ```diff ++ bcBlockRLPAsList.json OK ++ bcBlockRLPPrefixed0000.json OK ++ bcBlockRLPRandomByte.json OK ++ bcBlockRLPTooLarge.json OK ++ bcBlockRLPZeroByte.json OK + bcForkBlockTest.json OK -+ bcInvalidRLPTest_BLOCK_.json OK -+ bcInvalidRLPTest_TRANSACT_.json OK ++ bcInvalidRLPTest_BLOCK.json OK ++ bcInvalidRLPTest_TRANSACT.json OK ++ bcTransactRLPRandomByte.json OK ++ bcTransactRLPTooLarge.json OK ++ bcTransactRLPZeroByte.json OK ``` -OK: 3/3 Fail: 0/3 Skip: 0/3 +OK: 11/11 Fail: 0/11 Skip: 0/11 ## bcForkStressTest ```diff + AmIOnEIP150.json OK @@ -92,8 +100,6 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + wrongDifficulty.json OK + wrongGasLimit.json OK + wrongGasUsed.json OK -+ wrongMixHash.json OK -+ wrongNonce.json OK + wrongNumber.json OK + wrongParentHash.json OK + wrongParentHash2.json OK @@ -103,7 +109,7 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + wrongTransactionsTrie.json OK + wrongUncleHash.json OK ``` -OK: 23/23 Fail: 0/23 Skip: 0/23 +OK: 21/21 Fail: 0/21 Skip: 0/21 ## bcMultiChainTest ```diff + CallContractFromNotBestBlock.json OK @@ -390,10 +396,8 @@ OK: 22/22 Fail: 0/22 Skip: 0/22 + timeDiff12.json OK + timeDiff13.json OK + timeDiff14.json OK -+ txEqualValue.json OK -+ txOrder.json OK ``` -OK: 19/19 Fail: 0/19 Skip: 0/19 +OK: 17/17 Fail: 0/17 Skip: 0/17 ## bcWalletTest ```diff + wallet2outOf3txs.json OK @@ -951,6 +955,1413 @@ OK: 30/30 Fail: 0/30 Skip: 0/30 + vitalikTransactionTest.json OK ``` OK: 7/7 Fail: 0/7 Skip: 0/7 +## stEIP2537 +```diff ++ extras_fp2_to_g2_0.json OK ++ extras_fp2_to_g2_1.json OK ++ extras_fp2_to_g2_2.json OK ++ extras_fp_to_g1_0.json OK ++ extras_fp_to_g1_1.json OK ++ extras_fp_to_g1_2.json OK ++ extras_g2_multiexp_0.json OK ++ fp2_to_g2_0.json OK ++ fp2_to_g2_1.json OK ++ fp2_to_g2_10.json OK ++ fp2_to_g2_11.json OK ++ fp2_to_g2_12.json OK ++ fp2_to_g2_13.json OK ++ fp2_to_g2_14.json OK ++ fp2_to_g2_15.json OK ++ fp2_to_g2_16.json OK ++ fp2_to_g2_17.json OK ++ fp2_to_g2_18.json OK ++ fp2_to_g2_19.json OK ++ fp2_to_g2_2.json OK ++ fp2_to_g2_20.json OK ++ fp2_to_g2_21.json OK ++ fp2_to_g2_22.json OK ++ fp2_to_g2_23.json OK ++ fp2_to_g2_24.json OK ++ fp2_to_g2_25.json OK ++ fp2_to_g2_26.json OK ++ fp2_to_g2_27.json OK ++ fp2_to_g2_28.json OK ++ fp2_to_g2_29.json OK ++ fp2_to_g2_3.json OK ++ fp2_to_g2_30.json OK ++ fp2_to_g2_31.json OK ++ fp2_to_g2_32.json OK ++ fp2_to_g2_33.json OK ++ fp2_to_g2_34.json OK ++ fp2_to_g2_35.json OK ++ fp2_to_g2_36.json OK ++ fp2_to_g2_37.json OK ++ fp2_to_g2_38.json OK ++ fp2_to_g2_39.json OK ++ fp2_to_g2_4.json OK ++ fp2_to_g2_40.json OK ++ fp2_to_g2_41.json OK ++ fp2_to_g2_42.json OK ++ fp2_to_g2_43.json OK ++ fp2_to_g2_44.json OK ++ fp2_to_g2_45.json OK ++ fp2_to_g2_46.json OK ++ fp2_to_g2_47.json OK ++ fp2_to_g2_48.json OK ++ fp2_to_g2_49.json OK ++ fp2_to_g2_5.json OK ++ fp2_to_g2_50.json OK ++ fp2_to_g2_51.json OK ++ fp2_to_g2_52.json OK ++ fp2_to_g2_53.json OK ++ fp2_to_g2_54.json OK ++ fp2_to_g2_55.json OK ++ fp2_to_g2_56.json OK ++ fp2_to_g2_57.json OK ++ fp2_to_g2_58.json OK ++ fp2_to_g2_59.json OK ++ fp2_to_g2_6.json OK ++ fp2_to_g2_60.json OK ++ fp2_to_g2_61.json OK ++ fp2_to_g2_62.json OK ++ fp2_to_g2_63.json OK ++ fp2_to_g2_64.json OK ++ fp2_to_g2_65.json OK ++ fp2_to_g2_66.json OK ++ fp2_to_g2_67.json OK ++ fp2_to_g2_68.json OK ++ fp2_to_g2_69.json OK ++ fp2_to_g2_7.json OK ++ fp2_to_g2_70.json OK ++ fp2_to_g2_71.json OK ++ fp2_to_g2_72.json OK ++ fp2_to_g2_73.json OK ++ fp2_to_g2_74.json OK ++ fp2_to_g2_75.json OK ++ fp2_to_g2_76.json OK ++ fp2_to_g2_77.json OK ++ fp2_to_g2_78.json OK ++ fp2_to_g2_79.json OK ++ fp2_to_g2_8.json OK ++ fp2_to_g2_80.json OK ++ fp2_to_g2_81.json OK ++ fp2_to_g2_82.json OK ++ fp2_to_g2_83.json OK ++ fp2_to_g2_84.json OK ++ fp2_to_g2_85.json OK ++ fp2_to_g2_86.json OK ++ fp2_to_g2_87.json OK ++ fp2_to_g2_88.json OK ++ fp2_to_g2_89.json OK ++ fp2_to_g2_9.json OK ++ fp2_to_g2_90.json OK ++ fp2_to_g2_91.json OK ++ fp2_to_g2_92.json OK ++ fp2_to_g2_93.json OK ++ fp2_to_g2_94.json OK ++ fp2_to_g2_95.json OK ++ fp2_to_g2_96.json OK ++ fp2_to_g2_97.json OK ++ fp2_to_g2_98.json OK ++ fp2_to_g2_99.json OK ++ fp_to_g1_0.json OK ++ fp_to_g1_1.json OK ++ fp_to_g1_10.json OK ++ fp_to_g1_11.json OK ++ fp_to_g1_12.json OK ++ fp_to_g1_13.json OK ++ fp_to_g1_14.json OK ++ fp_to_g1_15.json OK ++ fp_to_g1_16.json OK ++ fp_to_g1_17.json OK ++ fp_to_g1_18.json OK ++ fp_to_g1_19.json OK ++ fp_to_g1_2.json OK ++ fp_to_g1_20.json OK ++ fp_to_g1_21.json OK ++ fp_to_g1_22.json OK ++ fp_to_g1_23.json OK ++ fp_to_g1_24.json OK ++ fp_to_g1_25.json OK ++ fp_to_g1_26.json OK ++ fp_to_g1_27.json OK ++ fp_to_g1_28.json OK ++ fp_to_g1_29.json OK ++ fp_to_g1_3.json OK ++ fp_to_g1_30.json OK ++ fp_to_g1_31.json OK ++ fp_to_g1_32.json OK ++ fp_to_g1_33.json OK ++ fp_to_g1_34.json OK ++ fp_to_g1_35.json OK ++ fp_to_g1_36.json OK ++ fp_to_g1_37.json OK ++ fp_to_g1_38.json OK ++ fp_to_g1_39.json OK ++ fp_to_g1_4.json OK ++ fp_to_g1_40.json OK ++ fp_to_g1_41.json OK ++ fp_to_g1_42.json OK ++ fp_to_g1_43.json OK ++ fp_to_g1_44.json OK ++ fp_to_g1_45.json OK ++ fp_to_g1_46.json OK ++ fp_to_g1_47.json OK ++ fp_to_g1_48.json OK ++ fp_to_g1_49.json OK ++ fp_to_g1_5.json OK ++ fp_to_g1_50.json OK ++ fp_to_g1_51.json OK ++ fp_to_g1_52.json OK ++ fp_to_g1_53.json OK ++ fp_to_g1_54.json OK ++ fp_to_g1_55.json OK ++ fp_to_g1_56.json OK ++ fp_to_g1_57.json OK ++ fp_to_g1_58.json OK ++ fp_to_g1_59.json OK ++ fp_to_g1_6.json OK ++ fp_to_g1_60.json OK ++ fp_to_g1_61.json OK ++ fp_to_g1_62.json OK ++ fp_to_g1_63.json OK ++ fp_to_g1_64.json OK ++ fp_to_g1_65.json OK ++ fp_to_g1_66.json OK ++ fp_to_g1_67.json OK ++ fp_to_g1_68.json OK ++ fp_to_g1_69.json OK ++ fp_to_g1_7.json OK ++ fp_to_g1_70.json OK ++ fp_to_g1_71.json OK ++ fp_to_g1_72.json OK ++ fp_to_g1_73.json OK ++ fp_to_g1_74.json OK ++ fp_to_g1_75.json OK ++ fp_to_g1_76.json OK ++ fp_to_g1_77.json OK ++ fp_to_g1_78.json OK ++ fp_to_g1_79.json OK ++ fp_to_g1_8.json OK ++ fp_to_g1_80.json OK ++ fp_to_g1_81.json OK ++ fp_to_g1_82.json OK ++ fp_to_g1_83.json OK ++ fp_to_g1_84.json OK ++ fp_to_g1_85.json OK ++ fp_to_g1_86.json OK ++ fp_to_g1_87.json OK ++ fp_to_g1_88.json OK ++ fp_to_g1_89.json OK ++ fp_to_g1_9.json OK ++ fp_to_g1_90.json OK ++ fp_to_g1_91.json OK ++ fp_to_g1_92.json OK ++ fp_to_g1_93.json OK ++ fp_to_g1_94.json OK ++ fp_to_g1_95.json OK ++ fp_to_g1_96.json OK ++ fp_to_g1_97.json OK ++ fp_to_g1_98.json OK ++ fp_to_g1_99.json OK ++ g1_add_0.json OK ++ g1_add_1.json OK ++ g1_add_10.json OK ++ g1_add_11.json OK ++ g1_add_12.json OK ++ g1_add_13.json OK ++ g1_add_14.json OK ++ g1_add_15.json OK ++ g1_add_16.json OK ++ g1_add_17.json OK ++ g1_add_18.json OK ++ g1_add_19.json OK ++ g1_add_2.json OK ++ g1_add_20.json OK ++ g1_add_21.json OK ++ g1_add_22.json OK ++ g1_add_23.json OK ++ g1_add_24.json OK ++ g1_add_25.json OK ++ g1_add_26.json OK ++ g1_add_27.json OK ++ g1_add_28.json OK ++ g1_add_29.json OK ++ g1_add_3.json OK ++ g1_add_30.json OK ++ g1_add_31.json OK ++ g1_add_32.json OK ++ g1_add_33.json OK ++ g1_add_34.json OK ++ g1_add_35.json OK ++ g1_add_36.json OK ++ g1_add_37.json OK ++ g1_add_38.json OK ++ g1_add_39.json OK ++ g1_add_4.json OK ++ g1_add_40.json OK ++ g1_add_41.json OK ++ g1_add_42.json OK ++ g1_add_43.json OK ++ g1_add_44.json OK ++ g1_add_45.json OK ++ g1_add_46.json OK ++ g1_add_47.json OK ++ g1_add_48.json OK ++ g1_add_49.json OK ++ g1_add_5.json OK ++ g1_add_50.json OK ++ g1_add_51.json OK ++ g1_add_52.json OK ++ g1_add_53.json OK ++ g1_add_54.json OK ++ g1_add_55.json OK ++ g1_add_56.json OK ++ g1_add_57.json OK ++ g1_add_58.json OK ++ g1_add_59.json OK ++ g1_add_6.json OK ++ g1_add_60.json OK ++ g1_add_61.json OK ++ g1_add_62.json OK ++ g1_add_63.json OK ++ g1_add_64.json OK ++ g1_add_65.json OK ++ g1_add_66.json OK ++ g1_add_67.json OK ++ g1_add_68.json OK ++ g1_add_69.json OK ++ g1_add_7.json OK ++ g1_add_70.json OK ++ g1_add_71.json OK ++ g1_add_72.json OK ++ g1_add_73.json OK ++ g1_add_74.json OK ++ g1_add_75.json OK ++ g1_add_76.json OK ++ g1_add_77.json OK ++ g1_add_78.json OK ++ g1_add_79.json OK ++ g1_add_8.json OK ++ g1_add_80.json OK ++ g1_add_81.json OK ++ g1_add_82.json OK ++ g1_add_83.json OK ++ g1_add_84.json OK ++ g1_add_85.json OK ++ g1_add_86.json OK ++ g1_add_87.json OK ++ g1_add_88.json OK ++ g1_add_89.json OK ++ g1_add_9.json OK ++ g1_add_90.json OK ++ g1_add_91.json OK ++ g1_add_92.json OK ++ g1_add_93.json OK ++ g1_add_94.json OK ++ g1_add_95.json OK ++ g1_add_96.json OK ++ g1_add_97.json OK ++ g1_add_98.json OK ++ g1_add_99.json OK ++ g1_mul_0.json OK ++ g1_mul_1.json OK ++ g1_mul_10.json OK ++ g1_mul_11.json OK ++ g1_mul_12.json OK ++ g1_mul_13.json OK ++ g1_mul_14.json OK ++ g1_mul_15.json OK ++ g1_mul_16.json OK ++ g1_mul_17.json OK ++ g1_mul_18.json OK ++ g1_mul_19.json OK ++ g1_mul_2.json OK ++ g1_mul_20.json OK ++ g1_mul_21.json OK ++ g1_mul_22.json OK ++ g1_mul_23.json OK ++ g1_mul_24.json OK ++ g1_mul_25.json OK ++ g1_mul_26.json OK ++ g1_mul_27.json OK ++ g1_mul_28.json OK ++ g1_mul_29.json OK ++ g1_mul_3.json OK ++ g1_mul_30.json OK ++ g1_mul_31.json OK ++ g1_mul_32.json OK ++ g1_mul_33.json OK ++ g1_mul_34.json OK ++ g1_mul_35.json OK ++ g1_mul_36.json OK ++ g1_mul_37.json OK ++ g1_mul_38.json OK ++ g1_mul_39.json OK ++ g1_mul_4.json OK ++ g1_mul_40.json OK ++ g1_mul_41.json OK ++ g1_mul_42.json OK ++ g1_mul_43.json OK ++ g1_mul_44.json OK ++ g1_mul_45.json OK ++ g1_mul_46.json OK ++ g1_mul_47.json OK ++ g1_mul_48.json OK ++ g1_mul_49.json OK ++ g1_mul_5.json OK ++ g1_mul_50.json OK ++ g1_mul_51.json OK ++ g1_mul_52.json OK ++ g1_mul_53.json OK ++ g1_mul_54.json OK ++ g1_mul_55.json OK ++ g1_mul_56.json OK ++ g1_mul_57.json OK ++ g1_mul_58.json OK ++ g1_mul_59.json OK ++ g1_mul_6.json OK ++ g1_mul_60.json OK ++ g1_mul_61.json OK ++ g1_mul_62.json OK ++ g1_mul_63.json OK ++ g1_mul_64.json OK ++ g1_mul_65.json OK ++ g1_mul_66.json OK ++ g1_mul_67.json OK ++ g1_mul_68.json OK ++ g1_mul_69.json OK ++ g1_mul_7.json OK ++ g1_mul_70.json OK ++ g1_mul_71.json OK ++ g1_mul_72.json OK ++ g1_mul_73.json OK ++ g1_mul_74.json OK ++ g1_mul_75.json OK ++ g1_mul_76.json OK ++ g1_mul_77.json OK ++ g1_mul_78.json OK ++ g1_mul_79.json OK ++ g1_mul_8.json OK ++ g1_mul_80.json OK ++ g1_mul_81.json OK ++ g1_mul_82.json OK ++ g1_mul_83.json OK ++ g1_mul_84.json OK ++ g1_mul_85.json OK ++ g1_mul_86.json OK ++ g1_mul_87.json OK ++ g1_mul_88.json OK ++ g1_mul_89.json OK ++ g1_mul_9.json OK ++ g1_mul_90.json OK ++ g1_mul_91.json OK ++ g1_mul_92.json OK ++ g1_mul_93.json OK ++ g1_mul_94.json OK ++ g1_mul_95.json OK ++ g1_mul_96.json OK ++ g1_mul_97.json OK ++ g1_mul_98.json OK ++ g1_mul_99.json OK ++ g1_multiexp_0.json OK ++ g1_multiexp_1.json OK ++ g1_multiexp_10.json OK ++ g1_multiexp_11.json OK ++ g1_multiexp_12.json OK ++ g1_multiexp_13.json OK ++ g1_multiexp_14.json OK ++ g1_multiexp_15.json OK ++ g1_multiexp_16.json OK ++ g1_multiexp_17.json OK ++ g1_multiexp_18.json OK ++ g1_multiexp_19.json OK ++ g1_multiexp_2.json OK ++ g1_multiexp_20.json OK ++ g1_multiexp_21.json OK ++ g1_multiexp_22.json OK ++ g1_multiexp_23.json OK ++ g1_multiexp_24.json OK ++ g1_multiexp_25.json OK ++ g1_multiexp_26.json OK ++ g1_multiexp_27.json OK ++ g1_multiexp_28.json OK ++ g1_multiexp_29.json OK ++ g1_multiexp_3.json OK ++ g1_multiexp_30.json OK ++ g1_multiexp_31.json OK ++ g1_multiexp_32.json OK ++ g1_multiexp_33.json OK ++ g1_multiexp_34.json OK ++ g1_multiexp_35.json OK ++ g1_multiexp_36.json OK ++ g1_multiexp_37.json OK ++ g1_multiexp_38.json OK ++ g1_multiexp_39.json OK ++ g1_multiexp_4.json OK ++ g1_multiexp_40.json OK ++ g1_multiexp_41.json OK ++ g1_multiexp_42.json OK ++ g1_multiexp_43.json OK ++ g1_multiexp_44.json OK ++ g1_multiexp_45.json OK ++ g1_multiexp_46.json OK ++ g1_multiexp_47.json OK ++ g1_multiexp_48.json OK ++ g1_multiexp_49.json OK ++ g1_multiexp_5.json OK ++ g1_multiexp_50.json OK ++ g1_multiexp_51.json OK ++ g1_multiexp_52.json OK ++ g1_multiexp_53.json OK ++ g1_multiexp_54.json OK ++ g1_multiexp_55.json OK ++ g1_multiexp_56.json OK ++ g1_multiexp_57.json OK ++ g1_multiexp_58.json OK ++ g1_multiexp_59.json OK ++ g1_multiexp_6.json OK ++ g1_multiexp_60.json OK ++ g1_multiexp_61.json OK ++ g1_multiexp_62.json OK ++ g1_multiexp_63.json OK ++ g1_multiexp_64.json OK ++ g1_multiexp_65.json OK ++ g1_multiexp_66.json OK ++ g1_multiexp_67.json OK ++ g1_multiexp_68.json OK ++ g1_multiexp_69.json OK ++ g1_multiexp_7.json OK ++ g1_multiexp_70.json OK ++ g1_multiexp_71.json OK ++ g1_multiexp_72.json OK ++ g1_multiexp_73.json OK ++ g1_multiexp_74.json OK ++ g1_multiexp_75.json OK ++ g1_multiexp_76.json OK ++ g1_multiexp_77.json OK ++ g1_multiexp_78.json OK ++ g1_multiexp_79.json OK ++ g1_multiexp_8.json OK ++ g1_multiexp_80.json OK ++ g1_multiexp_81.json OK ++ g1_multiexp_82.json OK ++ g1_multiexp_83.json OK ++ g1_multiexp_84.json OK ++ g1_multiexp_85.json OK ++ g1_multiexp_86.json OK ++ g1_multiexp_87.json OK ++ g1_multiexp_88.json OK ++ g1_multiexp_89.json OK ++ g1_multiexp_9.json OK ++ g1_multiexp_90.json OK ++ g1_multiexp_91.json OK ++ g1_multiexp_92.json OK ++ g1_multiexp_93.json OK ++ g1_multiexp_94.json OK ++ g1_multiexp_95.json OK ++ g1_multiexp_96.json OK ++ g1_multiexp_97.json OK ++ g1_multiexp_98.json OK ++ g1_multiexp_99.json OK ++ g1_not_on_curve_0.json OK ++ g1_not_on_curve_1.json OK ++ g1_not_on_curve_10.json OK ++ g1_not_on_curve_11.json OK ++ g1_not_on_curve_12.json OK ++ g1_not_on_curve_13.json OK ++ g1_not_on_curve_14.json OK ++ g1_not_on_curve_15.json OK ++ g1_not_on_curve_16.json OK ++ g1_not_on_curve_17.json OK ++ g1_not_on_curve_18.json OK ++ g1_not_on_curve_19.json OK ++ g1_not_on_curve_2.json OK ++ g1_not_on_curve_20.json OK ++ g1_not_on_curve_21.json OK ++ g1_not_on_curve_22.json OK ++ g1_not_on_curve_23.json OK ++ g1_not_on_curve_24.json OK ++ g1_not_on_curve_25.json OK ++ g1_not_on_curve_26.json OK ++ g1_not_on_curve_27.json OK ++ g1_not_on_curve_28.json OK ++ g1_not_on_curve_29.json OK ++ g1_not_on_curve_3.json OK ++ g1_not_on_curve_30.json OK ++ g1_not_on_curve_31.json OK ++ g1_not_on_curve_32.json OK ++ g1_not_on_curve_33.json OK ++ g1_not_on_curve_34.json OK ++ g1_not_on_curve_35.json OK ++ g1_not_on_curve_36.json OK ++ g1_not_on_curve_37.json OK ++ g1_not_on_curve_38.json OK ++ g1_not_on_curve_39.json OK ++ g1_not_on_curve_4.json OK ++ g1_not_on_curve_40.json OK ++ g1_not_on_curve_41.json OK ++ g1_not_on_curve_42.json OK ++ g1_not_on_curve_43.json OK ++ g1_not_on_curve_44.json OK ++ g1_not_on_curve_45.json OK ++ g1_not_on_curve_46.json OK ++ g1_not_on_curve_47.json OK ++ g1_not_on_curve_48.json OK ++ g1_not_on_curve_49.json OK ++ g1_not_on_curve_5.json OK ++ g1_not_on_curve_50.json OK ++ g1_not_on_curve_51.json OK ++ g1_not_on_curve_52.json OK ++ g1_not_on_curve_53.json OK ++ g1_not_on_curve_54.json OK ++ g1_not_on_curve_55.json OK ++ g1_not_on_curve_56.json OK ++ g1_not_on_curve_57.json OK ++ g1_not_on_curve_58.json OK ++ g1_not_on_curve_59.json OK ++ g1_not_on_curve_6.json OK ++ g1_not_on_curve_60.json OK ++ g1_not_on_curve_61.json OK ++ g1_not_on_curve_62.json OK ++ g1_not_on_curve_63.json OK ++ g1_not_on_curve_64.json OK ++ g1_not_on_curve_65.json OK ++ g1_not_on_curve_66.json OK ++ g1_not_on_curve_67.json OK ++ g1_not_on_curve_68.json OK ++ g1_not_on_curve_69.json OK ++ g1_not_on_curve_7.json OK ++ g1_not_on_curve_70.json OK ++ g1_not_on_curve_71.json OK ++ g1_not_on_curve_72.json OK ++ g1_not_on_curve_73.json OK ++ g1_not_on_curve_74.json OK ++ g1_not_on_curve_75.json OK ++ g1_not_on_curve_76.json OK ++ g1_not_on_curve_77.json OK ++ g1_not_on_curve_78.json OK ++ g1_not_on_curve_79.json OK ++ g1_not_on_curve_8.json OK ++ g1_not_on_curve_80.json OK ++ g1_not_on_curve_81.json OK ++ g1_not_on_curve_82.json OK ++ g1_not_on_curve_83.json OK ++ g1_not_on_curve_84.json OK ++ g1_not_on_curve_85.json OK ++ g1_not_on_curve_86.json OK ++ g1_not_on_curve_87.json OK ++ g1_not_on_curve_88.json OK ++ g1_not_on_curve_89.json OK ++ g1_not_on_curve_9.json OK ++ g1_not_on_curve_90.json OK ++ g1_not_on_curve_91.json OK ++ g1_not_on_curve_92.json OK ++ g1_not_on_curve_93.json OK ++ g1_not_on_curve_94.json OK ++ g1_not_on_curve_95.json OK ++ g1_not_on_curve_96.json OK ++ g1_not_on_curve_97.json OK ++ g1_not_on_curve_98.json OK ++ g1_not_on_curve_99.json OK ++ g2_add_0.json OK ++ g2_add_1.json OK ++ g2_add_10.json OK ++ g2_add_11.json OK ++ g2_add_12.json OK ++ g2_add_13.json OK ++ g2_add_14.json OK ++ g2_add_15.json OK ++ g2_add_16.json OK ++ g2_add_17.json OK ++ g2_add_18.json OK ++ g2_add_19.json OK ++ g2_add_2.json OK ++ g2_add_20.json OK ++ g2_add_21.json OK ++ g2_add_22.json OK ++ g2_add_23.json OK ++ g2_add_24.json OK ++ g2_add_25.json OK ++ g2_add_26.json OK ++ g2_add_27.json OK ++ g2_add_28.json OK ++ g2_add_29.json OK ++ g2_add_3.json OK ++ g2_add_30.json OK ++ g2_add_31.json OK ++ g2_add_32.json OK ++ g2_add_33.json OK ++ g2_add_34.json OK ++ g2_add_35.json OK ++ g2_add_36.json OK ++ g2_add_37.json OK ++ g2_add_38.json OK ++ g2_add_39.json OK ++ g2_add_4.json OK ++ g2_add_40.json OK ++ g2_add_41.json OK ++ g2_add_42.json OK ++ g2_add_43.json OK ++ g2_add_44.json OK ++ g2_add_45.json OK ++ g2_add_46.json OK ++ g2_add_47.json OK ++ g2_add_48.json OK ++ g2_add_49.json OK ++ g2_add_5.json OK ++ g2_add_50.json OK ++ g2_add_51.json OK ++ g2_add_52.json OK ++ g2_add_53.json OK ++ g2_add_54.json OK ++ g2_add_55.json OK ++ g2_add_56.json OK ++ g2_add_57.json OK ++ g2_add_58.json OK ++ g2_add_59.json OK ++ g2_add_6.json OK ++ g2_add_60.json OK ++ g2_add_61.json OK ++ g2_add_62.json OK ++ g2_add_63.json OK ++ g2_add_64.json OK ++ g2_add_65.json OK ++ g2_add_66.json OK ++ g2_add_67.json OK ++ g2_add_68.json OK ++ g2_add_69.json OK ++ g2_add_7.json OK ++ g2_add_70.json OK ++ g2_add_71.json OK ++ g2_add_72.json OK ++ g2_add_73.json OK ++ g2_add_74.json OK ++ g2_add_75.json OK ++ g2_add_76.json OK ++ g2_add_77.json OK ++ g2_add_78.json OK ++ g2_add_79.json OK ++ g2_add_8.json OK ++ g2_add_80.json OK ++ g2_add_81.json OK ++ g2_add_82.json OK ++ g2_add_83.json OK ++ g2_add_84.json OK ++ g2_add_85.json OK ++ g2_add_86.json OK ++ g2_add_87.json OK ++ g2_add_88.json OK ++ g2_add_89.json OK ++ g2_add_9.json OK ++ g2_add_90.json OK ++ g2_add_91.json OK ++ g2_add_92.json OK ++ g2_add_93.json OK ++ g2_add_94.json OK ++ g2_add_95.json OK ++ g2_add_96.json OK ++ g2_add_97.json OK ++ g2_add_98.json OK ++ g2_add_99.json OK ++ g2_mul_0.json OK ++ g2_mul_1.json OK ++ g2_mul_10.json OK ++ g2_mul_11.json OK ++ g2_mul_12.json OK ++ g2_mul_13.json OK ++ g2_mul_14.json OK ++ g2_mul_15.json OK ++ g2_mul_16.json OK ++ g2_mul_17.json OK ++ g2_mul_18.json OK ++ g2_mul_19.json OK ++ g2_mul_2.json OK ++ g2_mul_20.json OK ++ g2_mul_21.json OK ++ g2_mul_22.json OK ++ g2_mul_23.json OK ++ g2_mul_24.json OK ++ g2_mul_25.json OK ++ g2_mul_26.json OK ++ g2_mul_27.json OK ++ g2_mul_28.json OK ++ g2_mul_29.json OK ++ g2_mul_3.json OK ++ g2_mul_30.json OK ++ g2_mul_31.json OK ++ g2_mul_32.json OK ++ g2_mul_33.json OK ++ g2_mul_34.json OK ++ g2_mul_35.json OK ++ g2_mul_36.json OK ++ g2_mul_37.json OK ++ g2_mul_38.json OK ++ g2_mul_39.json OK ++ g2_mul_4.json OK ++ g2_mul_40.json OK ++ g2_mul_41.json OK ++ g2_mul_42.json OK ++ g2_mul_43.json OK ++ g2_mul_44.json OK ++ g2_mul_45.json OK ++ g2_mul_46.json OK ++ g2_mul_47.json OK ++ g2_mul_48.json OK ++ g2_mul_49.json OK ++ g2_mul_5.json OK ++ g2_mul_50.json OK ++ g2_mul_51.json OK ++ g2_mul_52.json OK ++ g2_mul_53.json OK ++ g2_mul_54.json OK ++ g2_mul_55.json OK ++ g2_mul_56.json OK ++ g2_mul_57.json OK ++ g2_mul_58.json OK ++ g2_mul_59.json OK ++ g2_mul_6.json OK ++ g2_mul_60.json OK ++ g2_mul_61.json OK ++ g2_mul_62.json OK ++ g2_mul_63.json OK ++ g2_mul_64.json OK ++ g2_mul_65.json OK ++ g2_mul_66.json OK ++ g2_mul_67.json OK ++ g2_mul_68.json OK ++ g2_mul_69.json OK ++ g2_mul_7.json OK ++ g2_mul_70.json OK ++ g2_mul_71.json OK ++ g2_mul_72.json OK ++ g2_mul_73.json OK ++ g2_mul_74.json OK ++ g2_mul_75.json OK ++ g2_mul_76.json OK ++ g2_mul_77.json OK ++ g2_mul_78.json OK ++ g2_mul_79.json OK ++ g2_mul_8.json OK ++ g2_mul_80.json OK ++ g2_mul_81.json OK ++ g2_mul_82.json OK ++ g2_mul_83.json OK ++ g2_mul_84.json OK ++ g2_mul_85.json OK ++ g2_mul_86.json OK ++ g2_mul_87.json OK ++ g2_mul_88.json OK ++ g2_mul_89.json OK ++ g2_mul_9.json OK ++ g2_mul_90.json OK ++ g2_mul_91.json OK ++ g2_mul_92.json OK ++ g2_mul_93.json OK ++ g2_mul_94.json OK ++ g2_mul_95.json OK ++ g2_mul_96.json OK ++ g2_mul_97.json OK ++ g2_mul_98.json OK ++ g2_mul_99.json OK ++ g2_multiexp_0.json OK ++ g2_multiexp_1.json OK ++ g2_multiexp_10.json OK ++ g2_multiexp_11.json OK ++ g2_multiexp_12.json OK ++ g2_multiexp_13.json OK ++ g2_multiexp_14.json OK ++ g2_multiexp_15.json OK ++ g2_multiexp_16.json OK ++ g2_multiexp_17.json OK ++ g2_multiexp_18.json OK ++ g2_multiexp_19.json OK ++ g2_multiexp_2.json OK ++ g2_multiexp_20.json OK ++ g2_multiexp_21.json OK ++ g2_multiexp_22.json OK ++ g2_multiexp_23.json OK ++ g2_multiexp_24.json OK ++ g2_multiexp_25.json OK ++ g2_multiexp_26.json OK ++ g2_multiexp_27.json OK ++ g2_multiexp_28.json OK ++ g2_multiexp_29.json OK ++ g2_multiexp_3.json OK ++ g2_multiexp_30.json OK ++ g2_multiexp_31.json OK ++ g2_multiexp_32.json OK ++ g2_multiexp_33.json OK ++ g2_multiexp_34.json OK ++ g2_multiexp_35.json OK ++ g2_multiexp_36.json OK ++ g2_multiexp_37.json OK ++ g2_multiexp_38.json OK ++ g2_multiexp_39.json OK ++ g2_multiexp_4.json OK ++ g2_multiexp_40.json OK ++ g2_multiexp_41.json OK ++ g2_multiexp_42.json OK ++ g2_multiexp_43.json OK ++ g2_multiexp_44.json OK ++ g2_multiexp_45.json OK ++ g2_multiexp_46.json OK ++ g2_multiexp_47.json OK ++ g2_multiexp_48.json OK ++ g2_multiexp_49.json OK ++ g2_multiexp_5.json OK ++ g2_multiexp_50.json OK ++ g2_multiexp_51.json OK ++ g2_multiexp_52.json OK ++ g2_multiexp_53.json OK ++ g2_multiexp_54.json OK ++ g2_multiexp_55.json OK ++ g2_multiexp_56.json OK ++ g2_multiexp_57.json OK ++ g2_multiexp_58.json OK ++ g2_multiexp_59.json OK ++ g2_multiexp_6.json OK ++ g2_multiexp_60.json OK ++ g2_multiexp_61.json OK ++ g2_multiexp_62.json OK ++ g2_multiexp_63.json OK ++ g2_multiexp_64.json OK ++ g2_multiexp_65.json OK ++ g2_multiexp_66.json OK ++ g2_multiexp_67.json OK ++ g2_multiexp_68.json OK ++ g2_multiexp_69.json OK ++ g2_multiexp_7.json OK ++ g2_multiexp_70.json OK ++ g2_multiexp_71.json OK ++ g2_multiexp_72.json OK ++ g2_multiexp_73.json OK ++ g2_multiexp_74.json OK ++ g2_multiexp_75.json OK ++ g2_multiexp_76.json OK ++ g2_multiexp_77.json OK ++ g2_multiexp_78.json OK ++ g2_multiexp_79.json OK ++ g2_multiexp_8.json OK ++ g2_multiexp_80.json OK ++ g2_multiexp_81.json OK ++ g2_multiexp_82.json OK ++ g2_multiexp_83.json OK ++ g2_multiexp_84.json OK ++ g2_multiexp_85.json OK ++ g2_multiexp_86.json OK ++ g2_multiexp_87.json OK ++ g2_multiexp_88.json OK ++ g2_multiexp_89.json OK ++ g2_multiexp_9.json OK ++ g2_multiexp_90.json OK ++ g2_multiexp_91.json OK ++ g2_multiexp_92.json OK ++ g2_multiexp_93.json OK ++ g2_multiexp_94.json OK ++ g2_multiexp_95.json OK ++ g2_multiexp_96.json OK ++ g2_multiexp_97.json OK ++ g2_multiexp_98.json OK ++ g2_multiexp_99.json OK ++ g2_not_on_curve_0.json OK ++ g2_not_on_curve_1.json OK ++ g2_not_on_curve_10.json OK ++ g2_not_on_curve_11.json OK ++ g2_not_on_curve_12.json OK ++ g2_not_on_curve_13.json OK ++ g2_not_on_curve_14.json OK ++ g2_not_on_curve_15.json OK ++ g2_not_on_curve_16.json OK ++ g2_not_on_curve_17.json OK ++ g2_not_on_curve_18.json OK ++ g2_not_on_curve_19.json OK ++ g2_not_on_curve_2.json OK ++ g2_not_on_curve_20.json OK ++ g2_not_on_curve_21.json OK ++ g2_not_on_curve_22.json OK ++ g2_not_on_curve_23.json OK ++ g2_not_on_curve_24.json OK ++ g2_not_on_curve_25.json OK ++ g2_not_on_curve_26.json OK ++ g2_not_on_curve_27.json OK ++ g2_not_on_curve_28.json OK ++ g2_not_on_curve_29.json OK ++ g2_not_on_curve_3.json OK ++ g2_not_on_curve_30.json OK ++ g2_not_on_curve_31.json OK ++ g2_not_on_curve_32.json OK ++ g2_not_on_curve_33.json OK ++ g2_not_on_curve_34.json OK ++ g2_not_on_curve_35.json OK ++ g2_not_on_curve_36.json OK ++ g2_not_on_curve_37.json OK ++ g2_not_on_curve_38.json OK ++ g2_not_on_curve_39.json OK ++ g2_not_on_curve_4.json OK ++ g2_not_on_curve_40.json OK ++ g2_not_on_curve_41.json OK ++ g2_not_on_curve_42.json OK ++ g2_not_on_curve_43.json OK ++ g2_not_on_curve_44.json OK ++ g2_not_on_curve_45.json OK ++ g2_not_on_curve_46.json OK ++ g2_not_on_curve_47.json OK ++ g2_not_on_curve_48.json OK ++ g2_not_on_curve_49.json OK ++ g2_not_on_curve_5.json OK ++ g2_not_on_curve_50.json OK ++ g2_not_on_curve_51.json OK ++ g2_not_on_curve_52.json OK ++ g2_not_on_curve_53.json OK ++ g2_not_on_curve_54.json OK ++ g2_not_on_curve_55.json OK ++ g2_not_on_curve_56.json OK ++ g2_not_on_curve_57.json OK ++ g2_not_on_curve_58.json OK ++ g2_not_on_curve_59.json OK ++ g2_not_on_curve_6.json OK ++ g2_not_on_curve_60.json OK ++ g2_not_on_curve_61.json OK ++ g2_not_on_curve_62.json OK ++ g2_not_on_curve_63.json OK ++ g2_not_on_curve_64.json OK ++ g2_not_on_curve_65.json OK ++ g2_not_on_curve_66.json OK ++ g2_not_on_curve_67.json OK ++ g2_not_on_curve_68.json OK ++ g2_not_on_curve_69.json OK ++ g2_not_on_curve_7.json OK ++ g2_not_on_curve_70.json OK ++ g2_not_on_curve_71.json OK ++ g2_not_on_curve_72.json OK ++ g2_not_on_curve_73.json OK ++ g2_not_on_curve_74.json OK ++ g2_not_on_curve_75.json OK ++ g2_not_on_curve_76.json OK ++ g2_not_on_curve_77.json OK ++ g2_not_on_curve_78.json OK ++ g2_not_on_curve_79.json OK ++ g2_not_on_curve_8.json OK ++ g2_not_on_curve_80.json OK ++ g2_not_on_curve_81.json OK ++ g2_not_on_curve_82.json OK ++ g2_not_on_curve_83.json OK ++ g2_not_on_curve_84.json OK ++ g2_not_on_curve_85.json OK ++ g2_not_on_curve_86.json OK ++ g2_not_on_curve_87.json OK ++ g2_not_on_curve_88.json OK ++ g2_not_on_curve_89.json OK ++ g2_not_on_curve_9.json OK ++ g2_not_on_curve_90.json OK ++ g2_not_on_curve_91.json OK ++ g2_not_on_curve_92.json OK ++ g2_not_on_curve_93.json OK ++ g2_not_on_curve_94.json OK ++ g2_not_on_curve_95.json OK ++ g2_not_on_curve_96.json OK ++ g2_not_on_curve_97.json OK ++ g2_not_on_curve_98.json OK ++ g2_not_on_curve_99.json OK ++ invalid_fp2_encoding_0.json OK ++ invalid_fp2_encoding_1.json OK ++ invalid_fp2_encoding_10.json OK ++ invalid_fp2_encoding_11.json OK ++ invalid_fp2_encoding_12.json OK ++ invalid_fp2_encoding_13.json OK ++ invalid_fp2_encoding_14.json OK ++ invalid_fp2_encoding_15.json OK ++ invalid_fp2_encoding_16.json OK ++ invalid_fp2_encoding_17.json OK ++ invalid_fp2_encoding_18.json OK ++ invalid_fp2_encoding_19.json OK ++ invalid_fp2_encoding_2.json OK ++ invalid_fp2_encoding_20.json OK ++ invalid_fp2_encoding_21.json OK ++ invalid_fp2_encoding_22.json OK ++ invalid_fp2_encoding_23.json OK ++ invalid_fp2_encoding_24.json OK ++ invalid_fp2_encoding_25.json OK ++ invalid_fp2_encoding_26.json OK ++ invalid_fp2_encoding_27.json OK ++ invalid_fp2_encoding_28.json OK ++ invalid_fp2_encoding_29.json OK ++ invalid_fp2_encoding_3.json OK ++ invalid_fp2_encoding_30.json OK ++ invalid_fp2_encoding_31.json OK ++ invalid_fp2_encoding_32.json OK ++ invalid_fp2_encoding_33.json OK ++ invalid_fp2_encoding_34.json OK ++ invalid_fp2_encoding_35.json OK ++ invalid_fp2_encoding_36.json OK ++ invalid_fp2_encoding_37.json OK ++ invalid_fp2_encoding_38.json OK ++ invalid_fp2_encoding_39.json OK ++ invalid_fp2_encoding_4.json OK ++ invalid_fp2_encoding_40.json OK ++ invalid_fp2_encoding_41.json OK ++ invalid_fp2_encoding_42.json OK ++ invalid_fp2_encoding_43.json OK ++ invalid_fp2_encoding_44.json OK ++ invalid_fp2_encoding_45.json OK ++ invalid_fp2_encoding_46.json OK ++ invalid_fp2_encoding_47.json OK ++ invalid_fp2_encoding_48.json OK ++ invalid_fp2_encoding_49.json OK ++ invalid_fp2_encoding_5.json OK ++ invalid_fp2_encoding_50.json OK ++ invalid_fp2_encoding_51.json OK ++ invalid_fp2_encoding_52.json OK ++ invalid_fp2_encoding_53.json OK ++ invalid_fp2_encoding_54.json OK ++ invalid_fp2_encoding_55.json OK ++ invalid_fp2_encoding_56.json OK ++ invalid_fp2_encoding_57.json OK ++ invalid_fp2_encoding_58.json OK ++ invalid_fp2_encoding_59.json OK ++ invalid_fp2_encoding_6.json OK ++ invalid_fp2_encoding_60.json OK ++ invalid_fp2_encoding_61.json OK ++ invalid_fp2_encoding_62.json OK ++ invalid_fp2_encoding_63.json OK ++ invalid_fp2_encoding_64.json OK ++ invalid_fp2_encoding_65.json OK ++ invalid_fp2_encoding_66.json OK ++ invalid_fp2_encoding_67.json OK ++ invalid_fp2_encoding_68.json OK ++ invalid_fp2_encoding_69.json OK ++ invalid_fp2_encoding_7.json OK ++ invalid_fp2_encoding_70.json OK ++ invalid_fp2_encoding_71.json OK ++ invalid_fp2_encoding_72.json OK ++ invalid_fp2_encoding_73.json OK ++ invalid_fp2_encoding_74.json OK ++ invalid_fp2_encoding_75.json OK ++ invalid_fp2_encoding_76.json OK ++ invalid_fp2_encoding_77.json OK ++ invalid_fp2_encoding_78.json OK ++ invalid_fp2_encoding_79.json OK ++ invalid_fp2_encoding_8.json OK ++ invalid_fp2_encoding_80.json OK ++ invalid_fp2_encoding_81.json OK ++ invalid_fp2_encoding_82.json OK ++ invalid_fp2_encoding_83.json OK ++ invalid_fp2_encoding_84.json OK ++ invalid_fp2_encoding_85.json OK ++ invalid_fp2_encoding_86.json OK ++ invalid_fp2_encoding_87.json OK ++ invalid_fp2_encoding_88.json OK ++ invalid_fp2_encoding_89.json OK ++ invalid_fp2_encoding_9.json OK ++ invalid_fp2_encoding_90.json OK ++ invalid_fp2_encoding_91.json OK ++ invalid_fp2_encoding_92.json OK ++ invalid_fp2_encoding_93.json OK ++ invalid_fp2_encoding_94.json OK ++ invalid_fp2_encoding_95.json OK ++ invalid_fp2_encoding_96.json OK ++ invalid_fp2_encoding_97.json OK ++ invalid_fp2_encoding_98.json OK ++ invalid_fp2_encoding_99.json OK ++ invalid_fp_encoding_0.json OK ++ invalid_fp_encoding_1.json OK ++ invalid_fp_encoding_10.json OK ++ invalid_fp_encoding_11.json OK ++ invalid_fp_encoding_12.json OK ++ invalid_fp_encoding_13.json OK ++ invalid_fp_encoding_14.json OK ++ invalid_fp_encoding_15.json OK ++ invalid_fp_encoding_16.json OK ++ invalid_fp_encoding_17.json OK ++ invalid_fp_encoding_18.json OK ++ invalid_fp_encoding_19.json OK ++ invalid_fp_encoding_2.json OK ++ invalid_fp_encoding_20.json OK ++ invalid_fp_encoding_21.json OK ++ invalid_fp_encoding_22.json OK ++ invalid_fp_encoding_23.json OK ++ invalid_fp_encoding_24.json OK ++ invalid_fp_encoding_25.json OK ++ invalid_fp_encoding_26.json OK ++ invalid_fp_encoding_27.json OK ++ invalid_fp_encoding_28.json OK ++ invalid_fp_encoding_29.json OK ++ invalid_fp_encoding_3.json OK ++ invalid_fp_encoding_30.json OK ++ invalid_fp_encoding_31.json OK ++ invalid_fp_encoding_32.json OK ++ invalid_fp_encoding_33.json OK ++ invalid_fp_encoding_34.json OK ++ invalid_fp_encoding_35.json OK ++ invalid_fp_encoding_36.json OK ++ invalid_fp_encoding_37.json OK ++ invalid_fp_encoding_38.json OK ++ invalid_fp_encoding_39.json OK ++ invalid_fp_encoding_4.json OK ++ invalid_fp_encoding_40.json OK ++ invalid_fp_encoding_41.json OK ++ invalid_fp_encoding_42.json OK ++ invalid_fp_encoding_43.json OK ++ invalid_fp_encoding_44.json OK ++ invalid_fp_encoding_45.json OK ++ invalid_fp_encoding_46.json OK ++ invalid_fp_encoding_47.json OK ++ invalid_fp_encoding_48.json OK ++ invalid_fp_encoding_49.json OK ++ invalid_fp_encoding_5.json OK ++ invalid_fp_encoding_50.json OK ++ invalid_fp_encoding_51.json OK ++ invalid_fp_encoding_52.json OK ++ invalid_fp_encoding_53.json OK ++ invalid_fp_encoding_54.json OK ++ invalid_fp_encoding_55.json OK ++ invalid_fp_encoding_56.json OK ++ invalid_fp_encoding_57.json OK ++ invalid_fp_encoding_58.json OK ++ invalid_fp_encoding_59.json OK ++ invalid_fp_encoding_6.json OK ++ invalid_fp_encoding_60.json OK ++ invalid_fp_encoding_61.json OK ++ invalid_fp_encoding_62.json OK ++ invalid_fp_encoding_63.json OK ++ invalid_fp_encoding_64.json OK ++ invalid_fp_encoding_65.json OK ++ invalid_fp_encoding_66.json OK ++ invalid_fp_encoding_67.json OK ++ invalid_fp_encoding_68.json OK ++ invalid_fp_encoding_69.json OK ++ invalid_fp_encoding_7.json OK ++ invalid_fp_encoding_70.json OK ++ invalid_fp_encoding_71.json OK ++ invalid_fp_encoding_72.json OK ++ invalid_fp_encoding_73.json OK ++ invalid_fp_encoding_74.json OK ++ invalid_fp_encoding_75.json OK ++ invalid_fp_encoding_76.json OK ++ invalid_fp_encoding_77.json OK ++ invalid_fp_encoding_78.json OK ++ invalid_fp_encoding_79.json OK ++ invalid_fp_encoding_8.json OK ++ invalid_fp_encoding_80.json OK ++ invalid_fp_encoding_81.json OK ++ invalid_fp_encoding_82.json OK ++ invalid_fp_encoding_83.json OK ++ invalid_fp_encoding_84.json OK ++ invalid_fp_encoding_85.json OK ++ invalid_fp_encoding_86.json OK ++ invalid_fp_encoding_87.json OK ++ invalid_fp_encoding_88.json OK ++ invalid_fp_encoding_89.json OK ++ invalid_fp_encoding_9.json OK ++ invalid_fp_encoding_90.json OK ++ invalid_fp_encoding_91.json OK ++ invalid_fp_encoding_92.json OK ++ invalid_fp_encoding_93.json OK ++ invalid_fp_encoding_94.json OK ++ invalid_fp_encoding_95.json OK ++ invalid_fp_encoding_96.json OK ++ invalid_fp_encoding_97.json OK ++ invalid_fp_encoding_98.json OK ++ invalid_fp_encoding_99.json OK ++ invalid_subgroup_for_pairing_0.json OK ++ invalid_subgroup_for_pairing_1.json OK ++ invalid_subgroup_for_pairing_10.json OK ++ invalid_subgroup_for_pairing_11.json OK ++ invalid_subgroup_for_pairing_12.json OK ++ invalid_subgroup_for_pairing_13.json OK ++ invalid_subgroup_for_pairing_14.json OK ++ invalid_subgroup_for_pairing_15.json OK ++ invalid_subgroup_for_pairing_16.json OK ++ invalid_subgroup_for_pairing_17.json OK ++ invalid_subgroup_for_pairing_18.json OK ++ invalid_subgroup_for_pairing_19.json OK ++ invalid_subgroup_for_pairing_2.json OK ++ invalid_subgroup_for_pairing_20.json OK ++ invalid_subgroup_for_pairing_21.json OK ++ invalid_subgroup_for_pairing_22.json OK ++ invalid_subgroup_for_pairing_23.json OK ++ invalid_subgroup_for_pairing_24.json OK ++ invalid_subgroup_for_pairing_25.json OK ++ invalid_subgroup_for_pairing_26.json OK ++ invalid_subgroup_for_pairing_27.json OK ++ invalid_subgroup_for_pairing_28.json OK ++ invalid_subgroup_for_pairing_29.json OK ++ invalid_subgroup_for_pairing_3.json OK ++ invalid_subgroup_for_pairing_30.json OK ++ invalid_subgroup_for_pairing_31.json OK ++ invalid_subgroup_for_pairing_32.json OK ++ invalid_subgroup_for_pairing_33.json OK ++ invalid_subgroup_for_pairing_34.json OK ++ invalid_subgroup_for_pairing_35.json OK ++ invalid_subgroup_for_pairing_36.json OK ++ invalid_subgroup_for_pairing_37.json OK ++ invalid_subgroup_for_pairing_38.json OK ++ invalid_subgroup_for_pairing_39.json OK ++ invalid_subgroup_for_pairing_4.json OK ++ invalid_subgroup_for_pairing_40.json OK ++ invalid_subgroup_for_pairing_41.json OK ++ invalid_subgroup_for_pairing_42.json OK ++ invalid_subgroup_for_pairing_43.json OK ++ invalid_subgroup_for_pairing_44.json OK ++ invalid_subgroup_for_pairing_45.json OK ++ invalid_subgroup_for_pairing_46.json OK ++ invalid_subgroup_for_pairing_47.json OK ++ invalid_subgroup_for_pairing_48.json OK ++ invalid_subgroup_for_pairing_49.json OK ++ invalid_subgroup_for_pairing_5.json OK ++ invalid_subgroup_for_pairing_50.json OK ++ invalid_subgroup_for_pairing_51.json OK ++ invalid_subgroup_for_pairing_52.json OK ++ invalid_subgroup_for_pairing_53.json OK ++ invalid_subgroup_for_pairing_54.json OK ++ invalid_subgroup_for_pairing_55.json OK ++ invalid_subgroup_for_pairing_56.json OK ++ invalid_subgroup_for_pairing_57.json OK ++ invalid_subgroup_for_pairing_58.json OK ++ invalid_subgroup_for_pairing_59.json OK ++ invalid_subgroup_for_pairing_6.json OK ++ invalid_subgroup_for_pairing_60.json OK ++ invalid_subgroup_for_pairing_61.json OK ++ invalid_subgroup_for_pairing_62.json OK ++ invalid_subgroup_for_pairing_63.json OK ++ invalid_subgroup_for_pairing_64.json OK ++ invalid_subgroup_for_pairing_65.json OK ++ invalid_subgroup_for_pairing_66.json OK ++ invalid_subgroup_for_pairing_67.json OK ++ invalid_subgroup_for_pairing_68.json OK ++ invalid_subgroup_for_pairing_69.json OK ++ invalid_subgroup_for_pairing_7.json OK ++ invalid_subgroup_for_pairing_70.json OK ++ invalid_subgroup_for_pairing_71.json OK ++ invalid_subgroup_for_pairing_72.json OK ++ invalid_subgroup_for_pairing_73.json OK ++ invalid_subgroup_for_pairing_74.json OK ++ invalid_subgroup_for_pairing_75.json OK ++ invalid_subgroup_for_pairing_76.json OK ++ invalid_subgroup_for_pairing_77.json OK ++ invalid_subgroup_for_pairing_78.json OK ++ invalid_subgroup_for_pairing_79.json OK ++ invalid_subgroup_for_pairing_8.json OK ++ invalid_subgroup_for_pairing_80.json OK ++ invalid_subgroup_for_pairing_81.json OK ++ invalid_subgroup_for_pairing_82.json OK ++ invalid_subgroup_for_pairing_83.json OK ++ invalid_subgroup_for_pairing_84.json OK ++ invalid_subgroup_for_pairing_85.json OK ++ invalid_subgroup_for_pairing_86.json OK ++ invalid_subgroup_for_pairing_87.json OK ++ invalid_subgroup_for_pairing_88.json OK ++ invalid_subgroup_for_pairing_89.json OK ++ invalid_subgroup_for_pairing_9.json OK ++ invalid_subgroup_for_pairing_90.json OK ++ invalid_subgroup_for_pairing_91.json OK ++ invalid_subgroup_for_pairing_92.json OK ++ invalid_subgroup_for_pairing_93.json OK ++ invalid_subgroup_for_pairing_94.json OK ++ invalid_subgroup_for_pairing_95.json OK ++ invalid_subgroup_for_pairing_96.json OK ++ invalid_subgroup_for_pairing_97.json OK ++ invalid_subgroup_for_pairing_98.json OK ++ invalid_subgroup_for_pairing_99.json OK ++ pairing_0.json OK ++ pairing_1.json OK ++ pairing_10.json OK ++ pairing_11.json OK ++ pairing_12.json OK ++ pairing_13.json OK ++ pairing_14.json OK ++ pairing_15.json OK ++ pairing_16.json OK ++ pairing_17.json OK ++ pairing_18.json OK ++ pairing_19.json OK ++ pairing_2.json OK ++ pairing_20.json OK ++ pairing_21.json OK ++ pairing_22.json OK ++ pairing_23.json OK ++ pairing_24.json OK ++ pairing_25.json OK ++ pairing_26.json OK ++ pairing_27.json OK ++ pairing_28.json OK ++ pairing_29.json OK ++ pairing_3.json OK ++ pairing_30.json OK ++ pairing_31.json OK ++ pairing_32.json OK ++ pairing_33.json OK ++ pairing_34.json OK ++ pairing_35.json OK ++ pairing_36.json OK ++ pairing_37.json OK ++ pairing_38.json OK ++ pairing_39.json OK ++ pairing_4.json OK ++ pairing_40.json OK ++ pairing_41.json OK ++ pairing_42.json OK ++ pairing_43.json OK ++ pairing_44.json OK ++ pairing_45.json OK ++ pairing_46.json OK ++ pairing_47.json OK ++ pairing_48.json OK ++ pairing_49.json OK ++ pairing_5.json OK ++ pairing_50.json OK ++ pairing_51.json OK ++ pairing_52.json OK ++ pairing_53.json OK ++ pairing_54.json OK ++ pairing_55.json OK ++ pairing_56.json OK ++ pairing_57.json OK ++ pairing_58.json OK ++ pairing_59.json OK ++ pairing_6.json OK ++ pairing_60.json OK ++ pairing_61.json OK ++ pairing_62.json OK ++ pairing_63.json OK ++ pairing_64.json OK ++ pairing_65.json OK ++ pairing_66.json OK ++ pairing_67.json OK ++ pairing_68.json OK ++ pairing_69.json OK ++ pairing_7.json OK ++ pairing_70.json OK ++ pairing_71.json OK ++ pairing_72.json OK ++ pairing_73.json OK ++ pairing_74.json OK ++ pairing_75.json OK ++ pairing_76.json OK ++ pairing_77.json OK ++ pairing_78.json OK ++ pairing_79.json OK ++ pairing_8.json OK ++ pairing_80.json OK ++ pairing_81.json OK ++ pairing_82.json OK ++ pairing_83.json OK ++ pairing_84.json OK ++ pairing_85.json OK ++ pairing_86.json OK ++ pairing_87.json OK ++ pairing_88.json OK ++ pairing_89.json OK ++ pairing_9.json OK ++ pairing_90.json OK ++ pairing_91.json OK ++ pairing_92.json OK ++ pairing_93.json OK ++ pairing_94.json OK ++ pairing_95.json OK +``` +OK: 1403/1403 Fail: 0/1403 Skip: 0/1403 ## stExample ```diff + add11.json OK @@ -2253,6 +3664,9 @@ OK: 13/13 Fail: 0/13 Skip: 0/13 OK: 9/9 Fail: 0/9 Skip: 0/9 ## stStaticCall ```diff ++ StaticcallToPrecompileFromCalledContract.json OK ++ StaticcallToPrecompileFromContractInitialization.json OK ++ StaticcallToPrecompileFromTransaction.json OK + static_ABAcalls0.json OK + static_ABAcalls1.json OK + static_ABAcalls2.json OK @@ -2537,7 +3951,24 @@ OK: 9/9 Fail: 0/9 Skip: 0/9 + static_refund_CallToSuicideNoStorage.json OK + static_refund_CallToSuicideTwice.json OK ``` -OK: 283/283 Fail: 0/283 Skip: 0/283 +OK: 286/286 Fail: 0/286 Skip: 0/286 +## stStaticFlagEnabled +```diff ++ CallWithNOTZeroValueToPrecompileFromCalledContract.json OK ++ CallWithNOTZeroValueToPrecompileFromContractInitialization.json OK ++ CallWithNOTZeroValueToPrecompileFromTransaction.json OK ++ CallWithZeroValueToPrecompileFromCalledContract.json OK ++ CallWithZeroValueToPrecompileFromContractInitialization.json OK ++ CallWithZeroValueToPrecompileFromTransaction.json OK ++ CallcodeToPrecompileFromCalledContract.json OK ++ CallcodeToPrecompileFromContractInitialization.json OK ++ CallcodeToPrecompileFromTransaction.json OK ++ DelegatecallToPrecompileFromCalledContract.json OK ++ DelegatecallToPrecompileFromContractInitialization.json OK ++ DelegatecallToPrecompileFromTransaction.json OK ++ StaticcallForPrecompilesIssue683.json OK +``` +OK: 13/13 Fail: 0/13 Skip: 0/13 ## stSubroutine ```diff + beginSubAtEndOfCode.json OK @@ -2627,14 +4058,20 @@ OK: 66/66 Fail: 0/66 Skip: 0/66 ```diff + CALLBlake2f_MaxRounds.json OK + sstore_combinations_initial00.json OK ++ sstore_combinations_initial00_2.json OK + sstore_combinations_initial01.json OK ++ sstore_combinations_initial01_2.json OK + sstore_combinations_initial10.json OK ++ sstore_combinations_initial10_2.json OK + sstore_combinations_initial11.json OK ++ sstore_combinations_initial11_2.json OK + sstore_combinations_initial20.json OK ++ sstore_combinations_initial20_2.json OK + sstore_combinations_initial21.json OK ++ sstore_combinations_initial21_2.json OK + static_Call50000_sha256.json OK ``` -OK: 8/8 Fail: 0/8 Skip: 0/8 +OK: 14/14 Fail: 0/14 Skip: 0/14 ## stTransactionTest ```diff + ContractStoreClearsOOG.json OK @@ -3701,4 +5138,4 @@ OK: 7/7 Fail: 0/7 Skip: 0/7 OK: 1/1 Fail: 0/1 Skip: 0/1 ---TOTAL--- -OK: 3351/3351 Fail: 0/3351 Skip: 0/3351 +OK: 4780/4780 Fail: 0/4780 Skip: 0/4780 diff --git a/witnessBuilderGST.md b/witnessBuilderGST.md index 194083f13..ea8c381ce 100644 --- a/witnessBuilderGST.md +++ b/witnessBuilderGST.md @@ -548,6 +548,1413 @@ OK: 30/30 Fail: 0/30 Skip: 0/30 + vitalikTransactionTest.json OK ``` OK: 7/7 Fail: 0/7 Skip: 0/7 +## stEIP2537 +```diff ++ extras_fp2_to_g2_0.json OK ++ extras_fp2_to_g2_1.json OK ++ extras_fp2_to_g2_2.json OK ++ extras_fp_to_g1_0.json OK ++ extras_fp_to_g1_1.json OK ++ extras_fp_to_g1_2.json OK ++ extras_g2_multiexp_0.json OK ++ fp2_to_g2_0.json OK ++ fp2_to_g2_1.json OK ++ fp2_to_g2_10.json OK ++ fp2_to_g2_11.json OK ++ fp2_to_g2_12.json OK ++ fp2_to_g2_13.json OK ++ fp2_to_g2_14.json OK ++ fp2_to_g2_15.json OK ++ fp2_to_g2_16.json OK ++ fp2_to_g2_17.json OK ++ fp2_to_g2_18.json OK ++ fp2_to_g2_19.json OK ++ fp2_to_g2_2.json OK ++ fp2_to_g2_20.json OK ++ fp2_to_g2_21.json OK ++ fp2_to_g2_22.json OK ++ fp2_to_g2_23.json OK ++ fp2_to_g2_24.json OK ++ fp2_to_g2_25.json OK ++ fp2_to_g2_26.json OK ++ fp2_to_g2_27.json OK ++ fp2_to_g2_28.json OK ++ fp2_to_g2_29.json OK ++ fp2_to_g2_3.json OK ++ fp2_to_g2_30.json OK ++ fp2_to_g2_31.json OK ++ fp2_to_g2_32.json OK ++ fp2_to_g2_33.json OK ++ fp2_to_g2_34.json OK ++ fp2_to_g2_35.json OK ++ fp2_to_g2_36.json OK ++ fp2_to_g2_37.json OK ++ fp2_to_g2_38.json OK ++ fp2_to_g2_39.json OK ++ fp2_to_g2_4.json OK ++ fp2_to_g2_40.json OK ++ fp2_to_g2_41.json OK ++ fp2_to_g2_42.json OK ++ fp2_to_g2_43.json OK ++ fp2_to_g2_44.json OK ++ fp2_to_g2_45.json OK ++ fp2_to_g2_46.json OK ++ fp2_to_g2_47.json OK ++ fp2_to_g2_48.json OK ++ fp2_to_g2_49.json OK ++ fp2_to_g2_5.json OK ++ fp2_to_g2_50.json OK ++ fp2_to_g2_51.json OK ++ fp2_to_g2_52.json OK ++ fp2_to_g2_53.json OK ++ fp2_to_g2_54.json OK ++ fp2_to_g2_55.json OK ++ fp2_to_g2_56.json OK ++ fp2_to_g2_57.json OK ++ fp2_to_g2_58.json OK ++ fp2_to_g2_59.json OK ++ fp2_to_g2_6.json OK ++ fp2_to_g2_60.json OK ++ fp2_to_g2_61.json OK ++ fp2_to_g2_62.json OK ++ fp2_to_g2_63.json OK ++ fp2_to_g2_64.json OK ++ fp2_to_g2_65.json OK ++ fp2_to_g2_66.json OK ++ fp2_to_g2_67.json OK ++ fp2_to_g2_68.json OK ++ fp2_to_g2_69.json OK ++ fp2_to_g2_7.json OK ++ fp2_to_g2_70.json OK ++ fp2_to_g2_71.json OK ++ fp2_to_g2_72.json OK ++ fp2_to_g2_73.json OK ++ fp2_to_g2_74.json OK ++ fp2_to_g2_75.json OK ++ fp2_to_g2_76.json OK ++ fp2_to_g2_77.json OK ++ fp2_to_g2_78.json OK ++ fp2_to_g2_79.json OK ++ fp2_to_g2_8.json OK ++ fp2_to_g2_80.json OK ++ fp2_to_g2_81.json OK ++ fp2_to_g2_82.json OK ++ fp2_to_g2_83.json OK ++ fp2_to_g2_84.json OK ++ fp2_to_g2_85.json OK ++ fp2_to_g2_86.json OK ++ fp2_to_g2_87.json OK ++ fp2_to_g2_88.json OK ++ fp2_to_g2_89.json OK ++ fp2_to_g2_9.json OK ++ fp2_to_g2_90.json OK ++ fp2_to_g2_91.json OK ++ fp2_to_g2_92.json OK ++ fp2_to_g2_93.json OK ++ fp2_to_g2_94.json OK ++ fp2_to_g2_95.json OK ++ fp2_to_g2_96.json OK ++ fp2_to_g2_97.json OK ++ fp2_to_g2_98.json OK ++ fp2_to_g2_99.json OK ++ fp_to_g1_0.json OK ++ fp_to_g1_1.json OK ++ fp_to_g1_10.json OK ++ fp_to_g1_11.json OK ++ fp_to_g1_12.json OK ++ fp_to_g1_13.json OK ++ fp_to_g1_14.json OK ++ fp_to_g1_15.json OK ++ fp_to_g1_16.json OK ++ fp_to_g1_17.json OK ++ fp_to_g1_18.json OK ++ fp_to_g1_19.json OK ++ fp_to_g1_2.json OK ++ fp_to_g1_20.json OK ++ fp_to_g1_21.json OK ++ fp_to_g1_22.json OK ++ fp_to_g1_23.json OK ++ fp_to_g1_24.json OK ++ fp_to_g1_25.json OK ++ fp_to_g1_26.json OK ++ fp_to_g1_27.json OK ++ fp_to_g1_28.json OK ++ fp_to_g1_29.json OK ++ fp_to_g1_3.json OK ++ fp_to_g1_30.json OK ++ fp_to_g1_31.json OK ++ fp_to_g1_32.json OK ++ fp_to_g1_33.json OK ++ fp_to_g1_34.json OK ++ fp_to_g1_35.json OK ++ fp_to_g1_36.json OK ++ fp_to_g1_37.json OK ++ fp_to_g1_38.json OK ++ fp_to_g1_39.json OK ++ fp_to_g1_4.json OK ++ fp_to_g1_40.json OK ++ fp_to_g1_41.json OK ++ fp_to_g1_42.json OK ++ fp_to_g1_43.json OK ++ fp_to_g1_44.json OK ++ fp_to_g1_45.json OK ++ fp_to_g1_46.json OK ++ fp_to_g1_47.json OK ++ fp_to_g1_48.json OK ++ fp_to_g1_49.json OK ++ fp_to_g1_5.json OK ++ fp_to_g1_50.json OK ++ fp_to_g1_51.json OK ++ fp_to_g1_52.json OK ++ fp_to_g1_53.json OK ++ fp_to_g1_54.json OK ++ fp_to_g1_55.json OK ++ fp_to_g1_56.json OK ++ fp_to_g1_57.json OK ++ fp_to_g1_58.json OK ++ fp_to_g1_59.json OK ++ fp_to_g1_6.json OK ++ fp_to_g1_60.json OK ++ fp_to_g1_61.json OK ++ fp_to_g1_62.json OK ++ fp_to_g1_63.json OK ++ fp_to_g1_64.json OK ++ fp_to_g1_65.json OK ++ fp_to_g1_66.json OK ++ fp_to_g1_67.json OK ++ fp_to_g1_68.json OK ++ fp_to_g1_69.json OK ++ fp_to_g1_7.json OK ++ fp_to_g1_70.json OK ++ fp_to_g1_71.json OK ++ fp_to_g1_72.json OK ++ fp_to_g1_73.json OK ++ fp_to_g1_74.json OK ++ fp_to_g1_75.json OK ++ fp_to_g1_76.json OK ++ fp_to_g1_77.json OK ++ fp_to_g1_78.json OK ++ fp_to_g1_79.json OK ++ fp_to_g1_8.json OK ++ fp_to_g1_80.json OK ++ fp_to_g1_81.json OK ++ fp_to_g1_82.json OK ++ fp_to_g1_83.json OK ++ fp_to_g1_84.json OK ++ fp_to_g1_85.json OK ++ fp_to_g1_86.json OK ++ fp_to_g1_87.json OK ++ fp_to_g1_88.json OK ++ fp_to_g1_89.json OK ++ fp_to_g1_9.json OK ++ fp_to_g1_90.json OK ++ fp_to_g1_91.json OK ++ fp_to_g1_92.json OK ++ fp_to_g1_93.json OK ++ fp_to_g1_94.json OK ++ fp_to_g1_95.json OK ++ fp_to_g1_96.json OK ++ fp_to_g1_97.json OK ++ fp_to_g1_98.json OK ++ fp_to_g1_99.json OK ++ g1_add_0.json OK ++ g1_add_1.json OK ++ g1_add_10.json OK ++ g1_add_11.json OK ++ g1_add_12.json OK ++ g1_add_13.json OK ++ g1_add_14.json OK ++ g1_add_15.json OK ++ g1_add_16.json OK ++ g1_add_17.json OK ++ g1_add_18.json OK ++ g1_add_19.json OK ++ g1_add_2.json OK ++ g1_add_20.json OK ++ g1_add_21.json OK ++ g1_add_22.json OK ++ g1_add_23.json OK ++ g1_add_24.json OK ++ g1_add_25.json OK ++ g1_add_26.json OK ++ g1_add_27.json OK ++ g1_add_28.json OK ++ g1_add_29.json OK ++ g1_add_3.json OK ++ g1_add_30.json OK ++ g1_add_31.json OK ++ g1_add_32.json OK ++ g1_add_33.json OK ++ g1_add_34.json OK ++ g1_add_35.json OK ++ g1_add_36.json OK ++ g1_add_37.json OK ++ g1_add_38.json OK ++ g1_add_39.json OK ++ g1_add_4.json OK ++ g1_add_40.json OK ++ g1_add_41.json OK ++ g1_add_42.json OK ++ g1_add_43.json OK ++ g1_add_44.json OK ++ g1_add_45.json OK ++ g1_add_46.json OK ++ g1_add_47.json OK ++ g1_add_48.json OK ++ g1_add_49.json OK ++ g1_add_5.json OK ++ g1_add_50.json OK ++ g1_add_51.json OK ++ g1_add_52.json OK ++ g1_add_53.json OK ++ g1_add_54.json OK ++ g1_add_55.json OK ++ g1_add_56.json OK ++ g1_add_57.json OK ++ g1_add_58.json OK ++ g1_add_59.json OK ++ g1_add_6.json OK ++ g1_add_60.json OK ++ g1_add_61.json OK ++ g1_add_62.json OK ++ g1_add_63.json OK ++ g1_add_64.json OK ++ g1_add_65.json OK ++ g1_add_66.json OK ++ g1_add_67.json OK ++ g1_add_68.json OK ++ g1_add_69.json OK ++ g1_add_7.json OK ++ g1_add_70.json OK ++ g1_add_71.json OK ++ g1_add_72.json OK ++ g1_add_73.json OK ++ g1_add_74.json OK ++ g1_add_75.json OK ++ g1_add_76.json OK ++ g1_add_77.json OK ++ g1_add_78.json OK ++ g1_add_79.json OK ++ g1_add_8.json OK ++ g1_add_80.json OK ++ g1_add_81.json OK ++ g1_add_82.json OK ++ g1_add_83.json OK ++ g1_add_84.json OK ++ g1_add_85.json OK ++ g1_add_86.json OK ++ g1_add_87.json OK ++ g1_add_88.json OK ++ g1_add_89.json OK ++ g1_add_9.json OK ++ g1_add_90.json OK ++ g1_add_91.json OK ++ g1_add_92.json OK ++ g1_add_93.json OK ++ g1_add_94.json OK ++ g1_add_95.json OK ++ g1_add_96.json OK ++ g1_add_97.json OK ++ g1_add_98.json OK ++ g1_add_99.json OK ++ g1_mul_0.json OK ++ g1_mul_1.json OK ++ g1_mul_10.json OK ++ g1_mul_11.json OK ++ g1_mul_12.json OK ++ g1_mul_13.json OK ++ g1_mul_14.json OK ++ g1_mul_15.json OK ++ g1_mul_16.json OK ++ g1_mul_17.json OK ++ g1_mul_18.json OK ++ g1_mul_19.json OK ++ g1_mul_2.json OK ++ g1_mul_20.json OK ++ g1_mul_21.json OK ++ g1_mul_22.json OK ++ g1_mul_23.json OK ++ g1_mul_24.json OK ++ g1_mul_25.json OK ++ g1_mul_26.json OK ++ g1_mul_27.json OK ++ g1_mul_28.json OK ++ g1_mul_29.json OK ++ g1_mul_3.json OK ++ g1_mul_30.json OK ++ g1_mul_31.json OK ++ g1_mul_32.json OK ++ g1_mul_33.json OK ++ g1_mul_34.json OK ++ g1_mul_35.json OK ++ g1_mul_36.json OK ++ g1_mul_37.json OK ++ g1_mul_38.json OK ++ g1_mul_39.json OK ++ g1_mul_4.json OK ++ g1_mul_40.json OK ++ g1_mul_41.json OK ++ g1_mul_42.json OK ++ g1_mul_43.json OK ++ g1_mul_44.json OK ++ g1_mul_45.json OK ++ g1_mul_46.json OK ++ g1_mul_47.json OK ++ g1_mul_48.json OK ++ g1_mul_49.json OK ++ g1_mul_5.json OK ++ g1_mul_50.json OK ++ g1_mul_51.json OK ++ g1_mul_52.json OK ++ g1_mul_53.json OK ++ g1_mul_54.json OK ++ g1_mul_55.json OK ++ g1_mul_56.json OK ++ g1_mul_57.json OK ++ g1_mul_58.json OK ++ g1_mul_59.json OK ++ g1_mul_6.json OK ++ g1_mul_60.json OK ++ g1_mul_61.json OK ++ g1_mul_62.json OK ++ g1_mul_63.json OK ++ g1_mul_64.json OK ++ g1_mul_65.json OK ++ g1_mul_66.json OK ++ g1_mul_67.json OK ++ g1_mul_68.json OK ++ g1_mul_69.json OK ++ g1_mul_7.json OK ++ g1_mul_70.json OK ++ g1_mul_71.json OK ++ g1_mul_72.json OK ++ g1_mul_73.json OK ++ g1_mul_74.json OK ++ g1_mul_75.json OK ++ g1_mul_76.json OK ++ g1_mul_77.json OK ++ g1_mul_78.json OK ++ g1_mul_79.json OK ++ g1_mul_8.json OK ++ g1_mul_80.json OK ++ g1_mul_81.json OK ++ g1_mul_82.json OK ++ g1_mul_83.json OK ++ g1_mul_84.json OK ++ g1_mul_85.json OK ++ g1_mul_86.json OK ++ g1_mul_87.json OK ++ g1_mul_88.json OK ++ g1_mul_89.json OK ++ g1_mul_9.json OK ++ g1_mul_90.json OK ++ g1_mul_91.json OK ++ g1_mul_92.json OK ++ g1_mul_93.json OK ++ g1_mul_94.json OK ++ g1_mul_95.json OK ++ g1_mul_96.json OK ++ g1_mul_97.json OK ++ g1_mul_98.json OK ++ g1_mul_99.json OK ++ g1_multiexp_0.json OK ++ g1_multiexp_1.json OK ++ g1_multiexp_10.json OK ++ g1_multiexp_11.json OK ++ g1_multiexp_12.json OK ++ g1_multiexp_13.json OK ++ g1_multiexp_14.json OK ++ g1_multiexp_15.json OK ++ g1_multiexp_16.json OK ++ g1_multiexp_17.json OK ++ g1_multiexp_18.json OK ++ g1_multiexp_19.json OK ++ g1_multiexp_2.json OK ++ g1_multiexp_20.json OK ++ g1_multiexp_21.json OK ++ g1_multiexp_22.json OK ++ g1_multiexp_23.json OK ++ g1_multiexp_24.json OK ++ g1_multiexp_25.json OK ++ g1_multiexp_26.json OK ++ g1_multiexp_27.json OK ++ g1_multiexp_28.json OK ++ g1_multiexp_29.json OK ++ g1_multiexp_3.json OK ++ g1_multiexp_30.json OK ++ g1_multiexp_31.json OK ++ g1_multiexp_32.json OK ++ g1_multiexp_33.json OK ++ g1_multiexp_34.json OK ++ g1_multiexp_35.json OK ++ g1_multiexp_36.json OK ++ g1_multiexp_37.json OK ++ g1_multiexp_38.json OK ++ g1_multiexp_39.json OK ++ g1_multiexp_4.json OK ++ g1_multiexp_40.json OK ++ g1_multiexp_41.json OK ++ g1_multiexp_42.json OK ++ g1_multiexp_43.json OK ++ g1_multiexp_44.json OK ++ g1_multiexp_45.json OK ++ g1_multiexp_46.json OK ++ g1_multiexp_47.json OK ++ g1_multiexp_48.json OK ++ g1_multiexp_49.json OK ++ g1_multiexp_5.json OK ++ g1_multiexp_50.json OK ++ g1_multiexp_51.json OK ++ g1_multiexp_52.json OK ++ g1_multiexp_53.json OK ++ g1_multiexp_54.json OK ++ g1_multiexp_55.json OK ++ g1_multiexp_56.json OK ++ g1_multiexp_57.json OK ++ g1_multiexp_58.json OK ++ g1_multiexp_59.json OK ++ g1_multiexp_6.json OK ++ g1_multiexp_60.json OK ++ g1_multiexp_61.json OK ++ g1_multiexp_62.json OK ++ g1_multiexp_63.json OK ++ g1_multiexp_64.json OK ++ g1_multiexp_65.json OK ++ g1_multiexp_66.json OK ++ g1_multiexp_67.json OK ++ g1_multiexp_68.json OK ++ g1_multiexp_69.json OK ++ g1_multiexp_7.json OK ++ g1_multiexp_70.json OK ++ g1_multiexp_71.json OK ++ g1_multiexp_72.json OK ++ g1_multiexp_73.json OK ++ g1_multiexp_74.json OK ++ g1_multiexp_75.json OK ++ g1_multiexp_76.json OK ++ g1_multiexp_77.json OK ++ g1_multiexp_78.json OK ++ g1_multiexp_79.json OK ++ g1_multiexp_8.json OK ++ g1_multiexp_80.json OK ++ g1_multiexp_81.json OK ++ g1_multiexp_82.json OK ++ g1_multiexp_83.json OK ++ g1_multiexp_84.json OK ++ g1_multiexp_85.json OK ++ g1_multiexp_86.json OK ++ g1_multiexp_87.json OK ++ g1_multiexp_88.json OK ++ g1_multiexp_89.json OK ++ g1_multiexp_9.json OK ++ g1_multiexp_90.json OK ++ g1_multiexp_91.json OK ++ g1_multiexp_92.json OK ++ g1_multiexp_93.json OK ++ g1_multiexp_94.json OK ++ g1_multiexp_95.json OK ++ g1_multiexp_96.json OK ++ g1_multiexp_97.json OK ++ g1_multiexp_98.json OK ++ g1_multiexp_99.json OK ++ g1_not_on_curve_0.json OK ++ g1_not_on_curve_1.json OK ++ g1_not_on_curve_10.json OK ++ g1_not_on_curve_11.json OK ++ g1_not_on_curve_12.json OK ++ g1_not_on_curve_13.json OK ++ g1_not_on_curve_14.json OK ++ g1_not_on_curve_15.json OK ++ g1_not_on_curve_16.json OK ++ g1_not_on_curve_17.json OK ++ g1_not_on_curve_18.json OK ++ g1_not_on_curve_19.json OK ++ g1_not_on_curve_2.json OK ++ g1_not_on_curve_20.json OK ++ g1_not_on_curve_21.json OK ++ g1_not_on_curve_22.json OK ++ g1_not_on_curve_23.json OK ++ g1_not_on_curve_24.json OK ++ g1_not_on_curve_25.json OK ++ g1_not_on_curve_26.json OK ++ g1_not_on_curve_27.json OK ++ g1_not_on_curve_28.json OK ++ g1_not_on_curve_29.json OK ++ g1_not_on_curve_3.json OK ++ g1_not_on_curve_30.json OK ++ g1_not_on_curve_31.json OK ++ g1_not_on_curve_32.json OK ++ g1_not_on_curve_33.json OK ++ g1_not_on_curve_34.json OK ++ g1_not_on_curve_35.json OK ++ g1_not_on_curve_36.json OK ++ g1_not_on_curve_37.json OK ++ g1_not_on_curve_38.json OK ++ g1_not_on_curve_39.json OK ++ g1_not_on_curve_4.json OK ++ g1_not_on_curve_40.json OK ++ g1_not_on_curve_41.json OK ++ g1_not_on_curve_42.json OK ++ g1_not_on_curve_43.json OK ++ g1_not_on_curve_44.json OK ++ g1_not_on_curve_45.json OK ++ g1_not_on_curve_46.json OK ++ g1_not_on_curve_47.json OK ++ g1_not_on_curve_48.json OK ++ g1_not_on_curve_49.json OK ++ g1_not_on_curve_5.json OK ++ g1_not_on_curve_50.json OK ++ g1_not_on_curve_51.json OK ++ g1_not_on_curve_52.json OK ++ g1_not_on_curve_53.json OK ++ g1_not_on_curve_54.json OK ++ g1_not_on_curve_55.json OK ++ g1_not_on_curve_56.json OK ++ g1_not_on_curve_57.json OK ++ g1_not_on_curve_58.json OK ++ g1_not_on_curve_59.json OK ++ g1_not_on_curve_6.json OK ++ g1_not_on_curve_60.json OK ++ g1_not_on_curve_61.json OK ++ g1_not_on_curve_62.json OK ++ g1_not_on_curve_63.json OK ++ g1_not_on_curve_64.json OK ++ g1_not_on_curve_65.json OK ++ g1_not_on_curve_66.json OK ++ g1_not_on_curve_67.json OK ++ g1_not_on_curve_68.json OK ++ g1_not_on_curve_69.json OK ++ g1_not_on_curve_7.json OK ++ g1_not_on_curve_70.json OK ++ g1_not_on_curve_71.json OK ++ g1_not_on_curve_72.json OK ++ g1_not_on_curve_73.json OK ++ g1_not_on_curve_74.json OK ++ g1_not_on_curve_75.json OK ++ g1_not_on_curve_76.json OK ++ g1_not_on_curve_77.json OK ++ g1_not_on_curve_78.json OK ++ g1_not_on_curve_79.json OK ++ g1_not_on_curve_8.json OK ++ g1_not_on_curve_80.json OK ++ g1_not_on_curve_81.json OK ++ g1_not_on_curve_82.json OK ++ g1_not_on_curve_83.json OK ++ g1_not_on_curve_84.json OK ++ g1_not_on_curve_85.json OK ++ g1_not_on_curve_86.json OK ++ g1_not_on_curve_87.json OK ++ g1_not_on_curve_88.json OK ++ g1_not_on_curve_89.json OK ++ g1_not_on_curve_9.json OK ++ g1_not_on_curve_90.json OK ++ g1_not_on_curve_91.json OK ++ g1_not_on_curve_92.json OK ++ g1_not_on_curve_93.json OK ++ g1_not_on_curve_94.json OK ++ g1_not_on_curve_95.json OK ++ g1_not_on_curve_96.json OK ++ g1_not_on_curve_97.json OK ++ g1_not_on_curve_98.json OK ++ g1_not_on_curve_99.json OK ++ g2_add_0.json OK ++ g2_add_1.json OK ++ g2_add_10.json OK ++ g2_add_11.json OK ++ g2_add_12.json OK ++ g2_add_13.json OK ++ g2_add_14.json OK ++ g2_add_15.json OK ++ g2_add_16.json OK ++ g2_add_17.json OK ++ g2_add_18.json OK ++ g2_add_19.json OK ++ g2_add_2.json OK ++ g2_add_20.json OK ++ g2_add_21.json OK ++ g2_add_22.json OK ++ g2_add_23.json OK ++ g2_add_24.json OK ++ g2_add_25.json OK ++ g2_add_26.json OK ++ g2_add_27.json OK ++ g2_add_28.json OK ++ g2_add_29.json OK ++ g2_add_3.json OK ++ g2_add_30.json OK ++ g2_add_31.json OK ++ g2_add_32.json OK ++ g2_add_33.json OK ++ g2_add_34.json OK ++ g2_add_35.json OK ++ g2_add_36.json OK ++ g2_add_37.json OK ++ g2_add_38.json OK ++ g2_add_39.json OK ++ g2_add_4.json OK ++ g2_add_40.json OK ++ g2_add_41.json OK ++ g2_add_42.json OK ++ g2_add_43.json OK ++ g2_add_44.json OK ++ g2_add_45.json OK ++ g2_add_46.json OK ++ g2_add_47.json OK ++ g2_add_48.json OK ++ g2_add_49.json OK ++ g2_add_5.json OK ++ g2_add_50.json OK ++ g2_add_51.json OK ++ g2_add_52.json OK ++ g2_add_53.json OK ++ g2_add_54.json OK ++ g2_add_55.json OK ++ g2_add_56.json OK ++ g2_add_57.json OK ++ g2_add_58.json OK ++ g2_add_59.json OK ++ g2_add_6.json OK ++ g2_add_60.json OK ++ g2_add_61.json OK ++ g2_add_62.json OK ++ g2_add_63.json OK ++ g2_add_64.json OK ++ g2_add_65.json OK ++ g2_add_66.json OK ++ g2_add_67.json OK ++ g2_add_68.json OK ++ g2_add_69.json OK ++ g2_add_7.json OK ++ g2_add_70.json OK ++ g2_add_71.json OK ++ g2_add_72.json OK ++ g2_add_73.json OK ++ g2_add_74.json OK ++ g2_add_75.json OK ++ g2_add_76.json OK ++ g2_add_77.json OK ++ g2_add_78.json OK ++ g2_add_79.json OK ++ g2_add_8.json OK ++ g2_add_80.json OK ++ g2_add_81.json OK ++ g2_add_82.json OK ++ g2_add_83.json OK ++ g2_add_84.json OK ++ g2_add_85.json OK ++ g2_add_86.json OK ++ g2_add_87.json OK ++ g2_add_88.json OK ++ g2_add_89.json OK ++ g2_add_9.json OK ++ g2_add_90.json OK ++ g2_add_91.json OK ++ g2_add_92.json OK ++ g2_add_93.json OK ++ g2_add_94.json OK ++ g2_add_95.json OK ++ g2_add_96.json OK ++ g2_add_97.json OK ++ g2_add_98.json OK ++ g2_add_99.json OK ++ g2_mul_0.json OK ++ g2_mul_1.json OK ++ g2_mul_10.json OK ++ g2_mul_11.json OK ++ g2_mul_12.json OK ++ g2_mul_13.json OK ++ g2_mul_14.json OK ++ g2_mul_15.json OK ++ g2_mul_16.json OK ++ g2_mul_17.json OK ++ g2_mul_18.json OK ++ g2_mul_19.json OK ++ g2_mul_2.json OK ++ g2_mul_20.json OK ++ g2_mul_21.json OK ++ g2_mul_22.json OK ++ g2_mul_23.json OK ++ g2_mul_24.json OK ++ g2_mul_25.json OK ++ g2_mul_26.json OK ++ g2_mul_27.json OK ++ g2_mul_28.json OK ++ g2_mul_29.json OK ++ g2_mul_3.json OK ++ g2_mul_30.json OK ++ g2_mul_31.json OK ++ g2_mul_32.json OK ++ g2_mul_33.json OK ++ g2_mul_34.json OK ++ g2_mul_35.json OK ++ g2_mul_36.json OK ++ g2_mul_37.json OK ++ g2_mul_38.json OK ++ g2_mul_39.json OK ++ g2_mul_4.json OK ++ g2_mul_40.json OK ++ g2_mul_41.json OK ++ g2_mul_42.json OK ++ g2_mul_43.json OK ++ g2_mul_44.json OK ++ g2_mul_45.json OK ++ g2_mul_46.json OK ++ g2_mul_47.json OK ++ g2_mul_48.json OK ++ g2_mul_49.json OK ++ g2_mul_5.json OK ++ g2_mul_50.json OK ++ g2_mul_51.json OK ++ g2_mul_52.json OK ++ g2_mul_53.json OK ++ g2_mul_54.json OK ++ g2_mul_55.json OK ++ g2_mul_56.json OK ++ g2_mul_57.json OK ++ g2_mul_58.json OK ++ g2_mul_59.json OK ++ g2_mul_6.json OK ++ g2_mul_60.json OK ++ g2_mul_61.json OK ++ g2_mul_62.json OK ++ g2_mul_63.json OK ++ g2_mul_64.json OK ++ g2_mul_65.json OK ++ g2_mul_66.json OK ++ g2_mul_67.json OK ++ g2_mul_68.json OK ++ g2_mul_69.json OK ++ g2_mul_7.json OK ++ g2_mul_70.json OK ++ g2_mul_71.json OK ++ g2_mul_72.json OK ++ g2_mul_73.json OK ++ g2_mul_74.json OK ++ g2_mul_75.json OK ++ g2_mul_76.json OK ++ g2_mul_77.json OK ++ g2_mul_78.json OK ++ g2_mul_79.json OK ++ g2_mul_8.json OK ++ g2_mul_80.json OK ++ g2_mul_81.json OK ++ g2_mul_82.json OK ++ g2_mul_83.json OK ++ g2_mul_84.json OK ++ g2_mul_85.json OK ++ g2_mul_86.json OK ++ g2_mul_87.json OK ++ g2_mul_88.json OK ++ g2_mul_89.json OK ++ g2_mul_9.json OK ++ g2_mul_90.json OK ++ g2_mul_91.json OK ++ g2_mul_92.json OK ++ g2_mul_93.json OK ++ g2_mul_94.json OK ++ g2_mul_95.json OK ++ g2_mul_96.json OK ++ g2_mul_97.json OK ++ g2_mul_98.json OK ++ g2_mul_99.json OK ++ g2_multiexp_0.json OK ++ g2_multiexp_1.json OK ++ g2_multiexp_10.json OK ++ g2_multiexp_11.json OK ++ g2_multiexp_12.json OK ++ g2_multiexp_13.json OK ++ g2_multiexp_14.json OK ++ g2_multiexp_15.json OK ++ g2_multiexp_16.json OK ++ g2_multiexp_17.json OK ++ g2_multiexp_18.json OK ++ g2_multiexp_19.json OK ++ g2_multiexp_2.json OK ++ g2_multiexp_20.json OK ++ g2_multiexp_21.json OK ++ g2_multiexp_22.json OK ++ g2_multiexp_23.json OK ++ g2_multiexp_24.json OK ++ g2_multiexp_25.json OK ++ g2_multiexp_26.json OK ++ g2_multiexp_27.json OK ++ g2_multiexp_28.json OK ++ g2_multiexp_29.json OK ++ g2_multiexp_3.json OK ++ g2_multiexp_30.json OK ++ g2_multiexp_31.json OK ++ g2_multiexp_32.json OK ++ g2_multiexp_33.json OK ++ g2_multiexp_34.json OK ++ g2_multiexp_35.json OK ++ g2_multiexp_36.json OK ++ g2_multiexp_37.json OK ++ g2_multiexp_38.json OK ++ g2_multiexp_39.json OK ++ g2_multiexp_4.json OK ++ g2_multiexp_40.json OK ++ g2_multiexp_41.json OK ++ g2_multiexp_42.json OK ++ g2_multiexp_43.json OK ++ g2_multiexp_44.json OK ++ g2_multiexp_45.json OK ++ g2_multiexp_46.json OK ++ g2_multiexp_47.json OK ++ g2_multiexp_48.json OK ++ g2_multiexp_49.json OK ++ g2_multiexp_5.json OK ++ g2_multiexp_50.json OK ++ g2_multiexp_51.json OK ++ g2_multiexp_52.json OK ++ g2_multiexp_53.json OK ++ g2_multiexp_54.json OK ++ g2_multiexp_55.json OK ++ g2_multiexp_56.json OK ++ g2_multiexp_57.json OK ++ g2_multiexp_58.json OK ++ g2_multiexp_59.json OK ++ g2_multiexp_6.json OK ++ g2_multiexp_60.json OK ++ g2_multiexp_61.json OK ++ g2_multiexp_62.json OK ++ g2_multiexp_63.json OK ++ g2_multiexp_64.json OK ++ g2_multiexp_65.json OK ++ g2_multiexp_66.json OK ++ g2_multiexp_67.json OK ++ g2_multiexp_68.json OK ++ g2_multiexp_69.json OK ++ g2_multiexp_7.json OK ++ g2_multiexp_70.json OK ++ g2_multiexp_71.json OK ++ g2_multiexp_72.json OK ++ g2_multiexp_73.json OK ++ g2_multiexp_74.json OK ++ g2_multiexp_75.json OK ++ g2_multiexp_76.json OK ++ g2_multiexp_77.json OK ++ g2_multiexp_78.json OK ++ g2_multiexp_79.json OK ++ g2_multiexp_8.json OK ++ g2_multiexp_80.json OK ++ g2_multiexp_81.json OK ++ g2_multiexp_82.json OK ++ g2_multiexp_83.json OK ++ g2_multiexp_84.json OK ++ g2_multiexp_85.json OK ++ g2_multiexp_86.json OK ++ g2_multiexp_87.json OK ++ g2_multiexp_88.json OK ++ g2_multiexp_89.json OK ++ g2_multiexp_9.json OK ++ g2_multiexp_90.json OK ++ g2_multiexp_91.json OK ++ g2_multiexp_92.json OK ++ g2_multiexp_93.json OK ++ g2_multiexp_94.json OK ++ g2_multiexp_95.json OK ++ g2_multiexp_96.json OK ++ g2_multiexp_97.json OK ++ g2_multiexp_98.json OK ++ g2_multiexp_99.json OK ++ g2_not_on_curve_0.json OK ++ g2_not_on_curve_1.json OK ++ g2_not_on_curve_10.json OK ++ g2_not_on_curve_11.json OK ++ g2_not_on_curve_12.json OK ++ g2_not_on_curve_13.json OK ++ g2_not_on_curve_14.json OK ++ g2_not_on_curve_15.json OK ++ g2_not_on_curve_16.json OK ++ g2_not_on_curve_17.json OK ++ g2_not_on_curve_18.json OK ++ g2_not_on_curve_19.json OK ++ g2_not_on_curve_2.json OK ++ g2_not_on_curve_20.json OK ++ g2_not_on_curve_21.json OK ++ g2_not_on_curve_22.json OK ++ g2_not_on_curve_23.json OK ++ g2_not_on_curve_24.json OK ++ g2_not_on_curve_25.json OK ++ g2_not_on_curve_26.json OK ++ g2_not_on_curve_27.json OK ++ g2_not_on_curve_28.json OK ++ g2_not_on_curve_29.json OK ++ g2_not_on_curve_3.json OK ++ g2_not_on_curve_30.json OK ++ g2_not_on_curve_31.json OK ++ g2_not_on_curve_32.json OK ++ g2_not_on_curve_33.json OK ++ g2_not_on_curve_34.json OK ++ g2_not_on_curve_35.json OK ++ g2_not_on_curve_36.json OK ++ g2_not_on_curve_37.json OK ++ g2_not_on_curve_38.json OK ++ g2_not_on_curve_39.json OK ++ g2_not_on_curve_4.json OK ++ g2_not_on_curve_40.json OK ++ g2_not_on_curve_41.json OK ++ g2_not_on_curve_42.json OK ++ g2_not_on_curve_43.json OK ++ g2_not_on_curve_44.json OK ++ g2_not_on_curve_45.json OK ++ g2_not_on_curve_46.json OK ++ g2_not_on_curve_47.json OK ++ g2_not_on_curve_48.json OK ++ g2_not_on_curve_49.json OK ++ g2_not_on_curve_5.json OK ++ g2_not_on_curve_50.json OK ++ g2_not_on_curve_51.json OK ++ g2_not_on_curve_52.json OK ++ g2_not_on_curve_53.json OK ++ g2_not_on_curve_54.json OK ++ g2_not_on_curve_55.json OK ++ g2_not_on_curve_56.json OK ++ g2_not_on_curve_57.json OK ++ g2_not_on_curve_58.json OK ++ g2_not_on_curve_59.json OK ++ g2_not_on_curve_6.json OK ++ g2_not_on_curve_60.json OK ++ g2_not_on_curve_61.json OK ++ g2_not_on_curve_62.json OK ++ g2_not_on_curve_63.json OK ++ g2_not_on_curve_64.json OK ++ g2_not_on_curve_65.json OK ++ g2_not_on_curve_66.json OK ++ g2_not_on_curve_67.json OK ++ g2_not_on_curve_68.json OK ++ g2_not_on_curve_69.json OK ++ g2_not_on_curve_7.json OK ++ g2_not_on_curve_70.json OK ++ g2_not_on_curve_71.json OK ++ g2_not_on_curve_72.json OK ++ g2_not_on_curve_73.json OK ++ g2_not_on_curve_74.json OK ++ g2_not_on_curve_75.json OK ++ g2_not_on_curve_76.json OK ++ g2_not_on_curve_77.json OK ++ g2_not_on_curve_78.json OK ++ g2_not_on_curve_79.json OK ++ g2_not_on_curve_8.json OK ++ g2_not_on_curve_80.json OK ++ g2_not_on_curve_81.json OK ++ g2_not_on_curve_82.json OK ++ g2_not_on_curve_83.json OK ++ g2_not_on_curve_84.json OK ++ g2_not_on_curve_85.json OK ++ g2_not_on_curve_86.json OK ++ g2_not_on_curve_87.json OK ++ g2_not_on_curve_88.json OK ++ g2_not_on_curve_89.json OK ++ g2_not_on_curve_9.json OK ++ g2_not_on_curve_90.json OK ++ g2_not_on_curve_91.json OK ++ g2_not_on_curve_92.json OK ++ g2_not_on_curve_93.json OK ++ g2_not_on_curve_94.json OK ++ g2_not_on_curve_95.json OK ++ g2_not_on_curve_96.json OK ++ g2_not_on_curve_97.json OK ++ g2_not_on_curve_98.json OK ++ g2_not_on_curve_99.json OK ++ invalid_fp2_encoding_0.json OK ++ invalid_fp2_encoding_1.json OK ++ invalid_fp2_encoding_10.json OK ++ invalid_fp2_encoding_11.json OK ++ invalid_fp2_encoding_12.json OK ++ invalid_fp2_encoding_13.json OK ++ invalid_fp2_encoding_14.json OK ++ invalid_fp2_encoding_15.json OK ++ invalid_fp2_encoding_16.json OK ++ invalid_fp2_encoding_17.json OK ++ invalid_fp2_encoding_18.json OK ++ invalid_fp2_encoding_19.json OK ++ invalid_fp2_encoding_2.json OK ++ invalid_fp2_encoding_20.json OK ++ invalid_fp2_encoding_21.json OK ++ invalid_fp2_encoding_22.json OK ++ invalid_fp2_encoding_23.json OK ++ invalid_fp2_encoding_24.json OK ++ invalid_fp2_encoding_25.json OK ++ invalid_fp2_encoding_26.json OK ++ invalid_fp2_encoding_27.json OK ++ invalid_fp2_encoding_28.json OK ++ invalid_fp2_encoding_29.json OK ++ invalid_fp2_encoding_3.json OK ++ invalid_fp2_encoding_30.json OK ++ invalid_fp2_encoding_31.json OK ++ invalid_fp2_encoding_32.json OK ++ invalid_fp2_encoding_33.json OK ++ invalid_fp2_encoding_34.json OK ++ invalid_fp2_encoding_35.json OK ++ invalid_fp2_encoding_36.json OK ++ invalid_fp2_encoding_37.json OK ++ invalid_fp2_encoding_38.json OK ++ invalid_fp2_encoding_39.json OK ++ invalid_fp2_encoding_4.json OK ++ invalid_fp2_encoding_40.json OK ++ invalid_fp2_encoding_41.json OK ++ invalid_fp2_encoding_42.json OK ++ invalid_fp2_encoding_43.json OK ++ invalid_fp2_encoding_44.json OK ++ invalid_fp2_encoding_45.json OK ++ invalid_fp2_encoding_46.json OK ++ invalid_fp2_encoding_47.json OK ++ invalid_fp2_encoding_48.json OK ++ invalid_fp2_encoding_49.json OK ++ invalid_fp2_encoding_5.json OK ++ invalid_fp2_encoding_50.json OK ++ invalid_fp2_encoding_51.json OK ++ invalid_fp2_encoding_52.json OK ++ invalid_fp2_encoding_53.json OK ++ invalid_fp2_encoding_54.json OK ++ invalid_fp2_encoding_55.json OK ++ invalid_fp2_encoding_56.json OK ++ invalid_fp2_encoding_57.json OK ++ invalid_fp2_encoding_58.json OK ++ invalid_fp2_encoding_59.json OK ++ invalid_fp2_encoding_6.json OK ++ invalid_fp2_encoding_60.json OK ++ invalid_fp2_encoding_61.json OK ++ invalid_fp2_encoding_62.json OK ++ invalid_fp2_encoding_63.json OK ++ invalid_fp2_encoding_64.json OK ++ invalid_fp2_encoding_65.json OK ++ invalid_fp2_encoding_66.json OK ++ invalid_fp2_encoding_67.json OK ++ invalid_fp2_encoding_68.json OK ++ invalid_fp2_encoding_69.json OK ++ invalid_fp2_encoding_7.json OK ++ invalid_fp2_encoding_70.json OK ++ invalid_fp2_encoding_71.json OK ++ invalid_fp2_encoding_72.json OK ++ invalid_fp2_encoding_73.json OK ++ invalid_fp2_encoding_74.json OK ++ invalid_fp2_encoding_75.json OK ++ invalid_fp2_encoding_76.json OK ++ invalid_fp2_encoding_77.json OK ++ invalid_fp2_encoding_78.json OK ++ invalid_fp2_encoding_79.json OK ++ invalid_fp2_encoding_8.json OK ++ invalid_fp2_encoding_80.json OK ++ invalid_fp2_encoding_81.json OK ++ invalid_fp2_encoding_82.json OK ++ invalid_fp2_encoding_83.json OK ++ invalid_fp2_encoding_84.json OK ++ invalid_fp2_encoding_85.json OK ++ invalid_fp2_encoding_86.json OK ++ invalid_fp2_encoding_87.json OK ++ invalid_fp2_encoding_88.json OK ++ invalid_fp2_encoding_89.json OK ++ invalid_fp2_encoding_9.json OK ++ invalid_fp2_encoding_90.json OK ++ invalid_fp2_encoding_91.json OK ++ invalid_fp2_encoding_92.json OK ++ invalid_fp2_encoding_93.json OK ++ invalid_fp2_encoding_94.json OK ++ invalid_fp2_encoding_95.json OK ++ invalid_fp2_encoding_96.json OK ++ invalid_fp2_encoding_97.json OK ++ invalid_fp2_encoding_98.json OK ++ invalid_fp2_encoding_99.json OK ++ invalid_fp_encoding_0.json OK ++ invalid_fp_encoding_1.json OK ++ invalid_fp_encoding_10.json OK ++ invalid_fp_encoding_11.json OK ++ invalid_fp_encoding_12.json OK ++ invalid_fp_encoding_13.json OK ++ invalid_fp_encoding_14.json OK ++ invalid_fp_encoding_15.json OK ++ invalid_fp_encoding_16.json OK ++ invalid_fp_encoding_17.json OK ++ invalid_fp_encoding_18.json OK ++ invalid_fp_encoding_19.json OK ++ invalid_fp_encoding_2.json OK ++ invalid_fp_encoding_20.json OK ++ invalid_fp_encoding_21.json OK ++ invalid_fp_encoding_22.json OK ++ invalid_fp_encoding_23.json OK ++ invalid_fp_encoding_24.json OK ++ invalid_fp_encoding_25.json OK ++ invalid_fp_encoding_26.json OK ++ invalid_fp_encoding_27.json OK ++ invalid_fp_encoding_28.json OK ++ invalid_fp_encoding_29.json OK ++ invalid_fp_encoding_3.json OK ++ invalid_fp_encoding_30.json OK ++ invalid_fp_encoding_31.json OK ++ invalid_fp_encoding_32.json OK ++ invalid_fp_encoding_33.json OK ++ invalid_fp_encoding_34.json OK ++ invalid_fp_encoding_35.json OK ++ invalid_fp_encoding_36.json OK ++ invalid_fp_encoding_37.json OK ++ invalid_fp_encoding_38.json OK ++ invalid_fp_encoding_39.json OK ++ invalid_fp_encoding_4.json OK ++ invalid_fp_encoding_40.json OK ++ invalid_fp_encoding_41.json OK ++ invalid_fp_encoding_42.json OK ++ invalid_fp_encoding_43.json OK ++ invalid_fp_encoding_44.json OK ++ invalid_fp_encoding_45.json OK ++ invalid_fp_encoding_46.json OK ++ invalid_fp_encoding_47.json OK ++ invalid_fp_encoding_48.json OK ++ invalid_fp_encoding_49.json OK ++ invalid_fp_encoding_5.json OK ++ invalid_fp_encoding_50.json OK ++ invalid_fp_encoding_51.json OK ++ invalid_fp_encoding_52.json OK ++ invalid_fp_encoding_53.json OK ++ invalid_fp_encoding_54.json OK ++ invalid_fp_encoding_55.json OK ++ invalid_fp_encoding_56.json OK ++ invalid_fp_encoding_57.json OK ++ invalid_fp_encoding_58.json OK ++ invalid_fp_encoding_59.json OK ++ invalid_fp_encoding_6.json OK ++ invalid_fp_encoding_60.json OK ++ invalid_fp_encoding_61.json OK ++ invalid_fp_encoding_62.json OK ++ invalid_fp_encoding_63.json OK ++ invalid_fp_encoding_64.json OK ++ invalid_fp_encoding_65.json OK ++ invalid_fp_encoding_66.json OK ++ invalid_fp_encoding_67.json OK ++ invalid_fp_encoding_68.json OK ++ invalid_fp_encoding_69.json OK ++ invalid_fp_encoding_7.json OK ++ invalid_fp_encoding_70.json OK ++ invalid_fp_encoding_71.json OK ++ invalid_fp_encoding_72.json OK ++ invalid_fp_encoding_73.json OK ++ invalid_fp_encoding_74.json OK ++ invalid_fp_encoding_75.json OK ++ invalid_fp_encoding_76.json OK ++ invalid_fp_encoding_77.json OK ++ invalid_fp_encoding_78.json OK ++ invalid_fp_encoding_79.json OK ++ invalid_fp_encoding_8.json OK ++ invalid_fp_encoding_80.json OK ++ invalid_fp_encoding_81.json OK ++ invalid_fp_encoding_82.json OK ++ invalid_fp_encoding_83.json OK ++ invalid_fp_encoding_84.json OK ++ invalid_fp_encoding_85.json OK ++ invalid_fp_encoding_86.json OK ++ invalid_fp_encoding_87.json OK ++ invalid_fp_encoding_88.json OK ++ invalid_fp_encoding_89.json OK ++ invalid_fp_encoding_9.json OK ++ invalid_fp_encoding_90.json OK ++ invalid_fp_encoding_91.json OK ++ invalid_fp_encoding_92.json OK ++ invalid_fp_encoding_93.json OK ++ invalid_fp_encoding_94.json OK ++ invalid_fp_encoding_95.json OK ++ invalid_fp_encoding_96.json OK ++ invalid_fp_encoding_97.json OK ++ invalid_fp_encoding_98.json OK ++ invalid_fp_encoding_99.json OK ++ invalid_subgroup_for_pairing_0.json OK ++ invalid_subgroup_for_pairing_1.json OK ++ invalid_subgroup_for_pairing_10.json OK ++ invalid_subgroup_for_pairing_11.json OK ++ invalid_subgroup_for_pairing_12.json OK ++ invalid_subgroup_for_pairing_13.json OK ++ invalid_subgroup_for_pairing_14.json OK ++ invalid_subgroup_for_pairing_15.json OK ++ invalid_subgroup_for_pairing_16.json OK ++ invalid_subgroup_for_pairing_17.json OK ++ invalid_subgroup_for_pairing_18.json OK ++ invalid_subgroup_for_pairing_19.json OK ++ invalid_subgroup_for_pairing_2.json OK ++ invalid_subgroup_for_pairing_20.json OK ++ invalid_subgroup_for_pairing_21.json OK ++ invalid_subgroup_for_pairing_22.json OK ++ invalid_subgroup_for_pairing_23.json OK ++ invalid_subgroup_for_pairing_24.json OK ++ invalid_subgroup_for_pairing_25.json OK ++ invalid_subgroup_for_pairing_26.json OK ++ invalid_subgroup_for_pairing_27.json OK ++ invalid_subgroup_for_pairing_28.json OK ++ invalid_subgroup_for_pairing_29.json OK ++ invalid_subgroup_for_pairing_3.json OK ++ invalid_subgroup_for_pairing_30.json OK ++ invalid_subgroup_for_pairing_31.json OK ++ invalid_subgroup_for_pairing_32.json OK ++ invalid_subgroup_for_pairing_33.json OK ++ invalid_subgroup_for_pairing_34.json OK ++ invalid_subgroup_for_pairing_35.json OK ++ invalid_subgroup_for_pairing_36.json OK ++ invalid_subgroup_for_pairing_37.json OK ++ invalid_subgroup_for_pairing_38.json OK ++ invalid_subgroup_for_pairing_39.json OK ++ invalid_subgroup_for_pairing_4.json OK ++ invalid_subgroup_for_pairing_40.json OK ++ invalid_subgroup_for_pairing_41.json OK ++ invalid_subgroup_for_pairing_42.json OK ++ invalid_subgroup_for_pairing_43.json OK ++ invalid_subgroup_for_pairing_44.json OK ++ invalid_subgroup_for_pairing_45.json OK ++ invalid_subgroup_for_pairing_46.json OK ++ invalid_subgroup_for_pairing_47.json OK ++ invalid_subgroup_for_pairing_48.json OK ++ invalid_subgroup_for_pairing_49.json OK ++ invalid_subgroup_for_pairing_5.json OK ++ invalid_subgroup_for_pairing_50.json OK ++ invalid_subgroup_for_pairing_51.json OK ++ invalid_subgroup_for_pairing_52.json OK ++ invalid_subgroup_for_pairing_53.json OK ++ invalid_subgroup_for_pairing_54.json OK ++ invalid_subgroup_for_pairing_55.json OK ++ invalid_subgroup_for_pairing_56.json OK ++ invalid_subgroup_for_pairing_57.json OK ++ invalid_subgroup_for_pairing_58.json OK ++ invalid_subgroup_for_pairing_59.json OK ++ invalid_subgroup_for_pairing_6.json OK ++ invalid_subgroup_for_pairing_60.json OK ++ invalid_subgroup_for_pairing_61.json OK ++ invalid_subgroup_for_pairing_62.json OK ++ invalid_subgroup_for_pairing_63.json OK ++ invalid_subgroup_for_pairing_64.json OK ++ invalid_subgroup_for_pairing_65.json OK ++ invalid_subgroup_for_pairing_66.json OK ++ invalid_subgroup_for_pairing_67.json OK ++ invalid_subgroup_for_pairing_68.json OK ++ invalid_subgroup_for_pairing_69.json OK ++ invalid_subgroup_for_pairing_7.json OK ++ invalid_subgroup_for_pairing_70.json OK ++ invalid_subgroup_for_pairing_71.json OK ++ invalid_subgroup_for_pairing_72.json OK ++ invalid_subgroup_for_pairing_73.json OK ++ invalid_subgroup_for_pairing_74.json OK ++ invalid_subgroup_for_pairing_75.json OK ++ invalid_subgroup_for_pairing_76.json OK ++ invalid_subgroup_for_pairing_77.json OK ++ invalid_subgroup_for_pairing_78.json OK ++ invalid_subgroup_for_pairing_79.json OK ++ invalid_subgroup_for_pairing_8.json OK ++ invalid_subgroup_for_pairing_80.json OK ++ invalid_subgroup_for_pairing_81.json OK ++ invalid_subgroup_for_pairing_82.json OK ++ invalid_subgroup_for_pairing_83.json OK ++ invalid_subgroup_for_pairing_84.json OK ++ invalid_subgroup_for_pairing_85.json OK ++ invalid_subgroup_for_pairing_86.json OK ++ invalid_subgroup_for_pairing_87.json OK ++ invalid_subgroup_for_pairing_88.json OK ++ invalid_subgroup_for_pairing_89.json OK ++ invalid_subgroup_for_pairing_9.json OK ++ invalid_subgroup_for_pairing_90.json OK ++ invalid_subgroup_for_pairing_91.json OK ++ invalid_subgroup_for_pairing_92.json OK ++ invalid_subgroup_for_pairing_93.json OK ++ invalid_subgroup_for_pairing_94.json OK ++ invalid_subgroup_for_pairing_95.json OK ++ invalid_subgroup_for_pairing_96.json OK ++ invalid_subgroup_for_pairing_97.json OK ++ invalid_subgroup_for_pairing_98.json OK ++ invalid_subgroup_for_pairing_99.json OK ++ pairing_0.json OK ++ pairing_1.json OK ++ pairing_10.json OK ++ pairing_11.json OK ++ pairing_12.json OK ++ pairing_13.json OK ++ pairing_14.json OK ++ pairing_15.json OK ++ pairing_16.json OK ++ pairing_17.json OK ++ pairing_18.json OK ++ pairing_19.json OK ++ pairing_2.json OK ++ pairing_20.json OK ++ pairing_21.json OK ++ pairing_22.json OK ++ pairing_23.json OK ++ pairing_24.json OK ++ pairing_25.json OK ++ pairing_26.json OK ++ pairing_27.json OK ++ pairing_28.json OK ++ pairing_29.json OK ++ pairing_3.json OK ++ pairing_30.json OK ++ pairing_31.json OK ++ pairing_32.json OK ++ pairing_33.json OK ++ pairing_34.json OK ++ pairing_35.json OK ++ pairing_36.json OK ++ pairing_37.json OK ++ pairing_38.json OK ++ pairing_39.json OK ++ pairing_4.json OK ++ pairing_40.json OK ++ pairing_41.json OK ++ pairing_42.json OK ++ pairing_43.json OK ++ pairing_44.json OK ++ pairing_45.json OK ++ pairing_46.json OK ++ pairing_47.json OK ++ pairing_48.json OK ++ pairing_49.json OK ++ pairing_5.json OK ++ pairing_50.json OK ++ pairing_51.json OK ++ pairing_52.json OK ++ pairing_53.json OK ++ pairing_54.json OK ++ pairing_55.json OK ++ pairing_56.json OK ++ pairing_57.json OK ++ pairing_58.json OK ++ pairing_59.json OK ++ pairing_6.json OK ++ pairing_60.json OK ++ pairing_61.json OK ++ pairing_62.json OK ++ pairing_63.json OK ++ pairing_64.json OK ++ pairing_65.json OK ++ pairing_66.json OK ++ pairing_67.json OK ++ pairing_68.json OK ++ pairing_69.json OK ++ pairing_7.json OK ++ pairing_70.json OK ++ pairing_71.json OK ++ pairing_72.json OK ++ pairing_73.json OK ++ pairing_74.json OK ++ pairing_75.json OK ++ pairing_76.json OK ++ pairing_77.json OK ++ pairing_78.json OK ++ pairing_79.json OK ++ pairing_8.json OK ++ pairing_80.json OK ++ pairing_81.json OK ++ pairing_82.json OK ++ pairing_83.json OK ++ pairing_84.json OK ++ pairing_85.json OK ++ pairing_86.json OK ++ pairing_87.json OK ++ pairing_88.json OK ++ pairing_89.json OK ++ pairing_9.json OK ++ pairing_90.json OK ++ pairing_91.json OK ++ pairing_92.json OK ++ pairing_93.json OK ++ pairing_94.json OK ++ pairing_95.json OK +``` +OK: 1403/1403 Fail: 0/1403 Skip: 0/1403 ## stExample ```diff + add11.json OK @@ -1850,6 +3257,9 @@ OK: 13/13 Fail: 0/13 Skip: 0/13 OK: 9/9 Fail: 0/9 Skip: 0/9 ## stStaticCall ```diff ++ StaticcallToPrecompileFromCalledContract.json OK ++ StaticcallToPrecompileFromContractInitialization.json OK ++ StaticcallToPrecompileFromTransaction.json OK + static_ABAcalls0.json OK + static_ABAcalls1.json OK + static_ABAcalls2.json OK @@ -2134,7 +3544,24 @@ OK: 9/9 Fail: 0/9 Skip: 0/9 + static_refund_CallToSuicideNoStorage.json OK + static_refund_CallToSuicideTwice.json OK ``` -OK: 283/283 Fail: 0/283 Skip: 0/283 +OK: 286/286 Fail: 0/286 Skip: 0/286 +## stStaticFlagEnabled +```diff ++ CallWithNOTZeroValueToPrecompileFromCalledContract.json OK ++ CallWithNOTZeroValueToPrecompileFromContractInitialization.json OK ++ CallWithNOTZeroValueToPrecompileFromTransaction.json OK ++ CallWithZeroValueToPrecompileFromCalledContract.json OK ++ CallWithZeroValueToPrecompileFromContractInitialization.json OK ++ CallWithZeroValueToPrecompileFromTransaction.json OK ++ CallcodeToPrecompileFromCalledContract.json OK ++ CallcodeToPrecompileFromContractInitialization.json OK ++ CallcodeToPrecompileFromTransaction.json OK ++ DelegatecallToPrecompileFromCalledContract.json OK ++ DelegatecallToPrecompileFromContractInitialization.json OK ++ DelegatecallToPrecompileFromTransaction.json OK ++ StaticcallForPrecompilesIssue683.json OK +``` +OK: 13/13 Fail: 0/13 Skip: 0/13 ## stSubroutine ```diff + beginSubAtEndOfCode.json OK @@ -2224,14 +3651,20 @@ OK: 66/66 Fail: 0/66 Skip: 0/66 ```diff + CALLBlake2f_MaxRounds.json OK + sstore_combinations_initial00.json OK ++ sstore_combinations_initial00_2.json OK + sstore_combinations_initial01.json OK ++ sstore_combinations_initial01_2.json OK + sstore_combinations_initial10.json OK ++ sstore_combinations_initial10_2.json OK + sstore_combinations_initial11.json OK ++ sstore_combinations_initial11_2.json OK + sstore_combinations_initial20.json OK ++ sstore_combinations_initial20_2.json OK + sstore_combinations_initial21.json OK ++ sstore_combinations_initial21_2.json OK + static_Call50000_sha256.json OK ``` -OK: 8/8 Fail: 0/8 Skip: 0/8 +OK: 14/14 Fail: 0/14 Skip: 0/14 ## stTransactionTest ```diff + ContractStoreClearsOOG.json OK @@ -2641,4 +4074,4 @@ OK: 133/133 Fail: 0/133 Skip: 0/133 OK: 130/130 Fail: 0/130 Skip: 0/130 ---TOTAL--- -OK: 2423/2423 Fail: 0/2423 Skip: 0/2423 +OK: 3848/3848 Fail: 0/3848 Skip: 0/3848