diff --git a/blockchain-tests-skip.yml b/blockchain-tests-skip.yml index de96951d..e954a92a 100644 --- a/blockchain-tests-skip.yml +++ b/blockchain-tests-skip.yml @@ -1,331 +1,535 @@ # List of file names to be skipped +# The first level corresponds to the directory, the second to the list of file names to ignore. filename: - - calldatacopy.json # ef-tests #20 - - sha3.json # ef-tests #19 - - exp.json # kakarot #700 - - expPower2.json # kakarot #700 - - expPower256.json # kakarot #700 - - expPower256Of256.json # kakarot #700 - - twoOps.json # kakarot #700 - - addmod.json # kakarot #695 - - mulmod.json # kakarot #695 - - divByZero.json # kakarot #695 - - jumpi.json # kakarot #693 - - jump.json # ef-tests #38 - - jumpToPush.json # ef-tests #61 - - signextend.json # kakarot #677 - - mload.json # ef-tests #31 - - gas.json # ef-tests #36 - - loopExp.json # ef-tests #39 - - loopMul.json # ef-tests #39 - - performanceTester.json # ef-tests #39 - - suicide.json # ef-tests #57 - - blockInfo.json # ef-tests #67 - - envInfo.json # ef-tests #63 - - memCopySelf.json # ef-tests #52 - - bufferSrcOffset.json # ef-tests #51 - - buffer.json # ef-tests #50 - - oog.json # ef-tests #49 - - sloadGasCost.json # ef-tests #78 - - TransactionCreateStopInInitcode.json # ef-tests #108 - - CallRecursiveContract.json # ef-tests #109 - - CallContractToCreateContractWhichWouldCreateContractInInitCode.json # ef-tests #110 - - CallContractToCreateContractOOGBonusGas.json # ef-tests #111 - - OutOfGasPrefundedContractCreation.json # ef-test #112 - - CallContractToCreateContractWhichWouldCreateContractIfCalled.json # ef-test #114 - - CallTheContractToCreateEmptyContract.json # ef-test #115 - - OutOfGasContractCreation.json # ef-test #116 - - CallContractToCreateContractAndCallItOOG.json # ef-test #117 - - TestContractSuicide.json # ef-test #132 - - TestCryptographicFunctions.json # ef-test #133 - - RecursiveCreateContracts.json # ef-test #134 - - ByZero.json #ef-test #135 - - ContractInheritance.json # ef-test #136 - - CallLowLevelCreatesSolidity.json # ef-test #137 - - CreateContractFromMethod.json # ef-test #138 - - TestStoreGasPrices.json # ef-test #139 - - TestContractInteraction.json # ef-test #140 - - RecursiveCreateContractsCreate4Contracts.json # ef-test #141 - - undefinedOpcodeFirstByte.json # ef-tests #121 - - measureGas.json # ef-tests #122 - - badOpcodes.json # ef-tests #123 - - operationDiffGas.json # ef-tests #124 - - invalidDiffPlaces.json # ef-tests #125 - - invalidAddr.json # ef-tests #126 - - CallContractToCreateContractNoCash.json # ef-tests #269 - - push0.json # ef-tests #149 - - push0Gas.json # ef-tests #150 - - coinbaseWarmAccountCallGas.json # ef-tests #153 - - coinbaseWarmAccountCallGasFail.json # ef-tests #154 - - create2InitCodeSizeLimit.json # ef-tests #155 - - createInitCodeSizeLimit.json # ef-tests #156 - - creationTxInitCodeSizeLimit.json # ef-tests #157 - - codesizeInit.json # ef-tests #262 - - codesizeValid.json # ef-tests #263 - - create2CodeSizeLimit.json # ef-tests #264 - - createCodeSizeLimit.json # ef-tests #265 - - Call1024BalanceTooLow.json # ef-tests #161 - - Call1024OOG.json # ef-tests #162 - - Call1024PreCalls.json # ef-tests #163 - - CallcodeLoseGasOOG.json # ef-tests #164 - - callcodeOutput3.json # ef-tests #165 - - CallLoseGasOOG.json # ef-tests #166 - - callOutput3.json # ef-tests #167 - - callOutput3partial.json # ef-tests #168 - - callOutput3partialFail.json # ef-tests #169 - - CallRecursiveBombPreCall.json # ef-tests #170 - - deleagateCallAfterValueTransfer.json # ef-tests #171 - - Delegatecall1024.json # ef-tests #172 - - Delegatecall1024OOG.json # ef-tests #173 - - delegatecallEmptycontract.json # ef-tests #174 - - delegatecallInInitcodeToEmptyContract.json # ef-tests #175 - - delegatecallInInitcodeToExistingContract.json # ef-tests #176 - - delegatecallInInitcodeToExistingContractOOG.json # ef-tests #177 - - delegatecallOOGinCall.json # ef-tests #178 - - delegatecallSenderCheck.json # ef-tests #179 - - delegatecallValueCheck.json # ef-tests #180 - - delegatecodeDynamicCode.json # ef-tests #181 - - delegatecodeDynamicCode2SelfCall.json # ef-tests #182 - - callcallcallcode_001.json # ef-tests #183 - - callcallcallcode_001_OOGE.json # ef-tests #184 - - callcallcallcode_001_OOGMAfter.json # ef-tests #185 - - callcallcallcode_001_OOGMBefore.json # ef-tests #186 - - callcallcallcode_ABCB_RECURSIVE.json # ef-tests #187 - - callcallcodecallcode_011.json # ef-tests #188 - - callcallcodecallcode_011_OOGE.json # ef-tests #189 - - callcallcodecallcode_011_OOGMAfter.json # ef-tests #190 - - callcallcodecallcode_011_OOGMBefore.json # ef-tests #191 - - callcallcodecallcode_ABCB_RECURSIVE.json # ef-tests #192 - - callcallcodecall_010.json # ef-tests #193 - - callcallcodecall_010_OOGE.json # ef-tests #194 - - callcallcodecall_010_OOGMAfter.json # ef-tests #195 - - callcallcodecall_010_OOGMBefore.json # ef-tests #196 - - callcallcodecall_ABCB_RECURSIVE.json # ef-tests #197 - - callcallcode_01.json # ef-tests #198 - - callcallcode_01_OOGE.json # ef-tests #199 - - callcodecallcallcode_101.json # ef-tests #200 - - callcodecallcallcode_101_OOGE.json # ef-tests #201 - - callcodecallcallcode_101_OOGMAfter.json # ef-tests #202 - - callcodecallcallcode_101_OOGMBefore.json # ef-tests #203 - - callcodecallcallcode_ABCB_RECURSIVE.json # ef-tests #204 - - callcodecallcall_100.json # ef-tests #205 - - callcodecallcall_100_OOGE.json # ef-tests #206 - - callcodecallcall_100_OOGMAfter.json # ef-tests #207 - - callcodecallcall_100_OOGMBefore.json # ef-tests #208 - - callcodecallcall_ABCB_RECURSIVE.json # ef-tests #209 - - callcodecallcodecallcode_111.json # ef-tests #210 - - callcodecallcodecallcode_111_OOGE.json # ef-tests #211 - - callcodecallcodecallcode_111_OOGMAfter.json # ef-tests #212 - - callcodecallcodecallcode_111_OOGMBefore.json # ef-tests #213 - - callcodecallcodecallcode_111_SuicideEnd.json # ef-tests #214 - - callcodecallcodecallcode_ABCB_RECURSIVE.json # ef-tests #215 - - callcodecallcodecall_110.json # ef-tests #216 - - callcodecallcodecall_110_OOGE.json # ef-tests #217 - - callcodecallcodecall_110_OOGMAfter.json # ef-tests #218 - - callcodecallcodecall_110_OOGMBefore.json # ef-tests #219 - - callcodecallcodecall_ABCB_RECURSIVE.json # ef-tests #220 - - callcodecallcode_11.json # ef-tests #221 - - callcodecallcode_11_OOGE.json # ef-tests #222 - - callcodecall_10.json # ef-tests #223 - - callcodecall_10_OOGE.json # ef-tests #224 - - callcallcallcode_001_SuicideEnd.json # ef-tests #225 - - callcallcallcode_001_SuicideMiddle.json # ef-tests #226 - - callcallcodecallcode_011_SuicideEnd.json # ef-tests #227 - - callcallcodecallcode_011_SuicideMiddle.json # ef-tests #228 - - callcallcodecall_010_SuicideEnd.json # ef-tests #229 - - callcallcodecall_010_SuicideMiddle.json # ef-tests #230 - - callcallcode_01_SuicideEnd.json # ef-tests #231 - - callcodecallcallcode_101_SuicideEnd.json # ef-tests #232 - - callcodecallcallcode_101_SuicideMiddle.json # ef-tests #233 - - callcodecallcall_100_SuicideEnd.json # ef-tests #234 - - callcodecallcall_100_SuicideMiddle.json # ef-tests #235 - - callcodecallcodecall_110_SuicideEnd.json # ef-tests #236 - - callcodecall_10_SuicideEnd.json # ef-tests #237 - - callcallcall_000.json # ef-tests #238 - - callcallcall_000_OOGE.json # ef-tests #239 - - callcallcall_000_OOGMAfter.json # ef-tests #240 - - callcallcall_000_OOGMBefore.json # ef-tests #241 - - callcallcall_000_SuicideEnd.json # ef-tests #242 - - callcallcall_000_SuicideMiddle.json # ef-tests #243 - - callcallcall_ABCB_RECURSIVE.json # ef-tests #244 - - callcall_00.json # ef-tests #245 - - callcall_00_OOGE.json # ef-tests #246 - - callcall_00_OOGE_valueTransfer.json # ef-tests #247 - - callcall_00_SuicideEnd.json # ef-tests #248 - - callcodeDynamicCode.json # ef-tests #249 - - callcodeEmptycontract.json # ef-tests #250 - - callcodeInInitcodeToEmptyContract.json # ef-tests #251 - - callcodeInInitcodeToExisContractWithVTransferNEMoney.json # ef-tests #252 - - callcodeInInitcodeToExistingContract.json # ef-tests #253 - - callcodeInInitcodeToExistingContractWithValueTransfer.json # ef-tests #254 - - callcode_checkPC.json # ef-tests #255 - - callcodeDynamicCode2SelfCall.json # ef-tests #256 - - extCodeHashCreatedAndDeletedAccountCall.json # ef-tests #270 - - extCodeHashDeletedAccount3.json # ef-tests #271 - - extCodeHashSubcallSuicide.json # ef-tests #272 - - extCodeHashInInitCode.json # ef-tests #273 - - extCodeHashDeletedAccount.json # ef-tests #274 - - extCodeHashDeletedAccount2.json # ef-tests #275 - - extCodeCopyBounds.json # ef-tests #276 - - createEmptyThenExtcodehash.json # ef-tests #277 - - extcodehashEmpty.json # ef-tests #278 - - extCodeHashDeletedAccount4.json # ef-tests #279 - - extCodeHashCreatedAndDeletedAccountRecheckInOuterCall.json # ef-tests #280 - - extCodeHashCreatedAndDeletedAccountStaticCall.json # ef-tests #281 - - extCodeHashMaxCodeSize.json # ef-tests #282 - - extCodeHashCreatedAndDeletedAccount.json # ef-tests #283 - - extCodeHashChangedAccount.json # ef-tests #284 - - callToSuicideThenExtcodehash.json # ef-tests #285 - - codeCopyZero.json # ef-tests #286 - - extCodeHashDeletedAccount1.json # ef-tests #287 - - callToNonExistent.json # ef-tests #288 - - extCodeHashSelfInInit.json # ef-tests #289 - - extCodeHashSubcallOOG.json # ef-tests #290 - - dynamicAccountOverwriteEmpty.json # ef-tests #291 - - ContractCreationSpam.json # ef-tests #296 - - CrashingTransaction.json # ef-tests #297 - - chainId.json # ef-tests #299 - - CallAskMoreGasOnDepth2ThenTransactionHas.json # ef-tests #303 - - CallGoesOOGOnSecondLevel.json # ef-tests #304 - - CreateAndGasInsideCreate.json # ef-tests #305 - - DelegateCallOnEIP.json # ef-tests #306 - - NewGasPriceForCodes.json # ef-tests #307 - - SuicideToExistingContract.json # ef-tests #308 - - SuicideToNotExistingContract.json # ef-tests #309 - - Transaction64Rule_d64e0.json # ef-tests #310 - - Transaction64Rule_d64m1.json # ef-tests #311 - - Transaction64Rule_d64p1.json # ef-tests #312 - - Transaction64Rule_integerBoundaries.json # ef-tests #313 - - returndatacopy_following_too_big_transfer.json # ef-tests #317 - - returndatasize_bug.json # ef-tests #317 - - returndatasize_initial_zero_read.json # ef-tests #317 - - returndatasize_following_successful_create.json # ef-tests #317 - - returndatacopy_following_revert_in_create.json # ef-tests #317 - - returndatacopy_following_failing_call.json # ef-tests #317 - - returndatacopy_following_revert.json # ef-tests #318 - - subcallReturnMoreThenExpected.json # ef-tests #318 - - returndatacopy_afterFailing_create.json # ef-tests #317 - - returndatacopy_following_successful_create.json # ef-tests #317 - - returndatacopy_after_failing_staticcall.json # ef-tests #318 - - create_callprecompile_returndatasize.json # ef-tests #317 - - returndatacopy_overrun.json # ef-tests #317 - - call_then_call_value_fail_then_returndatasize.json # ef-tests #317 - - call_then_create_successful_then_returndatasize.json # ef-tests #317 - - returndatasize_after_successful_delegatecall.json # ef-tests #318 - - returndatacopy_following_create.json # ef-tests #317 - - revertRetDataSize.json # ef-tests #320 - - tooLongReturnDataCopy.json # ef-tests #319 - - returndatacopy_initial_big_sum.json # ef-tests #317 - - call_ecrec_success_empty_then_returndatasize.json # ef-tests #317 - - returndatacopy_initial.json # ef-tests #317 - - returndatacopy_following_call.json # ef-tests #318 - - returndatacopy_after_successful_callcode.json # ef-tests #318 - - modexp_modsize0_returndatasize.json # ef-tests #318 - - returndatacopy_initial_256.json # ef-tests #318 - - returndatacopy_0_0_following_successful_create.json # ef-tests #317 - - clearReturnBuffer.json # ef-tests #317 - - call_outsize_then_create_successful_then_returndatasize.json # ef-tests #317 - - returndatasize_after_successful_callcode.json # ef-tests #318 - - returndatacopy_after_failing_delegatecall.json # ef-tests #317 - - returndatasize_after_successful_staticcall.json # ef-tests #318 - - returndatasize_initial.json # ef-tests #317 - - returndatacopy_after_successful_delegatecall.json # ef-tests #318 - - RevertOpcodeMultipleSubCalls.json # ef-tests #322 - - RevertPrefoundCall.json # ef-tests #322 - - LoopCallsDepthThenRevert.json # ef-tests #322 - - stateRevert.json # ef-tests #322 - - RevertDepthCreateOOG.json # ef-tests #322 - - costRevert.json # ef-tests #322 - - LoopDelegateCallsDepthThenRevert.json # ef-tests #322 - - RevertOpcodeInCallsOnNonEmptyReturnData.json # ef-tests #322 - - RevertOpcodeCalls.json # ef-tests #322 - - LoopCallsThenRevert.json # ef-tests #322 - - TouchToEmptyAccountRevert2.json # ef-tests #322 - - TouchToEmptyAccountRevert3.json # ef-tests #322 - - RevertDepthCreateAddressCollision.json # ef-tests #322 - - RevertPrecompiledTouchExactOOG.json # ef-tests #323 - - RevertPrefound.json # ef-tests #323 - - RevertPrefoundEmpty.json # ef-tests #323 - - RevertOpcodeCreate.json # ef-tests #323 - - RevertOnEmptyStack.json # ef-tests #323 - - RevertInCreateInInit.json # ef-tests #323 - - RevertPrefoundEmptyCall.json # ef-tests #323 - - LoopCallsDepthThenRevert2.json # ef-tests #324 - - LoopCallsDepthThenRevert3.json # ef-tests #324 - - RevertRemoteSubCallStorageOOG.json # ef-tests #324 - - RevertDepthCreate2OOG.json # ef-tests #334 - - RevertDepthCreate2OOGBerlin.json # ef-tests #334 - - RevertDepthCreateAddressCollisionBerlin.json # ef-tests #334 - - create2callPrecompiles.json # ef-tests #335 - - create2checkFieldsInInitcode.json # ef-tests #335 - - create2collisionBalance.json # ef-tests #335 - - create2collisionCode.json # ef-tests #335 - - create2collisionCode2.json # ef-tests #335 - - create2collisionNonce.json # ef-tests #335 - - create2collisionStorage.json # ef-tests #335 - - create2InitCodes.json # ef-tests #335 - - create2noCash.json # ef-tests #335 - - Create2OnDepth1023.json # ef-tests #335 - - Create2OnDepth1024.json # ef-tests #335 - - Create2OOGFromCallRefunds.json # ef-tests #335 - - Create2Recursive.json # ef-tests #335 - - CREATE2_FirstByte_loop.json # ef-tests #335 - - CREATE2_Suicide.json # ef-tests #335 - - CreateMessageRevertedOOGInInit.json # ef-tests #335 - - call_outsize_then_create2_successful_then_returndatasize.json # ef-tests #336 - - call_then_create2_successful_then_returndatasize.json # ef-tests #336 - - Create2OOGafterInitCodeReturndata.json # ef-tests #336 - - Create2OOGafterInitCodeReturndata2.json # ef-tests #336 - - Create2OOGafterInitCodeRevert.json # ef-tests #336 - - Create2OOGafterInitCodeRevert2.json # ef-tests #336 - - CREATE2_HighNonce.json # ef-tests #336 - - CREATE2_HighNonceDelegatecall.json # ef-tests #336 - - CreateMessageReverted.json # ef-tests #336 - - RevertInCreateInInitCreate2.json # ef-tests #336 - - RevertOpcodeInCreateReturnsCreate2.json # ef-tests #336 - - create2collisionSelfdestructed.json # ef-tests #337 - - create2collisionSelfdestructed2.json # ef-tests #337 - - create2SmartInitCode.json # ef-tests #337 - - CREATE2_ContractSuicideDuringInit_ThenStoreThenReturn.json # ef-tests #337 - - CreateAddressWarmAfterFail.json # ef-tests #338 - - CreateCollisionToEmpty.json # ef-tests #338 - - CreateOOGafterInitCodeReturndata.json # ef-tests #338 - - CreateOOGafterInitCodeReturndata2.json # ef-tests #338 - - CreateResults.json # ef-tests #338 - - CREATE_AcreateB_BSuicide_BStore.json # ef-tests #338 - - CREATE_EContract_ThenCALLToNonExistentAcc.json # ef-tests #338 - - CREATE_EmptyContract.json # ef-tests #338 - - CREATE_EmptyContractAndCallIt_0wei.json # ef-tests #338 - - CREATE_EmptyContractAndCallIt_1wei.json # ef-tests #338 - - CREATE_EmptyContractWithBalance.json # ef-tests #338 - - CREATE_EmptyContractWithStorage.json # ef-tests #338 - - CREATE_EmptyContractWithStorageAndCallIt_0wei.json # ef-tests #338 - - CREATE_EmptyContractWithStorageAndCallIt_1wei.json # ef-tests #338 - - CREATE_HighNonce.json # ef-tests #338 - - TransactionCollisionToEmpty.json # ef-tests #338 - - CodeInConstructor.json # ef-tests #339 - - CreateCollisionResults.json # ef-tests #339 - - createFailResult.json # ef-tests #339 - - createLargeResult.json # ef-tests #339 - - CreateOOGafterInitCodeRevert.json # ef-tests #339 - - CreateOOGafterInitCodeRevert2.json # ef-tests #339 - - CreateOOGafterMaxCodesize.json # ef-tests #339 - - CREATE_ContractSuicideDuringInit.json # ef-tests #339 - - CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json # ef-tests #339 - - CREATE_ContractSuicideDuringInit_WithValue.json # ef-tests #339 - - CREATE_ContractSuicideDuringInit_WithValueToItself.json # ef-tests #339 - - CreateOOGFromCallRefunds.json # ef-tests #340 - - CreateOOGFromEOARefunds.json # ef-tests #340 - - CREATE_EContractCreateEContractInInit_Tr.json # ef-tests #340 - - CREATE_EContractCreateNEContractInInitOOG_Tr.json # ef-tests #340 - - CREATE_EContractCreateNEContractInInit_Tr.json # ef-tests #340 - - CREATE_empty000CreateinInitCode_Transaction.json # ef-tests #340 - - CREATE_FirstByte_loop.json # ef-tests #340 - - contractCreationOOGdontLeaveEmptyContractViaTransaction.json # ef-tests #353 - - createContractViaContract.json # ef-tests #354 - - createContractViaContractOOGInitCode.json # ef-tests #354 - - createContractViaTransactionCost53000.json # ef-tests #354 + vmArithmeticTest: + - mulmod.json # kakarot #695 + - divByZero.json # kakarot #695 + - twoOps.json # kakarot #700 + - signextend.json # kakarot #677 + - expPower2.json # kakarot #700 + - expPower256.json # kakarot #700 + - expPower256Of256.json # kakarot #700 + - exp.json # kakarot #700 + - addmod.json # kakarot #695 + vmIOandFlowOperations: + - mload.json # ef-tests #31 + - gas.json # ef-tests #36 + - jumpi.json # kakarot #693 + - jump.json # ef-tests #38 + - jumpToPush.json # ef-tests #61 + vmPerformance: + - performanceTester.json # ef-tests #39 + - loopExp.json # ef-tests #39 + - loopMul.json # ef-tests #39 + vmTests: + - sha3.json # ef-tests #19 + - calldatacopy.json # ef-tests #20 + - suicide.json # ef-tests #57 + - envInfo.json # ef-tests #63 + - blockInfo.json # ef-tests #67 + stEIP3855-push0: + - push0.json # ef-tests #149 + - push0Gas.json # ef-tests #150 + stEIP3651-warmcoinbase: + - coinbaseWarmAccountCallGas.json # ef-tests #153 + - coinbaseWarmAccountCallGasFail.json # ef-tests #154 + stEIP3860-limitmeterinitcode: + - create2InitCodeSizeLimit.json # ef-tests #155 + - createInitCodeSizeLimit.json # ef-tests #156 + - creationTxInitCodeSizeLimit.json # ef-tests #157 + stAttackTest: + - ContractCreationSpam.json # ef-tests #296 + - CrashingTransaction.json # ef-tests #297 + stBadOpcode: + - undefinedOpcodeFirstByte.json # ef-tests #121 + - measureGas.json # ef-tests #122 + - badOpcodes.json # ef-tests #123 + - operationDiffGas.json # ef-tests #124 + - invalidDiffPlaces.json # ef-tests #125 + - invalidAddr.json # ef-tests #126 + stCallCodes: + - callcallcall_000.json # ef-tests #327 + - callcallcall_000_OOGE.json # ef-tests #327 + - callcallcall_000_OOGMAfter.json # ef-tests #327 + - callcallcall_000_OOGMBefore.json # ef-tests #327 + - callcallcall_000_SuicideEnd.json # ef-tests #327 + - callcallcall_000_SuicideMiddle.json # ef-tests #327 + - callcallcall_ABCB_RECURSIVE.json # ef-tests #327 + - callcall_00.json # ef-tests #327 + - callcall_00_OOGE.json # ef-tests #327 + - callcall_00_OOGE_valueTransfer.json # ef-tests #327 + - callcall_00_SuicideEnd.json # ef-tests #327 + - callcodeDynamicCode.json # ef-tests #328 + - callcodeEmptycontract.json # ef-tests #327 + - callcallcallcode_001_OOGE.json # ef-tests #327 + - callcallcallcode_001_OOGMAfter.json # ef-tests #327 + - callcallcallcode_001_OOGMBefore.json # ef-tests #327 + - callcallcallcode_001_SuicideEnd.json # ef-tests #327 + - callcallcallcode_001_SuicideMiddle.json # ef-tests #327 + - callcallcallcode_ABCB_RECURSIVE.json # ef-tests #327 + - callcallcodecallcode_011.json # ef-tests #327 + - callcallcodecallcode_011_OOGE.json # ef-tests #327 + - callcallcodecallcode_011_OOGMAfter.json # ef-tests #327 + - callcallcodecallcode_011_OOGMBefore.json # ef-tests #327 + - callcallcodecallcode_011_SuicideEnd.json # ef-tests #327 + - callcallcodecallcode_011_SuicideMiddle.json # ef-tests #327 + - callcallcodecallcode_ABCB_RECURSIVE.json # ef-tests #327 + - callcallcodecall_010.json # ef-tests #327 + - callcallcodecall_010_OOGE.json # ef-tests #327 + - callcallcodecall_010_OOGMAfter.json # ef-tests #327 + - callcallcodecall_010_OOGMBefore.json # ef-tests #327 + - callcallcodecall_010_SuicideEnd.json # ef-tests #327 + - callcallcodecall_010_SuicideMiddle.json # ef-tests #327 + - callcallcodecall_ABCB_RECURSIVE.json # ef-tests #327 + - callcallcode_01.json # ef-tests #327 + - callcallcode_01_OOGE.json # ef-tests #327 + - callcallcode_01_SuicideEnd.json # ef-tests #327 + - callcodecallcallcode_101.json # ef-tests #327 + - callcodecallcallcode_101_OOGE.json # ef-tests #327 + - callcodecallcallcode_101_OOGMAfter.json # ef-tests #327 + - callcodecallcallcode_101_OOGMBefore.json # ef-tests #327 + - callcodecallcallcode_101_SuicideEnd.json # ef-tests #327 + - callcodecallcallcode_101_SuicideMiddle.json # ef-tests #327 + - callcodecallcallcode_ABCB_RECURSIVE.json # ef-tests #327 + - callcodecallcall_100.json # ef-tests #327 + - callcodecallcall_100_OOGE.json # ef-tests #327 + - callcodecallcall_100_OOGMAfter.json # ef-tests #327 + - callcodecallcall_100_OOGMBefore.json # ef-tests #327 + - callcodecallcall_100_SuicideEnd.json # ef-tests #327 + - callcodecallcall_100_SuicideMiddle.json # ef-tests #327 + - callcodecallcall_ABCB_RECURSIVE.json # ef-tests #327 + - callcodecallcodecallcode_111.json # ef-tests #327 + - callcodecallcodecallcode_111_OOGE.json # ef-tests #327 + - callcodecallcodecallcode_111_OOGMAfter.json # ef-tests #327 + - callcodecallcodecallcode_111_OOGMBefore.json # ef-tests #327 + - callcodecallcodecallcode_ABCB_RECURSIVE.json # ef-tests #327 + - callcodecallcodecall_110.json # ef-tests #327 + - callcodecallcodecall_110_OOGE.json # ef-tests #327 + - callcodecallcodecall_110_OOGMAfter.json # ef-tests #327 + - callcodecallcodecall_110_OOGMBefore.json # ef-tests #327 + - callcodecallcodecall_110_SuicideEnd.json # ef-tests #327 + - callcodecallcodecall_ABCB_RECURSIVE.json # ef-tests #327 + - callcodecallcode_11.json # ef-tests #327 + - callcodecallcode_11_OOGE.json # ef-tests #327 + - callcodecall_10.json # ef-tests #327 + - callcodecall_10_OOGE.json # ef-tests #327 + - callcodecall_10_SuicideEnd.json # ef-tests #327 + - callcallcallcode_001.json # ef-tests #327 + - callcodeInInitcodeToEmptyContract.json # ef-tests #328 + - callcodeInInitcodeToExisContractWithVTransferNEMoney.json # ef-tests #328 + - callcodeInInitcodeToExistingContract.json # ef-tests #328 + - callcodeInInitcodeToExistingContractWithValueTransfer.json # ef-tests #328 + - callcode_checkPC.json # ef-tests #327 + - callcodeDynamicCode2SelfCall.json # ef-tests #329 + stCallDelegateCodesCallCodeHomestead: + - callcallcallcode_001.json # ef-tests #330 + - callcallcallcode_001_OOGE.json # ef-tests #330 + - callcallcallcode_001_OOGMAfter.json # ef-tests #330 + - callcallcallcode_001_OOGMBefore.json # ef-tests #330 + - callcallcallcode_ABCB_RECURSIVE.json # ef-tests #330 + - callcallcodecallcode_011.json # ef-tests #330 + - callcallcodecallcode_011_OOGE.json # ef-tests #330 + - callcallcodecallcode_011_OOGMAfter.json # ef-tests #330 + - callcallcodecallcode_011_OOGMBefore.json # ef-tests #330 + - callcallcodecallcode_ABCB_RECURSIVE.json # ef-tests #330 + - callcallcodecall_010.json # ef-tests #330 + - callcallcodecall_010_OOGE.json # ef-tests #330 + - callcallcodecall_010_OOGMAfter.json # ef-tests #330 + - callcallcodecall_010_OOGMBefore.json # ef-tests #330 + - callcallcodecall_ABCB_RECURSIVE.json # ef-tests #330 + - callcallcode_01.json # ef-tests #330 + - callcallcode_01_OOGE.json # ef-tests #330 + - callcodecallcallcode_101.json # ef-tests #330 + - callcodecallcallcode_101_OOGE.json # ef-tests #330 + - callcodecallcallcode_101_OOGMAfter.json # ef-tests #330 + - callcodecallcallcode_101_OOGMBefore.json # ef-tests #330 + - callcodecallcallcode_ABCB_RECURSIVE.json # ef-tests #330 + - callcodecallcall_100.json # ef-tests #330 + - callcodecallcall_100_OOGE.json # ef-tests #330 + - callcodecallcall_100_OOGMAfter.json # ef-tests #330 + - callcodecallcall_100_OOGMBefore.json # ef-tests #330 + - callcodecallcall_ABCB_RECURSIVE.json # ef-tests #330 + - callcodecallcodecallcode_111.json # ef-tests #330 + - callcodecallcodecallcode_111_OOGE.json # ef-tests #330 + - callcodecallcodecallcode_111_OOGMAfter.json # ef-tests #330 + - callcodecallcodecallcode_111_OOGMBefore.json # ef-tests #330 + - callcodecallcodecallcode_111_SuicideEnd.json # ef-tests #330 + - callcodecallcodecallcode_ABCB_RECURSIVE.json # ef-tests #330 + - callcodecallcodecall_110.json # ef-tests #330 + - callcodecallcodecall_110_OOGE.json # ef-tests #330 + - callcodecallcodecall_110_OOGMAfter.json # ef-tests #330 + - callcodecallcodecall_110_OOGMBefore.json # ef-tests #330 + - callcodecallcodecall_ABCB_RECURSIVE.json # ef-tests #330 + - callcodecallcode_11.json # ef-tests #330 + - callcodecallcode_11_OOGE.json # ef-tests #330 + - callcodecall_10.json # ef-tests #330 + - callcodecall_10_OOGE.json # ef-tests #330 + stCallDelegateCodesHomestead: + - callcallcallcode_001_SuicideEnd.json # ef-tests #331 + - callcallcallcode_001_SuicideMiddle.json # ef-tests #331 + - callcallcodecallcode_011_SuicideEnd.json # ef-tests #331 + - callcallcodecallcode_011_SuicideMiddle.json # ef-tests #331 + - callcallcodecall_010_SuicideEnd.json # ef-tests #331 + - callcallcodecall_010_SuicideMiddle.json # ef-tests #331 + - callcallcode_01_SuicideEnd.json # ef-tests #331 + - callcodecallcallcode_101_SuicideEnd.json # ef-tests #331 + - callcodecallcallcode_101_SuicideMiddle.json # ef-tests #331 + - callcodecallcall_100_SuicideEnd.json # ef-tests #331 + - callcodecallcall_100_SuicideMiddle.json # ef-tests #331 + - callcodecallcodecall_110_SuicideEnd.json # ef-tests #331 + - callcodecall_10_SuicideEnd.json # ef-tests #331 + - callcallcallcode_001.json # ef-tests #331 + - callcallcallcode_001_OOGE.json # ef-tests #331 + - callcallcallcode_001_OOGMAfter.json # ef-tests #331 + - callcallcallcode_001_OOGMBefore.json # ef-tests #331 + - callcallcallcode_ABCB_RECURSIVE.json # ef-tests #331 + - callcallcodecallcode_011.json # ef-tests #331 + - callcallcodecallcode_011_OOGE.json # ef-tests #331 + - callcallcodecallcode_011_OOGMAfter.json # ef-tests #331 + - callcallcodecallcode_011_OOGMBefore.json # ef-tests #331 + - callcallcodecallcode_ABCB_RECURSIVE.json # ef-tests #331 + - callcallcodecall_010.json # ef-tests #331 + - callcallcodecall_010_OOGE.json # ef-tests #331 + - callcallcodecall_010_OOGMAfter.json # ef-tests #331 + - callcallcodecall_010_OOGMBefore.json # ef-tests #331 + - callcallcodecall_ABCB_RECURSIVE.json # ef-tests #331 + - callcallcode_01.json # ef-tests #331 + - callcallcode_01_OOGE.json # ef-tests #331 + - callcodecallcallcode_101.json # ef-tests #331 + - callcodecallcallcode_101_OOGE.json # ef-tests #331 + - callcodecallcallcode_101_OOGMAfter.json # ef-tests #331 + - callcodecallcallcode_101_OOGMBefore.json # ef-tests #331 + - callcodecallcallcode_ABCB_RECURSIVE.json # ef-tests #331 + - callcodecallcall_100.json # ef-tests #331 + - callcodecallcall_100_OOGE.json # ef-tests #331 + - callcodecallcall_100_OOGMAfter.json # ef-tests #331 + - callcodecallcall_100_OOGMBefore.json # ef-tests #331 + - callcodecallcall_ABCB_RECURSIVE.json # ef-tests #331 + - callcodecallcodecallcode_111.json # ef-tests #331 + - callcodecallcodecallcode_111_OOGE.json # ef-tests #331 + - callcodecallcodecallcode_111_OOGMAfter.json # ef-tests #331 + - callcodecallcodecallcode_111_OOGMBefore.json # ef-tests #331 + - callcodecallcodecallcode_ABCB_RECURSIVE.json # ef-tests #331 + - callcodecallcodecall_110.json # ef-tests #331 + - callcodecallcodecall_110_OOGE.json # ef-tests #331 + - callcodecallcodecall_110_OOGMAfter.json # ef-tests #331 + - callcodecallcodecall_110_OOGMBefore.json # ef-tests #331 + - callcodecallcodecall_ABCB_RECURSIVE.json # ef-tests #331 + - callcodecallcode_11.json # ef-tests #331 + - callcodecallcode_11_OOGE.json # ef-tests #331 + - callcodecall_10.json # ef-tests #331 + - callcodecall_10_OOGE.json # ef-tests #331 + stChainId: + - chainId.json # ef-tests #299 + stCodeSizeLimit: + - codesizeInit.json # ef-tests #262 + - codesizeValid.json # ef-tests #263 + - create2CodeSizeLimit.json # ef-tests #264 + - createCodeSizeLimit.json # ef-tests #265 + stCreate2: + - RevertDepthCreate2OOG.json # ef-tests #334 + - RevertDepthCreate2OOGBerlin.json # ef-tests #334 + - RevertDepthCreateAddressCollisionBerlin.json # ef-tests #334 + - create2callPrecompiles.json # ef-tests #335 + - create2checkFieldsInInitcode.json # ef-tests #335 + - create2collisionBalance.json # ef-tests #335 + - create2collisionCode.json # ef-tests #335 + - create2collisionCode2.json # ef-tests #335 + - create2collisionNonce.json # ef-tests #335 + - create2collisionStorage.json # ef-tests #335 + - create2InitCodes.json # ef-tests #335 + - create2noCash.json # ef-tests #335 + - Create2OnDepth1023.json # ef-tests #335 + - Create2OnDepth1024.json # ef-tests #335 + - Create2OOGFromCallRefunds.json # ef-tests #335 + - Create2Recursive.json # ef-tests #335 + - CREATE2_FirstByte_loop.json # ef-tests #335 + - CREATE2_Suicide.json # ef-tests #335 + - CreateMessageRevertedOOGInInit.json # ef-tests #335 + - call_outsize_then_create2_successful_then_returndatasize.json # ef-tests #336 + - call_then_create2_successful_then_returndatasize.json # ef-tests #336 + - Create2OOGafterInitCodeReturndata.json # ef-tests #336 + - Create2OOGafterInitCodeReturndata2.json # ef-tests #336 + - Create2OOGafterInitCodeRevert.json # ef-tests #336 + - Create2OOGafterInitCodeRevert2.json # ef-tests #336 + - CREATE2_HighNonce.json # ef-tests #336 + - CREATE2_HighNonceDelegatecall.json # ef-tests #336 + - CreateMessageReverted.json # ef-tests #336 + - RevertInCreateInInitCreate2.json # ef-tests #336 + - RevertOpcodeInCreateReturnsCreate2.json # ef-tests #336 + - create2collisionSelfdestructed.json # ef-tests #337 + - create2collisionSelfdestructed2.json # ef-tests #337 + - create2SmartInitCode.json # ef-tests #337 + - CREATE2_ContractSuicideDuringInit_ThenStoreThenReturn.json # ef-tests #337 + stCreateTest: + - CreateAddressWarmAfterFail.json # ef-tests #338 + - CreateCollisionToEmpty.json # ef-tests #338 + - CreateOOGafterInitCodeReturndata.json # ef-tests #338 + - CreateOOGafterInitCodeReturndata2.json # ef-tests #338 + - CreateResults.json # ef-tests #338 + - CREATE_AcreateB_BSuicide_BStore.json # ef-tests #338 + - CREATE_EContract_ThenCALLToNonExistentAcc.json # ef-tests #338 + - CREATE_EmptyContract.json # ef-tests #338 + - CREATE_EmptyContractAndCallIt_0wei.json # ef-tests #338 + - CREATE_EmptyContractAndCallIt_1wei.json # ef-tests #338 + - CREATE_EmptyContractWithBalance.json # ef-tests #338 + - CREATE_EmptyContractWithStorage.json # ef-tests #338 + - CREATE_EmptyContractWithStorageAndCallIt_0wei.json # ef-tests #338 + - CREATE_EmptyContractWithStorageAndCallIt_1wei.json # ef-tests #338 + - CREATE_HighNonce.json # ef-tests #338 + - TransactionCollisionToEmpty.json # ef-tests #338 + - CodeInConstructor.json # ef-tests #339 + - CreateCollisionResults.json # ef-tests #339 + - createFailResult.json # ef-tests #339 + - createLargeResult.json # ef-tests #339 + - CreateOOGafterInitCodeRevert.json # ef-tests #339 + - CreateOOGafterInitCodeRevert2.json # ef-tests #339 + - CreateOOGafterMaxCodesize.json # ef-tests #339 + - CREATE_ContractSuicideDuringInit.json # ef-tests #339 + - CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json # ef-tests #339 + - CREATE_ContractSuicideDuringInit_WithValue.json # ef-tests #339 + - CREATE_ContractSuicideDuringInit_WithValueToItself.json # ef-tests #339 + - CreateOOGFromCallRefunds.json # ef-tests #340 + - CreateOOGFromEOARefunds.json # ef-tests #340 + - CREATE_EContractCreateEContractInInit_Tr.json # ef-tests #340 + - CREATE_EContractCreateNEContractInInitOOG_Tr.json # ef-tests #340 + - CREATE_EContractCreateNEContractInInit_Tr.json # ef-tests #340 + - CREATE_empty000CreateinInitCode_Transaction.json # ef-tests #340 + - CREATE_FirstByte_loop.json # ef-tests #340 + stDelegatecallTestHomestead: + - Call1024BalanceTooLow.json # ef-tests #332 + - Call1024OOG.json # ef-tests #332 + - Call1024PreCalls.json # ef-tests #332 + - CallcodeLoseGasOOG.json # ef-tests #332 + - callcodeOutput3.json # ef-tests #332 + - CallLoseGasOOG.json # ef-tests #332 + - callOutput3.json # ef-tests #332 + - callOutput3partial.json # ef-tests #332 + - callOutput3partialFail.json # ef-tests #332 + - CallRecursiveBombPreCall.json # ef-tests #332 + - deleagateCallAfterValueTransfer.json # ef-tests #332 + - Delegatecall1024.json # ef-tests #332 + - Delegatecall1024OOG.json # ef-tests #332 + - delegatecallEmptycontract.json # ef-tests #332 + - delegatecallOOGinCall.json # ef-tests #332 + - delegatecallSenderCheck.json # ef-tests #332 + - delegatecallValueCheck.json # ef-tests #332 + - delegatecallInInitcodeToEmptyContract.json # ef-tests #333 + - delegatecallInInitcodeToExistingContract.json # ef-tests #333 + - delegatecallInInitcodeToExistingContractOOG.json # ef-tests #333 + - delegatecodeDynamicCode.json # ef-tests #333 + - delegatecodeDynamicCode2SelfCall.json # ef-tests #333 + stEIP150Specific: + - CallAskMoreGasOnDepth2ThenTransactionHas.json # ef-tests #303 + - CallGoesOOGOnSecondLevel.json # ef-tests #304 + - CreateAndGasInsideCreate.json # ef-tests #305 + - DelegateCallOnEIP.json # ef-tests #306 + - NewGasPriceForCodes.json # ef-tests #307 + - SuicideToExistingContract.json # ef-tests #308 + - SuicideToNotExistingContract.json # ef-tests #309 + - Transaction64Rule_d64e0.json # ef-tests #310 + - Transaction64Rule_d64m1.json # ef-tests #311 + - Transaction64Rule_d64p1.json # ef-tests #312 + - Transaction64Rule_integerBoundaries.json # ef-tests #313 + stEIP150singleCodeGasPrices: + - gasCostMemSeg.json # ef-tests #343 + - RawCreateGas.json # ef-tests #343 + - RawCreateGasMemory.json # ef-tests #343 + - RawCreateGasValueTransfer.json # ef-tests #343 + - RawCreateGasValueTransferMemory.json # ef-tests #343 + - eip2929-ff.json # ef-tests #344 + - eip2929.json # ef-tests #344 + - gasCostMemory.json # ef-tests #344 + - RawBalanceGas.json # ef-tests #344 + - RawCallCodeGas.json # ef-tests #344 + - RawCallCodeGasAsk.json # ef-tests #344 + - RawCallCodeGasMemory.json # ef-tests #344 + - RawCallCodeGasMemoryAsk.json # ef-tests #344 + - RawCallCodeGasValueTransfer.json # ef-tests #344 + - RawCallCodeGasValueTransferAsk.json # ef-tests #344 + - RawCallCodeGasValueTransferMemory.json # ef-tests #344 + - RawCallCodeGasValueTransferMemoryAsk.json # ef-tests #344 + - RawCallGas.json # ef-tests #344 + - RawCallGasAsk.json # ef-tests #344 + - RawCallGasValueTransfer.json # ef-tests #344 + - RawCallGasValueTransferAsk.json # ef-tests #344 + - RawCallGasValueTransferMemory.json # ef-tests #344 + - RawCallGasValueTransferMemoryAsk.json # ef-tests #344 + - RawCallMemoryGas.json # ef-tests #344 + - RawCallMemoryGasAsk.json # ef-tests #344 + - RawCreateFailGasValueTransfer.json # ef-tests #344 + - RawCreateFailGasValueTransfer2.json # ef-tests #344 + - RawDelegateCallGas.json # ef-tests #344 + - RawDelegateCallGasAsk.json # ef-tests #344 + - RawDelegateCallGasMemory.json # ef-tests #344 + - RawDelegateCallGasMemoryAsk.json # ef-tests #344 + - RawExtCodeCopyGas.json # ef-tests #344 + - RawExtCodeCopyMemoryGas.json # ef-tests #344 + - RawExtCodeSizeGas.json # ef-tests #344 + stEIP158Specific: + - CALL_OneVCallSuicide.json # ef-tests #350 + - CALL_ZeroVCallSuicide.json # ef-tests #350 + - EXP_Empty.json # ef-tests #350 + - EXTCODESIZE_toEpmty.json # ef-tests #350 + - EXTCODESIZE_toNonExistent.json # ef-tests #350 + - vitalikTransactionTest.json # ef-tests #351 + stExtCodeHash: + - extCodeHashCreatedAndDeletedAccountCall.json # ef-tests #270 + - extCodeHashDeletedAccount3.json # ef-tests #271 + - extCodeHashSubcallSuicide.json # ef-tests #272 + - extCodeHashInInitCode.json # ef-tests #273 + - extCodeHashDeletedAccount.json # ef-tests #274 + - extCodeHashDeletedAccount2.json # ef-tests #275 + - extCodeCopyBounds.json # ef-tests #276 + - createEmptyThenExtcodehash.json # ef-tests #277 + - extcodehashEmpty.json # ef-tests #278 + - extCodeHashDeletedAccount4.json # ef-tests #279 + - extCodeHashCreatedAndDeletedAccountRecheckInOuterCall.json # ef-tests #280 + - extCodeHashCreatedAndDeletedAccountStaticCall.json # ef-tests #281 + - extCodeHashMaxCodeSize.json # ef-tests #282 + - extCodeHashCreatedAndDeletedAccount.json # ef-tests + - extCodeHashChangedAccount.json # ef-tests #284 + - callToSuicideThenExtcodehash.json # ef-tests #285 + - codeCopyZero.json # ef-tests #286 + - extCodeHashDeletedAccount1.json # ef-tests #287 + - callToNonExistent.json # ef-tests #288 + - extCodeHashSelfInInit.json # ef-tests #289 + - extCodeHashSubcallOOG.json # ef-tests #290 + - dynamicAccountOverwriteEmpty.json # ef-tests #291 + stHomesteadSpecific: + - contractCreationOOGdontLeaveEmptyContractViaTransaction.json # ef-tests #353 + - createContractViaContract.json # ef-tests #354 + - createContractViaContractOOGInitCode.json # ef-tests #354 + - createContractViaTransactionCost53000.json # ef-tests #354 + stInitCodeTest: + - TransactionCreateStopInInitcode.json # ef-tests #108 + - CallRecursiveContract.json # ef-tests #109 + - CallContractToCreateContractWhichWouldCreateContractInInitCode.json # ef-tests #110 + - CallContractToCreateContractOOGBonusGas.json # ef-tests #111 + - OutOfGasPrefundedContractCreation.json # ef-test #112 + - CallContractToCreateContractWhichWouldCreateContractIfCalled.json # ef-test #114 + - CallTheContractToCreateEmptyContract.json # ef-test #115 + - OutOfGasContractCreation.json # ef-test #116 + - CallContractToCreateContractAndCallItOOG.json # ef-test #117 + - CallContractToCreateContractNoCash.json # ef-tests #269 + stMemExpandingEIP150Calls: + - CallAndCallcodeConsumeMoreGasThenTransactionHasWithMemExpandingCalls.json # ef-tests #356 + - CallAskMoreGasOnDepth2ThenTransactionHasWithMemExpandingCalls.json # ef-tests #356 + - CallGoesOOGOnSecondLevelWithMemExpandingCalls.json # ef-tests #356 + - DelegateCallOnEIPWithMemExpandingCalls.json # ef-tests #356 + - ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCalls.json # ef-tests #356 + - NewGasPriceForCodesWithMemExpandingCalls.json # ef-tests #356 + - CreateAndGasInsideCreateWithMemExpandingCalls.json # ef-tests #357 + stMemoryStressTest: + - RETURN_Bounds.json # ef-tests #366 + - FillStack.json # ef-tests #367 + stMemoryTest: + - oog.json # ef-tests #49 + - buffer.json # ef-tests #50 + - bufferSrcOffset.json # ef-tests #51 + - memCopySelf.json # ef-tests #52 + stNonZeroCallsTest: + - NonZeroValue_CALL.json # ef-tests #360 + - NonZeroValue_CALLCODE.json # ef-tests #360 + - NonZeroValue_CALLCODE_ToEmpty.json # ef-tests #360 + - NonZeroValue_CALLCODE_ToNonNonZeroBalance.json # ef-tests #360 + - NonZeroValue_CALLCODE_ToOneStorageKey.json # ef-tests #360 + - NonZeroValue_CALL_ToEmpty.json # ef-tests #360 + - NonZeroValue_CALL_ToNonNonZeroBalance.json # ef-tests #360 + - NonZeroValue_CALL_ToOneStorageKey.json # ef-tests #360 + - NonZeroValue_DELEGATECALL.json # ef-tests #360 + - NonZeroValue_DELEGATECALL_ToEmpty.json # ef-tests #360 + - NonZeroValue_DELEGATECALL_ToNonNonZeroBalance.json # ef-tests #360 + - NonZeroValue_DELEGATECALL_ToOneStorageKey.json # ef-tests #360 + - NonZeroValue_SUICIDE.json # ef-tests #361 + stQuadraticComplexityTest: + - Call1MB1024Calldepth.json # ef-tests #375 + - Call20KbytesContract50_1.json # ef-tests #375 + - Call20KbytesContract50_2.json # ef-tests #375 + - Call20KbytesContract50_3.json # ef-tests #375 + - Return50000.json # ef-tests #375 + - Return50000_2.json # ef-tests #375 + - Create1000Shnghai.json # ef-tests #376 + stReturnDataTest: + - returndatacopy_following_too_big_transfer.json # ef-tests #317 + - returndatasize_bug.json # ef-tests #317 + - returndatasize_initial_zero_read.json # ef-tests #317 + - returndatasize_following_successful_create.json # ef-tests #317 + - returndatacopy_following_revert_in_create.json # ef-tests #317 + - returndatacopy_following_failing_call.json # ef-tests #317 + - returndatacopy_afterFailing_create.json # ef-tests #317 + - returndatacopy_following_successful_create.json # ef-tests #317 + - create_callprecompile_returndatasize.json # ef-tests #317 + - returndatacopy_overrun.json # ef-tests #317 + - call_then_call_value_fail_then_returndatasize.json # ef-tests #317 + - call_then_create_successful_then_returndatasize.json # ef-tests #317 + - returndatacopy_following_create.json # ef-tests #317 + - returndatacopy_initial_big_sum.json # ef-tests #317 + - call_ecrec_success_empty_then_returndatasize.json # ef-tests #317 + - returndatacopy_initial.json # ef-tests #317 + - returndatacopy_0_0_following_successful_create.json # ef-tests #317 + - clearReturnBuffer.json # ef-tests #317 + - call_outsize_then_create_successful_then_returndatasize.json # ef-tests #317 + - returndatacopy_after_failing_delegatecall.json # ef-tests #317 + - returndatasize_initial.json # ef-tests #317 + - returndatacopy_following_revert.json # ef-tests #318 + - subcallReturnMoreThenExpected.json # ef-tests #318 + - returndatacopy_after_failing_staticcall.json # ef-tests #318 + - returndatasize_after_successful_delegatecall.json # ef-tests #318 + - returndatacopy_following_call.json # ef-tests #318 + - returndatacopy_after_successful_callcode.json # ef-tests #318 + - modexp_modsize0_returndatasize.json # ef-tests #318 + - returndatacopy_initial_256.json # ef-tests #318 + - returndatasize_after_successful_callcode.json # ef-tests #318 + - returndatasize_after_successful_staticcall.json # ef-tests #318 + - returndatacopy_after_successful_delegatecall.json # ef-tests #318 + - tooLongReturnDataCopy.json # ef-tests #319 + - revertRetDataSize.json # ef-tests #320 + stRevertTest: + - "RevertOpcodeMultipleSubCalls.json" # ef-tests #322 + - "RevertPrefoundCall.json" # ef-tests #322 + - "LoopCallsDepthThenRevert.json" # ef-tests #322 + - "stateRevert.json" # ef-tests #322 + - "RevertDepthCreateOOG.json" # ef-tests #322 + - "costRevert.json" # ef-tests #322 + - "LoopDelegateCallsDepthThenRevert.json" # ef-tests #322 + - "RevertOpcodeInCallsOnNonEmptyReturnData.json" # ef-tests #322 + - "RevertOpcodeCalls.json" # ef-tests #322 + - "LoopCallsThenRevert.json" # ef-tests #322 + - "TouchToEmptyAccountRevert2.json" # ef-tests #322 + - "TouchToEmptyAccountRevert3.json" # ef-tests #322 + - "RevertDepthCreateAddressCollision.json" # ef-tests #322 + - "RevertPrecompiledTouchExactOOG.json" # ef-tests #323 + - "RevertPrefound.json" # ef-tests #323 + - "RevertPrefoundEmpty.json" # ef-tests #323 + - "RevertOpcodeCreate.json" # ef-tests #323 + - "RevertOnEmptyStack.json" # ef-tests #323 + - "RevertInCreateInInit.json" # ef-tests #323 + - "RevertPrefoundEmptyCall.json" # ef-tests #323 + - "LoopCallsDepthThenRevert2.json" # ef-tests #324 + - "LoopCallsDepthThenRevert3.json" # ef-tests #324 + - "RevertRemoteSubCallStorageOOG.json" # ef-tests #324 + stSLoadTest: + - sloadGasCost.json # ef-tests #78 + stSolidityTest: + - TestContractSuicide.json # ef-test #132 + - TestCryptographicFunctions.json # ef-test #133 + - RecursiveCreateContracts.json # ef-test #134 + - ByZero.json #ef-test #135 + - ContractInheritance.json # ef-test #136 + - CallLowLevelCreatesSolidity.json # ef-test #137 + - CreateContractFromMethod.json # ef-test #138 + - TestStoreGasPrices.json # ef-test #139 + - TestContractInteraction.json # ef-test #140 + - RecursiveCreateContractsCreate4Contracts.json # ef-test #141 + stArgsZeroOneBalance: + - createNonConst.json # ef-tests #368 + - mulmodNonConst.json # ef-tests #368 + - suicideNonConst.json # ef-tests #370 + - callNonConst.json # ef-tests #371 # List of file names regex to be skipped +# The first level corresponds to the directory, the second to the list of file names regex to ignore. regex: - - ^opc.*\.json$ # ef-test #120 + stBadOpcode: + - ^opc.*\.json$ # ef-test #120 diff --git a/crates/ef-testing/src/models/case.rs b/crates/ef-testing/src/models/case.rs index 29d921ba..635202b1 100644 --- a/crates/ef-testing/src/models/case.rs +++ b/crates/ef-testing/src/models/case.rs @@ -38,8 +38,8 @@ pub struct BlockchainTestCase { #[derive(Deserialize)] pub struct BlockchainTestsSkip { - pub filename: Vec, - pub regex: Vec, + pub filename: BTreeMap>, + pub regex: BTreeMap>, } lazy_static::lazy_static! { @@ -83,13 +83,35 @@ impl BlockchainTestCase { /// Will panic if the file name cannot be stringified. #[must_use] pub fn should_skip(path: &Path) -> bool { + let dir = path + .parent() + .unwrap() + .file_name() + .unwrap() + .to_str() + .unwrap(); let name = path.file_name().unwrap().to_str().unwrap(); - SKIP.filename.iter().any(|filename| filename == name) - || SKIP + let mut should_skip = false; + if SKIP.filename.contains_key(dir) { + should_skip = SKIP + .filename + .get(dir) + .unwrap() + .iter() + .any(|filename| filename == name); + } + + if !should_skip && SKIP.regex.contains_key(dir) { + should_skip = SKIP .regex + .get(dir) + .unwrap() .iter() - .any(|regex| Regex::new(regex.as_str()).unwrap().is_match(name)) + .any(|regex| Regex::new(regex.as_str()).unwrap().is_match(name)); + } + + should_skip } fn test(&self, test_name: &str) -> Result<&BlockchainTest, RunnerError> { @@ -373,7 +395,7 @@ mod tests { fn test_should_skip() { // Given let path = Path::new( - "ethereum-tests/BlockchainTests/GeneralStateTests/VMTests/vmArithmeticTest/calldatacopy.json", + "ethereum-tests/BlockchainTests/GeneralStateTests/VMTests/vmArithmeticTest/mulmod.json", ); // When diff --git a/crates/ef-testing/tests/tests.rs b/crates/ef-testing/tests/tests.rs index 3eee03ec..4f6e3b13 100644 --- a/crates/ef-testing/tests/tests.rs +++ b/crates/ef-testing/tests/tests.rs @@ -68,7 +68,7 @@ mod blockchain_tests { // Tests from the same folder with the same error can be aggregated in one issue blockchain_tests!(shanghai, Shanghai); - // blockchain_tests!(st_args_zero_one_balance, stArgsZeroOneBalance); // 4 failing tests + blockchain_tests!(st_args_zero_one_balance, stArgsZeroOneBalance); blockchain_tests!(st_attack_test, stAttackTest); blockchain_tests!(st_bad_opcode, stBadOpcode); blockchain_tests!(st_bugs, stBugs); @@ -89,9 +89,9 @@ mod blockchain_tests { blockchain_tests!(st_create_test, stCreateTest); blockchain_tests!(st_delegatecall_test_homestead, stDelegatecallTestHomestead); blockchain_tests!(st_eip150_specific, stEIP150Specific); - // blockchain_tests!(st_eip150single_code_gas_prices, stEIP150singleCodeGasPrices); // 34 failing tests + blockchain_tests!(st_eip150single_code_gas_prices, stEIP150singleCodeGasPrices); // blockchain_tests!(st_eip1559, stEIP1559); // failing due to missing field gasPrice, cannot measure number of failing tests - // blockchain_tests!(st_eip158_specific, stEIP158Specific); // 6 failing tests + blockchain_tests!(st_eip158_specific, stEIP158Specific); // blockchain_tests!(st_eip2930, stEIP2930); // failing due to missing field gasPrice, cannot measure number of failing tests blockchain_tests!(st_eip3607, stEIP3607); // blockchain_tests!(st_example, stExample); // failing due to missing field gasPrice, cannot measure number of failing tests @@ -99,13 +99,13 @@ mod blockchain_tests { blockchain_tests!(st_homestead_specific, stHomesteadSpecific); blockchain_tests!(st_init_code_test, stInitCodeTest); blockchain_tests!(st_log_tests, stLogTests); - // blockchain_tests!(st_mem_expanding_eip150_calls, stMemExpandingEIP150Calls); // 7 failing tests - // blockchain_tests!(st_memory_stress_test, stMemoryStressTest); // 2 failing tests + blockchain_tests!(st_mem_expanding_eip150_calls, stMemExpandingEIP150Calls); + blockchain_tests!(st_memory_stress_test, stMemoryStressTest); blockchain_tests!(st_memory_test, stMemoryTest); - // blockchain_tests!(st_non_zero_calls_test, stNonZeroCallsTest); // 13 failing tests + blockchain_tests!(st_non_zero_calls_test, stNonZeroCallsTest); // blockchain_tests!(st_pre_compiled_contracts, stPreCompiledContracts); // 8 failing tests // blockchain_tests!(st_pre_compiled_contracts2, stPreCompiledContracts2); // 97 failing tests - // blockchain_tests!(st_quadratic_complexity_test, stQuadraticComplexityTest); // 7 failing tests + blockchain_tests!(st_quadratic_complexity_test, stQuadraticComplexityTest); // blockchain_tests!(st_random, stRandom); // 79 failing tests // blockchain_tests!(st_random2, stRandom2); // 40 failing tests // blockchain_tests!(st_recursive_create, stRecursiveCreate); // 2 failing tests