diff --git a/blockchain-tests-skip.yml b/blockchain-tests-skip.yml index 18664267..4039a8cd 100644 --- a/blockchain-tests-skip.yml +++ b/blockchain-tests-skip.yml @@ -226,6 +226,84 @@ filename: - 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 + - RevertDepthCreateAddressCollision.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 + - returndatasize_following_successful_create.json # ef-tests #336 + - returndatacopy_afterFailing_create.json # ef-tests #336 + - returndatacopy_following_create.json # ef-tests #336 + - RevertOpcodeCreate.json # ef-tests #336 + - returndatacopy_following_revert_in_create.json # ef-tests #336 + - returndatacopy_0_0_following_successful_create.json # ef-tests #336 + - returndatacopy_following_successful_create.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 @@ -372,6 +450,113 @@ filename: - NonZeroValue_DELEGATECALL_ToNonNonZeroBalance.json # ef-tests #360 - NonZeroValue_DELEGATECALL_ToOneStorageKey.json # ef-tests #360 - NonZeroValue_SUICIDE.json # ef-tests #361 + stPreCompiledContracts: + - blake2B.json # ef-tests #389 + - identity_to_bigger.json # ef-tests #389 + - identity_to_smaller.json # ef-tests #389 + - idPrecomps.json # ef-tests #389 + - modexp.json # ef-tests #389 + - modexpTests.json # ef-tests #389 + - precompsEIP2929.json # ef-tests #389 + - sec80.json # ef-tests #389 + stPreCompiledContracts2: + - CallIdentity_1_nonzeroValue.json # ef-tests #390 + - CallSha256_1_nonzeroValue.json # ef-tests #390 + - CALLBlake2f.json # ef-tests #391 + - CALLCODEBlake2f.json # ef-tests #391 + - CALLCODEEcrecover0.json # ef-tests #391 + - CALLCODEEcrecover0_0input.json # ef-tests #391 + - CALLCODEEcrecover0_completeReturnValue.json # ef-tests #391 + - CALLCODEEcrecover0_gas3000.json # ef-tests #391 + - CALLCODEEcrecover0_overlappingInputOutput.json # ef-tests #391 + - CALLCODEEcrecover1.json # ef-tests #391 + - CALLCODEEcrecover2.json # ef-tests #391 + - CALLCODEEcrecover3.json # ef-tests #391 + - CALLCODEEcrecover80.json # ef-tests #391 + - CALLCODEEcrecoverH_prefixed0.json # ef-tests #391 + - CALLCODEEcrecoverR_prefixed0.json # ef-tests #391 + - CALLCODEEcrecoverS_prefixed0.json # ef-tests #391 + - CALLCODEEcrecoverV_prefixed0.json # ef-tests #391 + - CALLCODEEcrecoverV_prefixedf0.json # ef-tests #391 + - CALLCODEIdentitiy_0.json # ef-tests #391 + - CALLCODEIdentitiy_1.json # ef-tests #391 + - CALLCODEIdentity_1_nonzeroValue.json # ef-tests #391 + - CALLCODEIdentity_2.json # ef-tests #391 + - CALLCODEIdentity_3.json # ef-tests #391 + - CALLCODEIdentity_4.json # ef-tests #391 + - CALLCODEIdentity_4_gas17.json # ef-tests #391 + - CALLCODEIdentity_4_gas18.json # ef-tests #391 + - CALLCODEIdentity_5.json # ef-tests #391 + - CALLCODERipemd160_0.json # ef-tests #391 + - CALLCODERipemd160_1.json # ef-tests #391 + - CALLCODERipemd160_2.json # ef-tests #391 + - CALLCODERipemd160_3.json # ef-tests #391 + - CALLCODERipemd160_3_postfixed0.json # ef-tests #391 + - CALLCODERipemd160_3_prefixed0.json # ef-tests #391 + - CALLCODERipemd160_4.json # ef-tests #391 + - CALLCODERipemd160_4_gas719.json # ef-tests #391 + - CALLCODERipemd160_5.json # ef-tests #391 + - CALLCODESha256_0.json # ef-tests #391 + - CALLCODESha256_1.json # ef-tests #391 + - CALLCODESha256_1_nonzeroValue.json # ef-tests #391 + - CALLCODESha256_2.json # ef-tests #391 + - CALLCODESha256_3.json # ef-tests #391 + - CALLCODESha256_3_postfix0.json # ef-tests #391 + - CALLCODESha256_3_prefix0.json # ef-tests #391 + - CALLCODESha256_4.json # ef-tests #391 + - CALLCODESha256_4_gas99.json # ef-tests #391 + - CALLCODESha256_5.json # ef-tests #391 + - CallEcrecover0.json # ef-tests #391 + - CallEcrecover0_0input.json # ef-tests #391 + - CallEcrecover0_completeReturnValue.json # ef-tests #391 + - CallEcrecover0_gas3000.json # ef-tests #391 + - CallEcrecover0_overlappingInputOutput.json # ef-tests #391 + - CallEcrecover1.json # ef-tests #391 + - CallEcrecover2.json # ef-tests #391 + - CallEcrecover3.json # ef-tests #391 + - CallEcrecover80.json # ef-tests #391 + - CallEcrecoverCheckLength.json # ef-tests #391 + - CallEcrecoverCheckLengthWrongV.json # ef-tests #391 + - CallEcrecoverH_prefixed0.json # ef-tests #391 + - CallEcrecoverInvalidSignature.json # ef-tests #391 + - CallEcrecoverR_prefixed0.json # ef-tests #391 + - CallEcrecoverS_prefixed0.json # ef-tests #391 + - CallEcrecoverUnrecoverableKey.json # ef-tests #391 + - CallEcrecoverV_prefixed0.json # ef-tests #391 + - CallEcrecover_Overflow.json # ef-tests #391 + - CallIdentitiy_0.json # ef-tests #391 + - CallIdentitiy_1.json # ef-tests #391 + - CallIdentity_2.json # ef-tests #391 + - CallIdentity_3.json # ef-tests #391 + - CallIdentity_4.json # ef-tests #391 + - CallIdentity_4_gas17.json # ef-tests #391 + - CallIdentity_4_gas18.json # ef-tests #391 + - CallIdentity_5.json # ef-tests #391 + - CallIdentity_6_inputShorterThanOutput.json # ef-tests #391 + - CallRipemd160_0.json # ef-tests #391 + - CallRipemd160_1.json # ef-tests #391 + - CallRipemd160_2.json # ef-tests #391 + - CallRipemd160_3.json # ef-tests #391 + - CallRipemd160_3_postfixed0.json # ef-tests #391 + - CallRipemd160_3_prefixed0.json # ef-tests #391 + - CallRipemd160_4.json # ef-tests #391 + - CallRipemd160_4_gas719.json # ef-tests #391 + - CallRipemd160_5.json # ef-tests #391 + - CallSha256_0.json # ef-tests #391 + - CallSha256_1.json # ef-tests #391 + - CallSha256_2.json # ef-tests #391 + - CallSha256_3.json # ef-tests #391 + - CallSha256_3_postfix0.json # ef-tests #391 + - CallSha256_3_prefix0.json # ef-tests #391 + - CallSha256_4.json # ef-tests #391 + - CallSha256_4_gas99.json # ef-tests #391 + - CallSha256_5.json # ef-tests #391 + - ecrecoverShortBuff.json # ef-tests #391 + - ecrecoverWeirdV.json # ef-tests #391 + - modexp_0_0_0_20500.json # ef-tests #391 + - modexp_0_0_0_22000.json # ef-tests #391 + - modexp_0_0_0_25000.json # ef-tests #391 + - modexp_0_0_0_35000.json # ef-tests #391 stQuadraticComplexityTest: - Call1MB1024Calldepth.json # ef-tests #375 - Call20KbytesContract50_1.json # ef-tests #375 @@ -380,6 +565,9 @@ filename: - Return50000.json # ef-tests #375 - Return50000_2.json # ef-tests #375 - Create1000Shnghai.json # ef-tests #376 + stRecursiveCreate: + - recursiveCreate.json # ef-tests #379 + - recursiveCreateReturnValue.json # ef-tests #380 stReturnDataTest: - returndatacopy_following_too_big_transfer.json # ef-tests #317 - returndatasize_bug.json # ef-tests #317 @@ -439,8 +627,39 @@ filename: - "LoopCallsDepthThenRevert2.json" # ef-tests #324 - "LoopCallsDepthThenRevert3.json" # ef-tests #324 - "RevertRemoteSubCallStorageOOG.json" # ef-tests #324 + stShift: + - shiftCombinations.json # ef-tests #383 + - shiftSignedCombinations.json # ef-tests #383 stSLoadTest: - sloadGasCost.json # ef-tests #78 + stSStoreTest: + - InitCollision.json # ef-tests #408 + - sstoreGas.json # ef-tests #409 + - InitCollisionNonZeroNonce.json # ef-tests #410 + - sstore_0to0.json # ef-tests #410 + - sstore_0to0to0.json # ef-tests #410 + - sstore_0to0toX.json # ef-tests #410 + - sstore_0toX.json # ef-tests #410 + - sstore_0toXto0.json # ef-tests #410 + - sstore_0toXto0toX.json # ef-tests #410 + - sstore_0toXtoX.json # ef-tests #410 + - sstore_0toXtoY.json # ef-tests #410 + - sstore_changeFromExternalCallInInitCode.json # ef-tests #410 + - sstore_gasLeft.json # ef-tests #410 + - sstore_Xto0.json # ef-tests #410 + - sstore_Xto0to0.json # ef-tests #410 + - sstore_Xto0toX.json # ef-tests #410 + - sstore_Xto0toXto0.json # ef-tests #410 + - sstore_Xto0toY.json # ef-tests #410 + - sstore_XtoX.json # ef-tests #410 + - sstore_XtoXto0.json # ef-tests #410 + - sstore_XtoXtoX.json # ef-tests #410 + - sstore_XtoXtoY.json # ef-tests #410 + - sstore_XtoY.json # ef-tests #410 + - sstore_XtoYto0.json # ef-tests #410 + - sstore_XtoYtoX.json # ef-tests #410 + - sstore_XtoYtoY.json # ef-tests #410 + - sstore_XtoYtoZ.json # ef-tests #410 stSolidityTest: - TestContractSuicide.json # ef-test #132 - TestCryptographicFunctions.json # ef-test #133 @@ -460,6 +679,10 @@ filename: - stackOverflowM1PUSH.json # ef-tests #415 - stackOverflowSWAP.json # ef-tests #415 - stacksanitySWAP.json # ef-tests #415 + stSpecialTest: + - tx_e1c174e2.json # ef-tests #412 + - eoaEmpty.json # ef-tests #413 + - selfdestructEIP2929.json # ef-tests #413 stArgsZeroOneBalance: - createNonConst.json # ef-tests #368 - mulmodNonConst.json # ef-tests #368 diff --git a/crates/ef-testing/tests/tests.rs b/crates/ef-testing/tests/tests.rs index d802fb0c..8ba8848b 100644 --- a/crates/ef-testing/tests/tests.rs +++ b/crates/ef-testing/tests/tests.rs @@ -85,8 +85,8 @@ mod blockchain_tests { blockchain_tests!(st_chain_id, stChainId); blockchain_tests!(st_code_copy_test, stCodeCopyTest); blockchain_tests!(st_code_size_limit, stCodeSizeLimit); - // blockchain_tests!(st_create2, stCreate2); // 42 failing tests - // blockchain_tests!(st_create_test, stCreateTest); // 34 failing tests + blockchain_tests!(st_create2, stCreate2); + 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); @@ -103,21 +103,21 @@ mod blockchain_tests { blockchain_tests!(st_memory_stress_test, stMemoryStressTest); blockchain_tests!(st_memory_test, stMemoryTest); 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_pre_compiled_contracts, stPreCompiledContracts); + blockchain_tests!(st_pre_compiled_contracts2, stPreCompiledContracts2); 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 + blockchain_tests!(st_recursive_create, stRecursiveCreate); // blockchain_tests!(st_refund_test, stRefundTest); // 9 failing tests blockchain_tests!(st_return_data_test, stReturnDataTest); blockchain_tests!(st_revert_test, stRevertTest); blockchain_tests!(st_sload_test, stSLoadTest); - // blockchain_tests!(st_sstore_test, stSStoreTest); // 27 failing tests + blockchain_tests!(st_sstore_test, stSStoreTest); // blockchain_tests!(st_self_balance, stSelfBalance); // 3 failing tests - // blockchain_tests!(st_shift, stShift); // 2 failing tests + blockchain_tests!(st_shift, stShift); blockchain_tests!(st_solidity_test, stSolidityTest); - // blockchain_tests!(st_special_test, stSpecialTest); // 3 failing tests + blockchain_tests!(st_special_test, stSpecialTest); blockchain_tests!(st_stack_tests, stStackTests); // blockchain_tests!(st_static_call, stStaticCall); // 207 failing tests // blockchain_tests!(st_static_flag_enabled, stStaticFlagEnabled); // 13 failing tests