From 61b8f9e8b90435d873e2b3652b775af7485f6436 Mon Sep 17 00:00:00 2001 From: Roberto Rosmaninho Date: Thu, 23 Jan 2025 16:01:45 -0300 Subject: [PATCH] EIP-7610: Revert creation in case of non-empty storage (#2686) * Revert contract creation if address already has the non-empty storage * Enabling failing tests that now pass * Fix failling.llvm * Enforcing `STORAGE ==K .Map` to create a `#newExistingAccount ` * Optimizing storage requirement to create an existing acccount --- kevm-pyk/src/kevm_pyk/kproj/evm-semantics/evm.md | 5 +++-- tests/failing.llvm | 5 ----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/evm.md b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/evm.md index e34628b74d..b0effad7a7 100644 --- a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/evm.md +++ b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/evm.md @@ -809,16 +809,17 @@ These are just used by the other operators for shuffling local execution state a ACCT CODE NONCE + STORAGE ... - requires CODE =/=K .Bytes orBool NONCE =/=Int 0 + requires CODE =/=K .Bytes orBool NONCE =/=Int 0 orBool STORAGE =/=K .Map rule #newExistingAccount ACCT => .K ... ACCT CODE 0 - _ => .Map + .Map _ => .Map ... diff --git a/tests/failing.llvm b/tests/failing.llvm index 92e59c9232..301210cd78 100644 --- a/tests/failing.llvm +++ b/tests/failing.llvm @@ -146,14 +146,11 @@ BlockchainTests/GeneralStateTests/Pyspecs/shanghai/eip4895_withdrawals/zero_amou BlockchainTests/GeneralStateTests/stBadOpcode/opc49DiffPlaces.json,* BlockchainTests/GeneralStateTests/stBadOpcode/opc4ADiffPlaces.json,* BlockchainTests/GeneralStateTests/stBadOpcode/undefinedOpcodeFirstByte.json,* -BlockchainTests/GeneralStateTests/stCreate2/create2collisionStorageParis.json,* -BlockchainTests/GeneralStateTests/stCreate2/RevertInCreateInInitCreate2Paris.json,* BlockchainTests/GeneralStateTests/stEIP1559/lowFeeCap.json,* BlockchainTests/GeneralStateTests/stEIP1559/lowGasLimit.json,lowGasLimit_d0g0v0_Cancun BlockchainTests/GeneralStateTests/stEIP1559/lowGasPriceOldTypes.json,* BlockchainTests/GeneralStateTests/stEIP1559/tipTooHigh.json,* BlockchainTests/GeneralStateTests/stEIP1559/transactionIntinsicBug_Paris.json,* -BlockchainTests/GeneralStateTests/stExtCodeHash/dynamicAccountOverwriteEmpty_Paris.json,* BlockchainTests/GeneralStateTests/stPreCompiledContracts/idPrecomps.json,idPrecomps_d9g0v0_Cancun BlockchainTests/GeneralStateTests/stPreCompiledContracts/precompsEIP2929Cancun.json,precompsEIP2929Cancun_d117g0v0_Cancun BlockchainTests/GeneralStateTests/stPreCompiledContracts/precompsEIP2929Cancun.json,precompsEIP2929Cancun_d12g0v0_Cancun @@ -177,6 +174,4 @@ BlockchainTests/GeneralStateTests/stPreCompiledContracts/precompsEIP2929Cancun.j BlockchainTests/GeneralStateTests/stPreCompiledContracts/precompsEIP2929Cancun.json,precompsEIP2929Cancun_d63g0v0_Cancun BlockchainTests/GeneralStateTests/stPreCompiledContracts/precompsEIP2929Cancun.json,precompsEIP2929Cancun_d81g0v0_Cancun BlockchainTests/GeneralStateTests/stPreCompiledContracts/precompsEIP2929Cancun.json,precompsEIP2929Cancun_d99g0v0_Cancun -BlockchainTests/GeneralStateTests/stRevertTest/RevertInCreateInInit_Paris.json,* BlockchainTests/GeneralStateTests/stSpecialTest/failed_tx_xcf416c53_Paris.json,* -BlockchainTests/GeneralStateTests/stSStoreTest/InitCollisionParis.json,*