From 31e8b3d7edd6a79b3ac7b5527328427fb20a9134 Mon Sep 17 00:00:00 2001 From: andri lim Date: Mon, 18 Mar 2019 09:15:37 +0700 Subject: [PATCH] activates Frontier fork in GST, +125 -57 --- GeneralStateTests.md | 252 ++++++++++++++-------------- tests/test_generalstate_failing.nim | 61 ++++++- tests/test_helpers.nim | 2 +- 3 files changed, 187 insertions(+), 128 deletions(-) diff --git a/GeneralStateTests.md b/GeneralStateTests.md index 388b69408..c47eb01de 100644 --- a/GeneralStateTests.md +++ b/GeneralStateTests.md @@ -73,54 +73,54 @@ OK: 2/3 Fail: 0/3 Skip: 1/3 + call_OOG_additionalGasCosts1.json OK + call_OOG_additionalGasCosts2.json OK + callcall_00.json OK - callcall_00_OOGE.json Skip - callcall_00_OOGE_valueTransfer.json Skip - callcall_00_SuicideEnd.json Skip - callcallcall_000.json Skip - callcallcall_000_OOGE.json Skip - callcallcall_000_OOGMAfter.json Skip - callcallcall_000_OOGMBefore.json Skip - callcallcall_000_SuicideEnd.json Skip - callcallcall_000_SuicideMiddle.json Skip - callcallcall_ABCB_RECURSIVE.json Skip ++ callcall_00_OOGE.json OK ++ callcall_00_OOGE_valueTransfer.json OK ++ callcall_00_SuicideEnd.json OK ++ callcallcall_000.json OK ++ callcallcall_000_OOGE.json OK ++ callcallcall_000_OOGMAfter.json OK ++ callcallcall_000_OOGMBefore.json OK ++ callcallcall_000_SuicideEnd.json OK ++ callcallcall_000_SuicideMiddle.json OK ++ callcallcall_ABCB_RECURSIVE.json OK callcallcallcode_001.json Skip callcallcallcode_001_OOGE.json Skip callcallcallcode_001_OOGMAfter.json Skip - callcallcallcode_001_OOGMBefore.json Skip ++ callcallcallcode_001_OOGMBefore.json OK callcallcallcode_001_SuicideEnd.json Skip - callcallcallcode_001_SuicideMiddle.json Skip ++ callcallcallcode_001_SuicideMiddle.json OK callcallcallcode_ABCB_RECURSIVE.json Skip callcallcode_01.json Skip callcallcode_01_OOGE.json Skip callcallcode_01_SuicideEnd.json Skip callcallcodecall_010.json Skip callcallcodecall_010_OOGE.json Skip - callcallcodecall_010_OOGMAfter.json Skip ++ callcallcodecall_010_OOGMAfter.json OK callcallcodecall_010_OOGMBefore.json Skip callcallcodecall_010_SuicideEnd.json Skip callcallcodecall_010_SuicideMiddle.json Skip callcallcodecall_ABCB_RECURSIVE.json Skip callcallcodecallcode_011.json Skip callcallcodecallcode_011_OOGE.json Skip - callcallcodecallcode_011_OOGMAfter.json Skip ++ callcallcodecallcode_011_OOGMAfter.json OK callcallcodecallcode_011_OOGMBefore.json Skip callcallcodecallcode_011_SuicideEnd.json Skip callcallcodecallcode_011_SuicideMiddle.json Skip callcallcodecallcode_ABCB_RECURSIVE.json Skip - callcodeDynamicCode.json Skip - callcodeDynamicCode2SelfCall.json Skip - callcodeEmptycontract.json Skip - callcodeInInitcodeToEmptyContract.json Skip - callcodeInInitcodeToExisContractWithVTransferNEMoney.json Skip - callcodeInInitcodeToExistingContract.json Skip - callcodeInInitcodeToExistingContractWithValueTransfer.json Skip ++ callcodeDynamicCode.json OK ++ callcodeDynamicCode2SelfCall.json OK ++ callcodeEmptycontract.json OK ++ callcodeInInitcodeToEmptyContract.json OK ++ callcodeInInitcodeToExisContractWithVTransferNEMoney.json OK ++ callcodeInInitcodeToExistingContract.json OK ++ callcodeInInitcodeToExistingContractWithValueTransfer.json OK + callcode_checkPC.json OK callcodecall_10.json Skip callcodecall_10_OOGE.json Skip callcodecall_10_SuicideEnd.json Skip callcodecallcall_100.json Skip callcodecallcall_100_OOGE.json Skip - callcodecallcall_100_OOGMAfter.json Skip ++ callcodecallcall_100_OOGMAfter.json OK callcodecallcall_100_OOGMBefore.json Skip callcodecallcall_100_SuicideEnd.json Skip callcodecallcall_100_SuicideMiddle.json Skip @@ -133,7 +133,7 @@ OK: 2/3 Fail: 0/3 Skip: 1/3 callcodecallcallcode_101_SuicideMiddle.json Skip callcodecallcallcode_ABCB_RECURSIVE.json Skip callcodecallcode_11.json Skip -+ callcodecallcode_11_OOGE.json OK + callcodecallcode_11_OOGE.json Skip callcodecallcode_11_SuicideEnd.json Skip callcodecallcodecall_110.json Skip callcodecallcodecall_110_OOGE.json Skip @@ -144,13 +144,13 @@ OK: 2/3 Fail: 0/3 Skip: 1/3 callcodecallcodecall_ABCB_RECURSIVE.json Skip callcodecallcodecallcode_111.json Skip callcodecallcodecallcode_111_OOGE.json Skip - callcodecallcodecallcode_111_OOGMAfter.json Skip ++ callcodecallcodecallcode_111_OOGMAfter.json OK callcodecallcodecallcode_111_OOGMBefore.json Skip callcodecallcodecallcode_111_SuicideEnd.json Skip callcodecallcodecallcode_111_SuicideMiddle.json Skip callcodecallcodecallcode_ABCB_RECURSIVE.json Skip ``` -OK: 5/79 Fail: 0/79 Skip: 74/79 +OK: 27/79 Fail: 0/79 Skip: 52/79 ## stCallCreateCallCodeTest ```diff Call1024BalanceTooLow.json Skip @@ -158,7 +158,7 @@ OK: 5/79 Fail: 0/79 Skip: 74/79 Call1024PreCalls.json Skip CallLoseGasOOG.json Skip CallRecursiveBombPreCall.json Skip - Callcode1024BalanceTooLow.json Skip ++ Callcode1024BalanceTooLow.json OK Callcode1024OOG.json Skip CallcodeLoseGasOOG.json Skip callOutput1.json Skip @@ -167,42 +167,42 @@ OK: 5/79 Fail: 0/79 Skip: 74/79 callOutput3Fail.json Skip callOutput3partial.json Skip callOutput3partialFail.json Skip - callWithHighValue.json Skip - callWithHighValueAndGasOOG.json Skip - callWithHighValueAndOOGatTxLevel.json Skip - callWithHighValueOOGinCall.json Skip ++ callWithHighValue.json OK ++ callWithHighValueAndGasOOG.json OK ++ callWithHighValueAndOOGatTxLevel.json OK ++ callWithHighValueOOGinCall.json OK callcodeOutput1.json Skip callcodeOutput2.json Skip callcodeOutput3.json Skip callcodeOutput3Fail.json Skip callcodeOutput3partial.json Skip callcodeOutput3partialFail.json Skip - callcodeWithHighValue.json Skip - callcodeWithHighValueAndGasOOG.json Skip - createFailBalanceTooLow.json Skip - createInitFailBadJumpDestination.json Skip - createInitFailStackSizeLargerThan1024.json Skip - createInitFailStackUnderflow.json Skip - createInitFailUndefinedInstruction.json Skip - createInitFail_OOGduringInit.json Skip - createInitOOGforCREATE.json Skip ++ callcodeWithHighValue.json OK ++ callcodeWithHighValueAndGasOOG.json OK ++ createFailBalanceTooLow.json OK ++ createInitFailBadJumpDestination.json OK ++ createInitFailStackSizeLargerThan1024.json OK ++ createInitFailStackUnderflow.json OK ++ createInitFailUndefinedInstruction.json OK ++ createInitFail_OOGduringInit.json OK ++ createInitOOGforCREATE.json OK createJS_ExampleContract.json Skip - createJS_NoCollision.json Skip - createNameRegistratorPerTxs.json Skip - createNameRegistratorPerTxsNotEnoughGas.json Skip - createNameRegistratorPreStore1NotEnoughGas.json Skip - createNameRegistratorendowmentTooHigh.json Skip ++ createJS_NoCollision.json OK ++ createNameRegistratorPerTxs.json OK ++ createNameRegistratorPerTxsNotEnoughGas.json OK ++ createNameRegistratorPreStore1NotEnoughGas.json OK ++ createNameRegistratorendowmentTooHigh.json OK ``` -OK: 0/39 Fail: 0/39 Skip: 39/39 +OK: 19/39 Fail: 0/39 Skip: 20/39 ## stCallDelegateCodesCallCodeHomestead ```diff callcallcallcode_001.json Skip -+ callcallcallcode_001_OOGE.json OK -+ callcallcallcode_001_OOGMAfter.json OK - callcallcallcode_001_OOGMBefore.json Skip + callcallcallcode_001_OOGE.json Skip + callcallcallcode_001_OOGMAfter.json Skip ++ callcallcallcode_001_OOGMBefore.json OK callcallcallcode_001_SuicideEnd.json Skip - callcallcallcode_001_SuicideMiddle.json Skip -+ callcallcallcode_ABCB_RECURSIVE.json OK ++ callcallcallcode_001_SuicideMiddle.json OK + callcallcallcode_ABCB_RECURSIVE.json Skip callcallcode_01.json Skip callcallcode_01_OOGE.json Skip callcallcode_01_SuicideEnd.json Skip @@ -212,14 +212,14 @@ OK: 0/39 Fail: 0/39 Skip: 39/39 callcallcodecall_010_OOGMBefore.json Skip callcallcodecall_010_SuicideEnd.json Skip callcallcodecall_010_SuicideMiddle.json Skip -+ callcallcodecall_ABCB_RECURSIVE.json OK + callcallcodecall_ABCB_RECURSIVE.json Skip callcallcodecallcode_011.json Skip callcallcodecallcode_011_OOGE.json Skip - callcallcodecallcode_011_OOGMAfter.json Skip ++ callcallcodecallcode_011_OOGMAfter.json OK callcallcodecallcode_011_OOGMBefore.json Skip callcallcodecallcode_011_SuicideEnd.json Skip callcallcodecallcode_011_SuicideMiddle.json Skip -+ callcallcodecallcode_ABCB_RECURSIVE.json OK + callcallcodecallcode_ABCB_RECURSIVE.json Skip callcodecall_10.json Skip callcodecall_10_OOGE.json Skip callcodecall_10_SuicideEnd.json Skip @@ -229,95 +229,95 @@ OK: 0/39 Fail: 0/39 Skip: 39/39 callcodecallcall_100_OOGMBefore.json Skip callcodecallcall_100_SuicideEnd.json Skip callcodecallcall_100_SuicideMiddle.json Skip -+ callcodecallcall_ABCB_RECURSIVE.json OK + callcodecallcall_ABCB_RECURSIVE.json Skip callcodecallcallcode_101.json Skip callcodecallcallcode_101_OOGE.json Skip -+ callcodecallcallcode_101_OOGMAfter.json OK + callcodecallcallcode_101_OOGMAfter.json Skip callcodecallcallcode_101_OOGMBefore.json Skip callcodecallcallcode_101_SuicideEnd.json Skip callcodecallcallcode_101_SuicideMiddle.json Skip -+ callcodecallcallcode_ABCB_RECURSIVE.json OK + callcodecallcallcode_ABCB_RECURSIVE.json Skip callcodecallcode_11.json Skip callcodecallcode_11_OOGE.json Skip callcodecallcode_11_SuicideEnd.json Skip callcodecallcodecall_110.json Skip callcodecallcodecall_110_OOGE.json Skip -+ callcodecallcodecall_110_OOGMAfter.json OK + callcodecallcodecall_110_OOGMAfter.json Skip callcodecallcodecall_110_OOGMBefore.json Skip callcodecallcodecall_110_SuicideEnd.json Skip callcodecallcodecall_110_SuicideMiddle.json Skip -+ callcodecallcodecall_ABCB_RECURSIVE.json OK + callcodecallcodecall_ABCB_RECURSIVE.json Skip callcodecallcodecallcode_111.json Skip callcodecallcodecallcode_111_OOGE.json Skip + callcodecallcodecallcode_111_OOGMAfter.json OK callcodecallcodecallcode_111_OOGMBefore.json Skip callcodecallcodecallcode_111_SuicideEnd.json Skip callcodecallcodecallcode_111_SuicideMiddle.json Skip -+ callcodecallcodecallcode_ABCB_RECURSIVE.json OK + callcodecallcodecallcode_ABCB_RECURSIVE.json Skip ``` -OK: 14/58 Fail: 0/58 Skip: 44/58 +OK: 6/58 Fail: 0/58 Skip: 52/58 ## stCallDelegateCodesHomestead ```diff callcallcallcode_001.json Skip -+ callcallcallcode_001_OOGE.json OK -+ callcallcallcode_001_OOGMAfter.json OK + callcallcallcode_001_OOGE.json Skip + callcallcallcode_001_OOGMAfter.json Skip + callcallcallcode_001_OOGMBefore.json OK -+ callcallcallcode_001_SuicideEnd.json OK + callcallcallcode_001_SuicideEnd.json Skip + callcallcallcode_001_SuicideMiddle.json OK -+ callcallcallcode_ABCB_RECURSIVE.json OK + callcallcallcode_ABCB_RECURSIVE.json Skip callcallcode_01.json Skip -+ callcallcode_01_OOGE.json OK -+ callcallcode_01_SuicideEnd.json OK + callcallcode_01_OOGE.json Skip + callcallcode_01_SuicideEnd.json Skip callcallcodecall_010.json Skip -+ callcallcodecall_010_OOGE.json OK + callcallcodecall_010_OOGE.json Skip + callcallcodecall_010_OOGMAfter.json OK -+ callcallcodecall_010_OOGMBefore.json OK -+ callcallcodecall_010_SuicideEnd.json OK -+ callcallcodecall_010_SuicideMiddle.json OK -+ callcallcodecall_ABCB_RECURSIVE.json OK + callcallcodecall_010_OOGMBefore.json Skip + callcallcodecall_010_SuicideEnd.json Skip + callcallcodecall_010_SuicideMiddle.json Skip + callcallcodecall_ABCB_RECURSIVE.json Skip callcallcodecallcode_011.json Skip -+ callcallcodecallcode_011_OOGE.json OK + callcallcodecallcode_011_OOGE.json Skip + callcallcodecallcode_011_OOGMAfter.json OK -+ callcallcodecallcode_011_OOGMBefore.json OK -+ callcallcodecallcode_011_SuicideEnd.json OK -+ callcallcodecallcode_011_SuicideMiddle.json OK -+ callcallcodecallcode_ABCB_RECURSIVE.json OK -+ callcodecall_10.json OK -+ callcodecall_10_OOGE.json OK -+ callcodecall_10_SuicideEnd.json OK + callcallcodecallcode_011_OOGMBefore.json Skip + callcallcodecallcode_011_SuicideEnd.json Skip + callcallcodecallcode_011_SuicideMiddle.json Skip + callcallcodecallcode_ABCB_RECURSIVE.json Skip + callcodecall_10.json Skip + callcodecall_10_OOGE.json Skip + callcodecall_10_SuicideEnd.json Skip callcodecallcall_100.json Skip -+ callcodecallcall_100_OOGE.json OK + callcodecallcall_100_OOGE.json Skip + callcodecallcall_100_OOGMAfter.json OK -+ callcodecallcall_100_OOGMBefore.json OK -+ callcodecallcall_100_SuicideEnd.json OK -+ callcodecallcall_100_SuicideMiddle.json OK -+ callcodecallcall_ABCB_RECURSIVE.json OK + callcodecallcall_100_OOGMBefore.json Skip + callcodecallcall_100_SuicideEnd.json Skip + callcodecallcall_100_SuicideMiddle.json Skip + callcodecallcall_ABCB_RECURSIVE.json Skip callcodecallcallcode_101.json Skip -+ callcodecallcallcode_101_OOGE.json OK -+ callcodecallcallcode_101_OOGMAfter.json OK -+ callcodecallcallcode_101_OOGMBefore.json OK -+ callcodecallcallcode_101_SuicideEnd.json OK -+ callcodecallcallcode_101_SuicideMiddle.json OK -+ callcodecallcallcode_ABCB_RECURSIVE.json OK + callcodecallcallcode_101_OOGE.json Skip + callcodecallcallcode_101_OOGMAfter.json Skip + callcodecallcallcode_101_OOGMBefore.json Skip + callcodecallcallcode_101_SuicideEnd.json Skip + callcodecallcallcode_101_SuicideMiddle.json Skip + callcodecallcallcode_ABCB_RECURSIVE.json Skip callcodecallcode_11.json Skip -+ callcodecallcode_11_OOGE.json OK -+ callcodecallcode_11_SuicideEnd.json OK + callcodecallcode_11_OOGE.json Skip + callcodecallcode_11_SuicideEnd.json Skip callcodecallcodecall_110.json Skip -+ callcodecallcodecall_110_OOGE.json OK -+ callcodecallcodecall_110_OOGMAfter.json OK -+ callcodecallcodecall_110_OOGMBefore.json OK -+ callcodecallcodecall_110_SuicideEnd.json OK -+ callcodecallcodecall_110_SuicideMiddle.json OK -+ callcodecallcodecall_ABCB_RECURSIVE.json OK + callcodecallcodecall_110_OOGE.json Skip + callcodecallcodecall_110_OOGMAfter.json Skip + callcodecallcodecall_110_OOGMBefore.json Skip + callcodecallcodecall_110_SuicideEnd.json Skip + callcodecallcodecall_110_SuicideMiddle.json Skip + callcodecallcodecall_ABCB_RECURSIVE.json Skip callcodecallcodecallcode_111.json Skip -+ callcodecallcodecallcode_111_OOGE.json OK + callcodecallcodecallcode_111_OOGE.json Skip + callcodecallcodecallcode_111_OOGMAfter.json OK -+ callcodecallcodecallcode_111_OOGMBefore.json OK -+ callcodecallcodecallcode_111_SuicideEnd.json OK -+ callcodecallcodecallcode_111_SuicideMiddle.json OK -+ callcodecallcodecallcode_ABCB_RECURSIVE.json OK + callcodecallcodecallcode_111_OOGMBefore.json Skip + callcodecallcodecallcode_111_SuicideEnd.json Skip + callcodecallcodecallcode_111_SuicideMiddle.json Skip + callcodecallcodecallcode_ABCB_RECURSIVE.json Skip ``` -OK: 49/58 Fail: 0/58 Skip: 9/58 +OK: 6/58 Fail: 0/58 Skip: 52/58 ## stChangedEIP150 ```diff Call1024BalanceTooLow.json Skip @@ -327,8 +327,8 @@ OK: 49/58 Fail: 0/58 Skip: 9/58 + callcall_00_OOGE_2.json OK + callcall_00_OOGE_valueTransfer.json OK + callcallcall_000_OOGMAfter.json OK -+ callcallcallcode_001_OOGMAfter_1.json OK -+ callcallcallcode_001_OOGMAfter_2.json OK + callcallcallcode_001_OOGMAfter_1.json Skip + callcallcallcode_001_OOGMAfter_2.json Skip + callcallcallcode_001_OOGMAfter_3.json OK + callcallcodecall_010_OOGMAfter_1.json OK + callcallcodecall_010_OOGMAfter_2.json OK @@ -351,7 +351,7 @@ OK: 49/58 Fail: 0/58 Skip: 9/58 + contractCreationMakeCallThatAskMoreGasThenTransactionProvided.jsonOK + createInitFail_OOGduringInit.json OK ``` -OK: 27/30 Fail: 0/30 Skip: 3/30 +OK: 25/30 Fail: 0/30 Skip: 5/30 ## stCodeCopyTest ```diff + ExtCodeCopyTests.json OK @@ -367,7 +367,7 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 ## stCreateTest ```diff + CREATE_AcreateB_BSuicide_BStore.json OK - CREATE_ContractRETURNBigOffset.json Skip ++ CREATE_ContractRETURNBigOffset.json OK + CREATE_ContractSSTOREDuringInit.json OK + CREATE_ContractSuicideDuringInit.json OK + CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json OK @@ -397,7 +397,7 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 TransactionCollisionToEmptyButCode.json Skip TransactionCollisionToEmptyButNonce.json Skip ``` -OK: 20/30 Fail: 0/30 Skip: 10/30 +OK: 21/30 Fail: 0/30 Skip: 9/30 ## stDelegatecallTestHomestead ```diff Call1024BalanceTooLow.json Skip @@ -592,9 +592,9 @@ OK: 46/46 Fail: 0/46 Skip: 0/46 + CreateAndGasInsideCreateWithMemExpandingCalls.json OK + DelegateCallOnEIPWithMemExpandingCalls.json OK + ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCalls.jsonOK -+ NewGasPriceForCodesWithMemExpandingCalls.json OK + NewGasPriceForCodesWithMemExpandingCalls.json Skip ``` -OK: 8/8 Fail: 0/8 Skip: 0/8 +OK: 7/8 Fail: 0/8 Skip: 1/8 ## stMemoryStressTest ```diff CALLCODE_Bounds.json Skip @@ -718,10 +718,10 @@ OK: 67/67 Fail: 0/67 Skip: 0/67 + NonZeroValue_CALL_ToEmpty.json OK + NonZeroValue_CALL_ToNonNonZeroBalance.json OK + NonZeroValue_CALL_ToOneStorageKey.json OK -+ NonZeroValue_DELEGATECALL.json OK -+ NonZeroValue_DELEGATECALL_ToEmpty.json OK -+ NonZeroValue_DELEGATECALL_ToNonNonZeroBalance.json OK -+ NonZeroValue_DELEGATECALL_ToOneStorageKey.json OK + NonZeroValue_DELEGATECALL.json Skip + NonZeroValue_DELEGATECALL_ToEmpty.json Skip + NonZeroValue_DELEGATECALL_ToNonNonZeroBalance.json Skip + NonZeroValue_DELEGATECALL_ToOneStorageKey.json Skip + NonZeroValue_SUICIDE.json OK + NonZeroValue_SUICIDE_ToEmpty.json OK + NonZeroValue_SUICIDE_ToNonNonZeroBalance.json OK @@ -735,7 +735,7 @@ OK: 67/67 Fail: 0/67 Skip: 0/67 + NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalance.json OK + NonZeroValue_TransactionCALLwithData_ToOneStorageKey.json OK ``` -OK: 24/24 Fail: 0/24 Skip: 0/24 +OK: 20/24 Fail: 0/24 Skip: 4/24 ## stPreCompiledContracts ```diff identity_to_bigger.json Skip @@ -2148,7 +2148,7 @@ OK: 6/9 Fail: 0/9 Skip: 3/9 ## stWalletTest ```diff + dayLimitConstruction.json OK - dayLimitConstructionOOG.json Skip ++ dayLimitConstructionOOG.json OK + dayLimitConstructionPartial.json OK dayLimitResetSpentToday.json Skip dayLimitSetDailyLimit.json Skip @@ -2164,7 +2164,7 @@ OK: 6/9 Fail: 0/9 Skip: 3/9 multiOwnedChangeRequirementTo2.json Skip + multiOwnedConstructionCorrect.json OK multiOwnedConstructionNotEnoughGas.json Skip - multiOwnedConstructionNotEnoughGasPartial.json Skip ++ multiOwnedConstructionNotEnoughGasPartial.json OK multiOwnedIsOwnerFalse.json Skip multiOwnedIsOwnerTrue.json Skip multiOwnedRemoveOwner.json Skip @@ -2177,7 +2177,7 @@ OK: 6/9 Fail: 0/9 Skip: 3/9 + walletChangeRequirementRemovePendingTransaction.json OK + walletConfirm.json OK + walletConstruction.json OK - walletConstructionOOG.json Skip ++ walletConstructionOOG.json OK + walletConstructionPartial.json OK walletDefault.json Skip walletDefaultWithOutValue.json Skip @@ -2190,7 +2190,7 @@ OK: 6/9 Fail: 0/9 Skip: 3/9 walletKillToWallet.json Skip + walletRemoveOwnerRemovePendingTransaction.json OK ``` -OK: 12/42 Fail: 0/42 Skip: 30/42 +OK: 15/42 Fail: 0/42 Skip: 27/42 ## stZeroCallsRevert ```diff ZeroValue_CALLCODE_OOGRevert.json Skip @@ -2229,10 +2229,10 @@ OK: 0/24 Fail: 0/24 Skip: 24/24 + ZeroValue_CALL_ToEmpty.json OK + ZeroValue_CALL_ToNonZeroBalance.json OK + ZeroValue_CALL_ToOneStorageKey.json OK -+ ZeroValue_DELEGATECALL.json OK -+ ZeroValue_DELEGATECALL_ToEmpty.json OK -+ ZeroValue_DELEGATECALL_ToNonZeroBalance.json OK -+ ZeroValue_DELEGATECALL_ToOneStorageKey.json OK + ZeroValue_DELEGATECALL.json Skip + ZeroValue_DELEGATECALL_ToEmpty.json Skip + ZeroValue_DELEGATECALL_ToNonZeroBalance.json Skip + ZeroValue_DELEGATECALL_ToOneStorageKey.json Skip + ZeroValue_SUICIDE.json OK + ZeroValue_SUICIDE_ToEmpty.json OK + ZeroValue_SUICIDE_ToNonZeroBalance.json OK @@ -2246,7 +2246,7 @@ OK: 0/24 Fail: 0/24 Skip: 24/24 + ZeroValue_TransactionCALLwithData_ToNonZeroBalance.json OK + ZeroValue_TransactionCALLwithData_ToOneStorageKey.json OK ``` -OK: 24/24 Fail: 0/24 Skip: 0/24 +OK: 20/24 Fail: 0/24 Skip: 4/24 ## stZeroKnowledge ```diff ecmul_1-2_2_28000_128.json Skip @@ -2520,4 +2520,4 @@ OK: 0/133 Fail: 0/133 Skip: 133/133 OK: 0/130 Fail: 0/130 Skip: 130/130 ---TOTAL--- -OK: 1248/2334 Fail: 0/2334 Skip: 1086/2334 +OK: 1231/2334 Fail: 0/2334 Skip: 1103/2334 diff --git a/tests/test_generalstate_failing.nim b/tests/test_generalstate_failing.nim index fa1708fda..bdd1851e5 100644 --- a/tests/test_generalstate_failing.nim +++ b/tests/test_generalstate_failing.nim @@ -93,6 +93,65 @@ func allowedFailingGeneralStateTest*(folder, name: string): bool = "CallRecursiveBomb2.json", "CallRecursiveBombLog.json", "CallRecursiveBombLog2.json", - "Call1024BalanceTooLow.json" + "Call1024BalanceTooLow.json", + # Frontier recursive + "Callcode1024OOG.json", + "callcallcodecall_ABCB_RECURSIVE.json", + "callcallcodecallcode_ABCB_RECURSIVE.json", + "callcodecallcall_ABCB_RECURSIVE.json", + "callcodecallcallcode_ABCB_RECURSIVE.json", + "callcodecallcodecall_ABCB_RECURSIVE.json", + "callcodecallcodecallcode_ABCB_RECURSIVE.json", + # Frontier failed test cases + "createJS_ExampleContract.json", + "callcallcallcode_001_OOGE.json", + "callcallcallcode_001_OOGMAfter.json", + "callcallcallcode_001_SuicideEnd.json", + "callcallcallcode_ABCB_RECURSIVE.json", + "callcallcode_01_OOGE.json", + "callcallcode_01_SuicideEnd.json", + "callcallcodecall_010_OOGE.json", + "callcallcodecall_010_OOGMBefore.json", + "callcallcodecall_010_SuicideEnd.json", + "callcallcodecall_010_SuicideMiddle.json", + "callcallcodecallcode_011_OOGE.json", + "callcallcodecallcode_011_OOGMBefore.json", + "callcallcodecallcode_011_SuicideEnd.json", + "callcallcodecallcode_011_SuicideMiddle.json", + "callcodecall_10.json", + "callcodecall_10_OOGE.json", + "callcodecall_10_SuicideEnd.json", + "callcodecallcall_100_OOGE.json", + "callcodecallcall_100_OOGMBefore.json", + "callcodecallcall_100_SuicideEnd.json", + "callcodecallcall_100_SuicideMiddle.json", + "callcodecallcallcode_101_OOGE.json", + "callcodecallcallcode_101_OOGMAfter.json", + "callcodecallcallcode_101_OOGMBefore.json", + "callcodecallcallcode_101_SuicideEnd.json", + "callcodecallcallcode_101_SuicideMiddle.json", + "callcodecallcode_11_OOGE.json", + "callcodecallcode_11_SuicideEnd.json", + "callcodecallcodecall_110_OOGE.json", + "callcodecallcodecall_110_OOGMAfter.json", + "callcodecallcodecall_110_OOGMBefore.json", + "callcodecallcodecall_110_SuicideEnd.json", + "callcodecallcodecall_110_SuicideMiddle.json", + "callcodecallcodecallcode_111_OOGE.json", + "callcodecallcodecallcode_111_OOGMBefore.json", + "callcodecallcodecallcode_111_SuicideEnd.json", + "callcodecallcodecallcode_111_SuicideMiddle.json", + "callcallcallcode_001_OOGMAfter_1.json", + "callcallcallcode_001_OOGMAfter_2.json", + "callcodecallcall_100_OOGMAfter_1.json", + "NewGasPriceForCodesWithMemExpandingCalls.json", + "NonZeroValue_DELEGATECALL.json", + "NonZeroValue_DELEGATECALL_ToEmpty.json", + "NonZeroValue_DELEGATECALL_ToNonNonZeroBalance.json", + "NonZeroValue_DELEGATECALL_ToOneStorageKey.json", + "ZeroValue_DELEGATECALL.json", + "ZeroValue_DELEGATECALL_ToEmpty.json", + "ZeroValue_DELEGATECALL_ToNonZeroBalance.json", + "ZeroValue_DELEGATECALL_ToOneStorageKey.json" ] result = name in allowedFailingGeneralStateTests diff --git a/tests/test_helpers.nim b/tests/test_helpers.nim index e5f37a55a..beb4b462a 100644 --- a/tests/test_helpers.nim +++ b/tests/test_helpers.nim @@ -24,7 +24,7 @@ const FkByzantium: "Byzantium", }.toTable - supportedForks* = [FkHomestead] + supportedForks* = [FkFrontier, FkHomestead] type Status* {.pure.} = enum OK, Fail, Skip