From 82b2ddda5dce781660cb4833d6d14d7e868960cd Mon Sep 17 00:00:00 2001 From: Andrei <16517508+anvacaru@users.noreply.github.com> Date: Tue, 22 Apr 2025 13:16:50 +0300 Subject: [PATCH 1/5] add support for state-tests format --- Makefile | 8 ++-- .../kevm_pyk/kproj/evm-semantics/driver.md | 42 ++++++++++++++++--- .../src/kevm_pyk/kproj/evm-semantics/evm.md | 1 + .../kproj/evm-semantics/state-utils.md | 33 +++++++++++---- 4 files changed, 66 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index 44499278d9..57a7e11756 100644 --- a/Makefile +++ b/Makefile @@ -59,14 +59,14 @@ test-fixtures: poetry download-json-fixtures $(MAKE) -C kevm-pyk/ test-integration PYTEST_ARGS+="-k test_execution_spec_tests.py" fixtures-failing-list: poetry download-json-fixtures - cat /dev/null > tests/ethereum-sepc-tests/failing.llvm + cat /dev/null > tests/execution-spec-tests/failing.llvm - $(MAKE) -C kevm-pyk/ test-integration PYTEST_ARGS+="-k test_execution_spec_tests.py --save-failing --maxfail=10000" LC_ALL=en_US.UTF-8 sort -f -d -o tests/execution-spec-tests/failing.llvm tests/execution-spec-tests/failing.llvm if [ "$(shell uname)" = "Darwin" ]; then \ - sed -i '' '1{/^[[:space:]]*$$/d;}' tests/ethereum-sepc-tests/failing.llvm ;\ - echo >> tests/ethereum-sepc-tests/failing.llvm ;\ + sed -i '' '1{/^[[:space:]]*$$/d;}' tests/execution-spec-tests/failing.llvm ;\ + echo >> tests/execution-spec-tests/failing.llvm ;\ else \ - sed -i '1{/^[[:space:]]*$$/d;}' tests/ethereum-sepc-tests/failing.llvm ;\ + sed -i '1{/^[[:space:]]*$$/d;}' tests/execution-spec-tests/failing.llvm ;\ fi test-vm: poetry diff --git a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/driver.md b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/driver.md index 223615f467..4b3fd1cc13 100644 --- a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/driver.md +++ b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/driver.md @@ -85,13 +85,24 @@ To do so, we'll extend sort `JSON` with some EVM specific syntax, and provide a B _ => 0 - TXID - TW - TR - TS + TXID + TW + TR + TS + .Account ... + rule startTx => loadTx( ACCTFROM ) ... + ListItem(TXID:Int) ... + _ => 0 + + TXID + ACCTFROM + ... + + requires notBool ACCTFROM ==K .Account + syntax EthereumCommand ::= loadTx ( Account ) [symbol(loadTx)] // -------------------------------------------------------------- rule loadTx(_) => startTx ... @@ -315,7 +326,7 @@ Note that `TEST` is sorted here so that key `"network"` comes before key `"pre"` ```k syntax Set ::= "#loadKeys" [function] // ------------------------------------- - rule #loadKeys => ( SetItem("env") SetItem("pre") SetItem("rlp") SetItem("network") SetItem("genesisRLP") ) + rule #loadKeys => ( SetItem("env") SetItem("pre") SetItem("rlp") SetItem("network") SetItem("genesisRLP") SetItem("transaction")) rule run TESTID : { KEY : (VAL:JSON) , REST } => load KEY : VAL ~> run TESTID : { REST } ... requires KEY in #loadKeys @@ -352,6 +363,7 @@ Note that `TEST` is sorted here so that key `"network"` comes before key `"pre"` rule process TESTID : { KEY : VAL , REST } => process TESTID : { REST } ~> check TESTID : {KEY : VAL} ... requires KEY in #checkKeys rule process _TESTID : { .JSONs } => #startBlock ~> startTx ... + rule run _TESTID : { .JSONs } => #startBlock ~> startTx ... rule run _TESTID : { "exec" : (EXEC:JSON) } => loadCallState EXEC ~> start ~> flush ... rule load "exec" : J => loadCallState J ... @@ -413,6 +425,13 @@ Note that `TEST` is sorted here so that key `"network"` comes before key `"pre"` rule loadTransaction _ { "maxPriorityFeePerGas" : (V:Bytes => #asWord(V)), _ } ... rule loadTransaction _ { "maxFeePerGas" : (V:Bytes => #asWord(V)), _ } ... rule loadTransaction _ { "maxFeePerBlobGas" : (V:Bytes => #asWord(V)), _ } ... + + // for state-tests + + rule loadTransaction _ { KEY : ((VAL:String) => #parseWord(VAL)), _ } ... + requires KEY in (SetItem("nonce") SetItem("gasPrice") SetItem("gasLimit") SetItem("to") SetItem("value") SetItem("sender") SetItem("maxPriorityFeePerGas") SetItem("maxFeePerGas") SetItem("maxFeePerBlobGas")) + rule loadTransaction _ { KEY : ((VAL:String) => #parseByteStack(VAL)), _ } ... + requires KEY in (SetItem("data")) ``` ### Checking State @@ -437,7 +456,18 @@ Note that `TEST` is sorted here so that key `"network"` comes before key `"pre"` requires KEY in (SetItem("callcreates")) andBool notBool sortedJSONs(JS) rule check TESTID : { "post" : (POST:String) } => check "blockHeader" : { "stateRoot" : #parseWord(POST) } ~> failure TESTID ... - rule check TESTID : { "post" : { POST } } => check "account" : { POST } ~> failure TESTID ... + rule check TESTID : { "post" : {(SCHEDULE_STR:String) : [ POST ] } } + => check TESTID : { "post" : POST } ~> failure TESTID ... + SCHEDULE + requires #asScheduleString(SCHEDULE_STR) ==K SCHEDULE + + rule check TESTID : { "post" : { (KEY : _VALUE, REST => REST) } } ... requires KEY in (SetItem("hash") SetItem("logs") SetItem("txbytes") SetItem("indexes")) + rule check _TESTID : { "post" : { "state" : { STATE } } } => check "account" : { STATE } ... + + // rule check TESTID : { "post" : { "hash" : (HASH:String), REST } } + // => check "blockHeader" : { "hash" : #parseByteStack(HASH) } ~> check TESTID : { "post" : { REST }} ... + + rule check TESTID : { "post" : { POST } } => check "account" : { POST } ~> failure TESTID ... [owise] rule check "account" : { ACCTID:Int : { KEY : VALUE , REST } } => check "account" : { ACCTID : { KEY : VALUE } } ~> check "account" : { ACCTID : { REST } } ... requires REST =/=K .JSONs 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 6732b424a3..5fefd1aae8 100644 --- a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/evm.md +++ b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/evm.md @@ -171,6 +171,7 @@ In the comments next to each cell, we've marked which component of the YellowPap .TxType // T_x 0 .List + .Account diff --git a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/state-utils.md b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/state-utils.md index dd1ddec6be..07f7e9438d 100644 --- a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/state-utils.md +++ b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/state-utils.md @@ -137,17 +137,19 @@ Here we load the environmental information. ```k rule load "env" : { KEY : ((VAL:String) => #parseWord(VAL)) } ... - requires KEY in (SetItem("currentTimestamp") SetItem("currentGasLimit") SetItem("currentNumber") SetItem("currentDifficulty") SetItem("currentBaseFee")) + requires KEY in (SetItem("currentTimestamp") SetItem("currentGasLimit") SetItem("currentNumber") SetItem("currentDifficulty") SetItem("currentBaseFee") SetItem("currentRandom") SetItem("currentExcessBlobGas")) rule load "env" : { KEY : ((VAL:String) => #parseHexWord(VAL)) } ... requires KEY in (SetItem("currentCoinbase") SetItem("previousHash")) // ---------------------------------------------------------------------- - rule load "env" : { "currentCoinbase" : (CB:Int) } => .K ... _ => CB - rule load "env" : { "currentDifficulty" : (DIFF:Int) } => .K ... _ => DIFF - rule load "env" : { "currentGasLimit" : (GLIMIT:Int) } => .K ... _ => GLIMIT - rule load "env" : { "currentNumber" : (NUM:Int) } => .K ... _ => NUM - rule load "env" : { "previousHash" : (HASH:Int) } => .K ... _ => HASH - rule load "env" : { "currentTimestamp" : (TS:Int) } => .K ... _ => TS - rule load "env" : { "currentBaseFee" : (BF:Int) } => .K ... _ => BF + rule load "env" : { "currentCoinbase" : (CB:Int) } => .K ... _ => CB + rule load "env" : { "currentDifficulty" : (DIFF:Int) } => .K ... _ => DIFF + rule load "env" : { "currentGasLimit" : (GLIMIT:Int) } => .K ... _ => GLIMIT + rule load "env" : { "currentNumber" : (NUM:Int) } => .K ... _ => NUM + rule load "env" : { "previousHash" : (HASH:Int) } => .K ... _ => HASH + rule load "env" : { "currentTimestamp" : (TS:Int) } => .K ... _ => TS + rule load "env" : { "currentRandom" : (RANDAO:Int) } => .K ... _ => RANDAO + rule load "env" : { "currentBaseFee" : (BF:Int) } => .K ... _ => BF + rule load "env" : { "currentExcessBlobGas" : (BGAS:Int) } => .K ... _ => BGAS syntax KItem ::= "loadCallState" JSON // ------------------------------------- @@ -375,6 +377,18 @@ The `"rlp"` key loads the block information. requires #asWord(TYPE) ==Int #dasmTxPrefix(Blob) + rule load "transaction" : { "nonce" : TN , "gasPrice" : TP , "gasLimit" : [ TG , .JSONs ] , "to" : TT , "value" : [ TV , .JSONs ] , "data" : [ TD , .JSONs ] , "sender" : TS , "secretKey" : _TK , .JSONs } + => mkTX !ID:Int + ~> loadTransaction !ID { "data" : TD , "gasLimit" : TG , "gasPrice" : TP + , "nonce" : TN , "to" : TT , "value" : TV + , "type" : #dasmTxPrefix(Legacy) , "maxPriorityFeePerGas" : TP + , "maxFeePerGas": TP , "maxFeePerBlobGas" : 0 + , "blobVersionedHashes" : [ .JSONs ] , "sender" : TS + , .JSONs + } + ... + + syntax EthereumCommand ::= "loadTransaction" Int JSON // ----------------------------------------------------- rule loadTransaction _ { .JSONs } => .K ... @@ -427,6 +441,9 @@ The `"rlp"` key loads the block information. rule loadTransaction TXID { "blobVersionedHashes" : [TVH:JSONs], REST => REST } ... TXID _ => #parseJSONs2List(TVH) ... + + rule loadTransaction TXID { "sender" : TS:Int , REST => REST } ... + TXID _ => TS ... ``` ### Getting State From e5677e0cb4ae175f0228f125ad1b6c0e255c56e5 Mon Sep 17 00:00:00 2001 From: Andrei <16517508+anvacaru@users.noreply.github.com> Date: Tue, 22 Apr 2025 13:17:07 +0300 Subject: [PATCH 2/5] update execution-sepc-tests/failing.llvm --- tests/execution-spec-tests/failing.llvm | 441 ++++++++++++++++++++---- 1 file changed, 382 insertions(+), 59 deletions(-) diff --git a/tests/execution-spec-tests/failing.llvm b/tests/execution-spec-tests/failing.llvm index 976195c469..45e460624f 100644 --- a/tests/execution-spec-tests/failing.llvm +++ b/tests/execution-spec-tests/failing.llvm @@ -2389,25 +2389,129 @@ blockchain_tests/shanghai/eip4895_withdrawals/withdrawals/zero_amount.json,tests blockchain_tests/shanghai/eip4895_withdrawals/withdrawals/zero_amount.json,tests/shanghai/eip4895_withdrawals/test_withdrawals.py::test_zero_amount[fork_Prague-blockchain_test-three_withdrawals_one_with_value] blockchain_tests/shanghai/eip4895_withdrawals/withdrawals/zero_amount.json,tests/shanghai/eip4895_withdrawals/test_withdrawals.py::test_zero_amount[fork_Prague-blockchain_test-two_withdrawals_no_value] state_tests/berlin/eip2930_access_list/acl/access_list.json,* -state_tests/byzantium/eip198_modexp_precompile/modexp/modexp.json,* -state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_after_store.json,* -state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_gasprice.json,* -state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_other_after_tstore.json,* -state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_transaction_begin.json,* -state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_works.json,* -state_tests/cancun/eip1153_tstore/tload_calls/tload_calls.json,* -state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,* -state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,* -state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,* -state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,* -state_tests/cancun/eip1153_tstore/tstorage_selfdestruct/reentrant_selfdestructing_call.json,* -state_tests/cancun/eip1153_tstore/tstorage/gas_usage.json,* -state_tests/cancun/eip1153_tstore/tstorage/run_until_out_of_gas.json,* -state_tests/cancun/eip1153_tstore/tstorage/tload_after_sstore.json,* -state_tests/cancun/eip1153_tstore/tstorage/tload_after_tstore_is_zero.json,* -state_tests/cancun/eip1153_tstore/tstorage/tload_after_tstore.json,* -state_tests/cancun/eip1153_tstore/tstorage/transient_storage_unset_values.json,* -state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,* +state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_after_store.json,tests/cancun/eip1153_tstore/test_basic_tload.py::test_basic_tload_after_store[fork_Prague-state_test] +state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_gasprice.json,tests/cancun/eip1153_tstore/test_basic_tload.py::test_basic_tload_gasprice[fork_Prague-state_test] +state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_other_after_tstore.json,tests/cancun/eip1153_tstore/test_basic_tload.py::test_basic_tload_other_after_tstore[fork_Prague-state_test] +state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_transaction_begin.json,tests/cancun/eip1153_tstore/test_basic_tload.py::test_basic_tload_transaction_begin[fork_Prague-state_test] +state_tests/cancun/eip1153_tstore/basic_tload/basic_tload_works.json,tests/cancun/eip1153_tstore/test_basic_tload.py::test_basic_tload_works[fork_Prague-state_test] +state_tests/cancun/eip1153_tstore/tload_calls/tload_calls.json,tests/cancun/eip1153_tstore/test_tload_calls.py::test_tload_calls[fork_Prague-state_test-call_type_CALL] +state_tests/cancun/eip1153_tstore/tload_calls/tload_calls.json,tests/cancun/eip1153_tstore/test_tload_calls.py::test_tload_calls[fork_Prague-state_test-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tload_calls/tload_calls.json,tests/cancun/eip1153_tstore/test_tload_calls.py::test_tload_calls[fork_Prague-state_test-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_OOG-call_type_CALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_OOG-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_OOG-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_OOG-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_RETURN-call_type_CALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_RETURN-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_RETURN-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_RETURN-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_REVERT-call_type_CALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_REVERT-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_REVERT-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_REVERT-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_OOG-call_type_CALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_OOG-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_OOG-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_OOG-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_RETURN-call_type_CALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_RETURN-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_RETURN-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_RETURN-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_REVERT-call_type_CALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_REVERT-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_REVERT-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tload_reentrancy/tload_reentrancy.json,tests/cancun/eip1153_tstore/test_tload_reentrancy.py::test_tload_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_REVERT-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-across_constructor_and_deployed_code_v0-create] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-across_constructor_and_deployed_code_v0-create2] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-across_constructor_and_deployed_code_v1-create] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-across_constructor_and_deployed_code_v1-create2] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-in_constructor_and_deployed_code-create] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-in_constructor_and_deployed_code-create2] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-no_constructor_code-create] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-no_constructor_code-create2] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-only_constructor_code-create] +state_tests/cancun/eip1153_tstore/tstorage_create_contexts/contract_creation.json,tests/cancun/eip1153_tstore/test_tstorage_create_contexts.py::TestTransientStorageInContractCreation::test_contract_creation[fork_Prague-state_test-only_constructor_code-create2] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-call_with_invalid] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-call_with_out_of_gas_2] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-call_with_out_of_gas] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-call_with_revert] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-call_with_stack_overflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-call_with_tload_stack_underflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-call_with_tstore_stack_underflow_2] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-call_with_tstore_stack_underflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-call] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-callcode_with_invalid] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-callcode_with_out_of_gas_2] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-callcode_with_out_of_gas] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-callcode_with_revert] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-callcode_with_stack_overflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-callcode_with_tload_stack_underflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-callcode_with_tstore_stack_underflow_2] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-callcode_with_tstore_stack_underflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-callcode] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-delegatecall_with_invalid] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-delegatecall_with_out_of_gas_2] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-delegatecall_with_out_of_gas] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-delegatecall_with_revert] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-delegatecall_with_stack_overflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-delegatecall_with_tload_stack_underflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-delegatecall_with_tstore_stack_underflow_2] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-delegatecall_with_tstore_stack_underflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-delegatecall] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-staticcall_cant_call_tstore_with_stack_underflow] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-staticcall_cant_call_tstore] +state_tests/cancun/eip1153_tstore/tstorage_execution_contexts/subcall.json,tests/cancun/eip1153_tstore/test_tstorage_execution_contexts.py::test_subcall[fork_Prague-state_test-staticcalled_context_can_call_tload] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-invalid_undoes_all] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-invalid_undoes_tstorage_after_successful_call] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-manipulate_in_reentrant_call] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-revert_undoes_all] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-revert_undoes_tstorage_after_successful_call] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-tload_after_reentrant_tstore] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-tstore_before_invalid_has_no_effect] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-tstore_before_revert_has_no_effect] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-tstore_in_call_then_tload_return_in_staticcall] +state_tests/cancun/eip1153_tstore/tstorage_reentrancy_contexts/reentrant_call.json,tests/cancun/eip1153_tstore/test_tstorage_reentrancy_contexts.py::test_reentrant_call[fork_Prague-state_test-tstore_in_reentrant_call] +state_tests/cancun/eip1153_tstore/tstorage_selfdestruct/reentrant_selfdestructing_call.json,tests/cancun/eip1153_tstore/test_tstorage_selfdestruct.py::test_reentrant_selfdestructing_call[fork_Prague-state_test-tload_after_inner_selfdestruct_new_contract] +state_tests/cancun/eip1153_tstore/tstorage_selfdestruct/reentrant_selfdestructing_call.json,tests/cancun/eip1153_tstore/test_tstorage_selfdestruct.py::test_reentrant_selfdestructing_call[fork_Prague-state_test-tload_after_inner_selfdestruct_pre_existing_contract] +state_tests/cancun/eip1153_tstore/tstorage_selfdestruct/reentrant_selfdestructing_call.json,tests/cancun/eip1153_tstore/test_tstorage_selfdestruct.py::test_reentrant_selfdestructing_call[fork_Prague-state_test-tload_after_selfdestruct_new_contract] +state_tests/cancun/eip1153_tstore/tstorage_selfdestruct/reentrant_selfdestructing_call.json,tests/cancun/eip1153_tstore/test_tstorage_selfdestruct.py::test_reentrant_selfdestructing_call[fork_Prague-state_test-tload_after_selfdestruct_pre_existing_contract] +state_tests/cancun/eip1153_tstore/tstorage_selfdestruct/reentrant_selfdestructing_call.json,tests/cancun/eip1153_tstore/test_tstorage_selfdestruct.py::test_reentrant_selfdestructing_call[fork_Prague-state_test-tstore_after_selfdestruct_new_contract] +state_tests/cancun/eip1153_tstore/tstorage_selfdestruct/reentrant_selfdestructing_call.json,tests/cancun/eip1153_tstore/test_tstorage_selfdestruct.py::test_reentrant_selfdestructing_call[fork_Prague-state_test-tstore_after_selfdestruct_pre_existing_contract] +state_tests/cancun/eip1153_tstore/tstorage/gas_usage.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_gas_usage[fork_Prague-state_test-tload] +state_tests/cancun/eip1153_tstore/tstorage/gas_usage.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_gas_usage[fork_Prague-state_test-tstore_cold] +state_tests/cancun/eip1153_tstore/tstorage/gas_usage.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_gas_usage[fork_Prague-state_test-tstore_tload] +state_tests/cancun/eip1153_tstore/tstorage/gas_usage.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_gas_usage[fork_Prague-state_test-tstore_warm] +state_tests/cancun/eip1153_tstore/tstorage/run_until_out_of_gas.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_run_until_out_of_gas[fork_Prague-state_test-tstore_tload] +state_tests/cancun/eip1153_tstore/tstorage/run_until_out_of_gas.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_run_until_out_of_gas[fork_Prague-state_test-tstore_wide_address_space] +state_tests/cancun/eip1153_tstore/tstorage/run_until_out_of_gas.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_run_until_out_of_gas[fork_Prague-state_test-tstore] +state_tests/cancun/eip1153_tstore/tstorage/tload_after_sstore.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_tload_after_sstore[fork_Prague-state_test] +state_tests/cancun/eip1153_tstore/tstorage/tload_after_tstore_is_zero.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_tload_after_tstore_is_zero[fork_Prague-state_test] +state_tests/cancun/eip1153_tstore/tstorage/tload_after_tstore.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_tload_after_tstore[fork_Prague-state_test] +state_tests/cancun/eip1153_tstore/tstorage/transient_storage_unset_values.json,tests/cancun/eip1153_tstore/test_tstorage.py::test_transient_storage_unset_values[fork_Prague-state_test] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_OOG-call_type_CALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_OOG-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_OOG-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_OOG-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_RETURN-call_type_CALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_RETURN-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_RETURN-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_RETURN-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_REVERT-call_type_CALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_REVERT-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_REVERT-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.EXTERNAL_CALL-call_return_REVERT-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_OOG-call_type_CALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_OOG-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_OOG-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_OOG-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_RETURN-call_type_CALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_RETURN-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_RETURN-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_RETURN-call_type_STATICCALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_REVERT-call_type_CALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_REVERT-call_type_CALLCODE] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_REVERT-call_type_DELEGATECALL] +state_tests/cancun/eip1153_tstore/tstore_reentrancy/tstore_reentrancy.json,tests/cancun/eip1153_tstore/test_tstore_reentrancy.py::test_tstore_reentrancy[fork_Prague-state_test-call_dest_type_CallDestType.REENTRANCY-call_return_REVERT-call_type_STATICCALL] state_tests/cancun/eip4844_blobs/blob_txs/blob_gas_subtraction_tx.json,* state_tests/cancun/eip4844_blobs/blob_txs/blob_tx_attribute_calldata_opcodes.json,* state_tests/cancun/eip4844_blobs/blob_txs/blob_tx_attribute_gasprice_opcode.json,* @@ -2420,22 +2524,264 @@ state_tests/cancun/eip4844_blobs/blob_txs/invalid_normal_gas.json,* state_tests/cancun/eip4844_blobs/blob_txs/invalid_tx_blob_count.json,* state_tests/cancun/eip4844_blobs/blob_txs/invalid_tx_max_fee_per_blob_gas_state.json,* state_tests/cancun/eip4844_blobs/blob_txs/sufficient_balance_blob_tx.json,* -state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,* -state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,* -state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,* -state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,* -state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,* -state_tests/cancun/eip4844_blobs/point_evaluation_precompile/precompile_before_fork.json,* +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_0] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_1] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_2] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_3] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_4] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_0] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_1] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_2] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_3] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_4] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_0] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_1] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_2] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_3] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_4] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_0] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_1] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_2] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_3] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_4] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_0] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_1] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_2] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_3] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_4] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_0] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_1] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_2] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_3] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_4] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_0] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_1] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_2] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_3] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_4] +state_tests/cancun/eip4844_blobs/blobhash_opcode/blobhash_gas_cost.json,tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-exact_gas-call_type_CALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-exact_gas-call_type_CALLCODE] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-exact_gas-call_type_DELEGATECALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-exact_gas-call_type_STATICCALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-extra_gas-call_type_CALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-extra_gas-call_type_CALLCODE] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-extra_gas-call_type_DELEGATECALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-extra_gas-call_type_STATICCALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-insufficient_gas-call_type_CALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-insufficient_gas-call_type_CALLCODE] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-insufficient_gas-call_type_DELEGATECALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_correct-insufficient_gas-call_type_STATICCALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-exact_gas-call_type_CALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-exact_gas-call_type_CALLCODE] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-exact_gas-call_type_DELEGATECALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-exact_gas-call_type_STATICCALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-extra_gas-call_type_CALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-extra_gas-call_type_CALLCODE] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-extra_gas-call_type_DELEGATECALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-extra_gas-call_type_STATICCALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-insufficient_gas-call_type_CALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-insufficient_gas-call_type_CALLCODE] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-insufficient_gas-call_type_DELEGATECALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile_gas/point_evaluation_precompile_gas_usage.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py::test_point_evaluation_precompile_gas_usage[fork_Prague-state_test-proof_incorrect-insufficient_gas-call_type_STATICCALL] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_CALL-evm_code_type_LEGACY-state_test--correct] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_CALL-evm_code_type_LEGACY-state_test--incorrect] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_CALL-evm_code_type_LEGACY-state_test--insufficient_gas] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_CALLCODE-evm_code_type_LEGACY-state_test--correct] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_CALLCODE-evm_code_type_LEGACY-state_test--incorrect] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_CALLCODE-evm_code_type_LEGACY-state_test--insufficient_gas] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_DELEGATECALL-evm_code_type_LEGACY-state_test--correct] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_DELEGATECALL-evm_code_type_LEGACY-state_test--incorrect] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_DELEGATECALL-evm_code_type_LEGACY-state_test--insufficient_gas] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_STATICCALL-evm_code_type_LEGACY-state_test--correct] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_STATICCALL-evm_code_type_LEGACY-state_test--incorrect] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/call_opcode_types.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_call_opcode_types[fork_Prague-call_opcode_STATICCALL-evm_code_type_LEGACY-state_test--insufficient_gas] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_02e696ada7d4631d] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_05c1f3685f3393f0] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_08f9e2f1cb3d39db] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_0cf79b17cb5f4ea2] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_177b58dc7a46b08f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_1ce8e4f69d5df899] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_26b753dec0560daa] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_2b76dc9e3abf42f3] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_31ebd010e6098750] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_3208425794224c3f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_36817bfd67de97a8] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_392169c16a2e5ef6] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_395cf6d697d1a743] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_3ac8dc31e9aa6a70] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_3c1e8b38219e3e12] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_3c87ec986c2656c2] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_3cd183d0bab85fb7] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_420f2a187ce77035] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_444b73ff54a19b44] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_53a9bdf4f75196da] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_585454b31673dd62] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_7db4f140a955dd1a] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_83e53423a2dd93fe] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_9b24f8997145435c] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_9b754afb690c47e1] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_a0be66af9a97ea52] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_af669445747d2585] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_af8b75f664ed7d43] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_b6cb6698327d9835] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_b6ec3736f9ff2c62] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_becf2e1641bbd4e6] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_c3d4322ec17fe7cd] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_c5e1490d672d026d] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_cae5d3491190b777] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_d0992bc0387790a4] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_d736268229bd87ec] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_e68d7111a2364a49] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_ed6b180ec759bcf6] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_f0ed3dc11cdeb130] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_f47eb9fc139f6bfd] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_f7f44e1e864aa967] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_ffa6e97b97146517] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_poly_05c1f3685f3393f0] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_poly_177b58dc7a46b08f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_poly_2b76dc9e3abf42f3] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_poly_395cf6d697d1a743] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_poly_585454b31673dd62] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_poly_a0be66af9a97ea52] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_poly_02e696ada7d4631d] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_poly_0cf79b17cb5f4ea2] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_poly_3208425794224c3f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_poly_3ac8dc31e9aa6a70] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_poly_c3d4322ec17fe7cd] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_poly_ffa6e97b97146517] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_02e696ada7d4631d] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_05c1f3685f3393f0] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_08f9e2f1cb3d39db] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_0cf79b17cb5f4ea2] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_177b58dc7a46b08f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_1ce8e4f69d5df899] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_26b753dec0560daa] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_2b76dc9e3abf42f3] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_31ebd010e6098750] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_3208425794224c3f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_36817bfd67de97a8] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_392169c16a2e5ef6] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_395cf6d697d1a743] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_3ac8dc31e9aa6a70] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_3c1e8b38219e3e12] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_3c87ec986c2656c2] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_3cd183d0bab85fb7] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_420f2a187ce77035] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_444b73ff54a19b44] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_53a9bdf4f75196da] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_585454b31673dd62] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_7db4f140a955dd1a] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_83e53423a2dd93fe] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_9b24f8997145435c] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_9b754afb690c47e1] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_a0be66af9a97ea52] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_af669445747d2585] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_af8b75f664ed7d43] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_b6cb6698327d9835] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_b6ec3736f9ff2c62] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_becf2e1641bbd4e6] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_c3d4322ec17fe7cd] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_c5e1490d672d026d] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_cae5d3491190b777] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_d0992bc0387790a4] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_d736268229bd87ec] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_e68d7111a2364a49] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_ed6b180ec759bcf6] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_f0ed3dc11cdeb130] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_f47eb9fc139f6bfd] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_f7f44e1e864aa967] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_ffa6e97b97146517] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_point_at_infinity_392169c16a2e5ef6] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_point_at_infinity_3c1e8b38219e3e12] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_point_at_infinity_3c87ec986c2656c2] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_point_at_infinity_420f2a187ce77035] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_point_at_infinity_83e53423a2dd93fe] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_incorrect_proof_point_at_infinity_ed6b180ec759bcf6] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_commitment_1b44e341d56c757d] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_commitment_32afa9561a4b3b91] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_commitment_3e55802a5ed3c757] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_commitment_e9d3e9ec16fbc15f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_proof_1b44e341d56c757d] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_proof_32afa9561a4b3b91] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_proof_3e55802a5ed3c757] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_proof_e9d3e9ec16fbc15f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_y_35d08d612aad2197] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_y_4aa6def8c35c9097] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_y_4e51cef08a61606f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_y_64b9ff2b8f7dddee] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_y_b358a2e763727b70] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_y_eb0601fec84cc5e9] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_z_35d08d612aad2197] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_z_4aa6def8c35c9097] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_z_4e51cef08a61606f] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_z_64b9ff2b8f7dddee] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_z_b358a2e763727b70] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/external_vectors.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_external_vectors[fork_Prague-state_test-versioned_hash_None-verify_kzg_proof_case_invalid_z_eb0601fec84cc5e9] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-correct_proof_1_incorrect_versioned_hash_version_0x00] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-correct_proof_1_incorrect_versioned_hash_version_0x02] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-correct_proof_1_incorrect_versioned_hash_version_0xff] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-correct_proof_1_input_extra_long] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-correct_proof_1_input_too_long] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-correct_proof_1_input_too_short_2] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-correct_proof_1_input_too_short] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-null_inputs] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-out_of_bounds_y] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-out_of_bounds_z] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-zeros_inputs_correct_versioned_hash] +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/invalid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_invalid_inputs[fork_Prague-state_test-result_failure-zeros_inputs] state_tests/cancun/eip4844_blobs/point_evaluation_precompile/tx_entry_point.json,* -state_tests/cancun/eip4844_blobs/point_evaluation_precompile/valid_inputs.json,* -state_tests/cancun/eip5656_mcopy/mcopy_contexts/no_memory_corruption_on_upper_call_stack_levels.json,* -state_tests/cancun/eip5656_mcopy/mcopy_contexts/no_memory_corruption_on_upper_create_stack_levels.json,* +state_tests/cancun/eip4844_blobs/point_evaluation_precompile/valid_inputs.json,tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py::test_valid_inputs[fork_Prague-state_test-result_success-in_bounds_z] +state_tests/cancun/eip5656_mcopy/mcopy_contexts/no_memory_corruption_on_upper_call_stack_levels.json,tests/cancun/eip5656_mcopy/test_mcopy_contexts.py::test_no_memory_corruption_on_upper_call_stack_levels[fork_Prague-call_opcode_CALL-evm_code_type_LEGACY-state_test] +state_tests/cancun/eip5656_mcopy/mcopy_contexts/no_memory_corruption_on_upper_call_stack_levels.json,tests/cancun/eip5656_mcopy/test_mcopy_contexts.py::test_no_memory_corruption_on_upper_call_stack_levels[fork_Prague-call_opcode_CALLCODE-evm_code_type_LEGACY-state_test] +state_tests/cancun/eip5656_mcopy/mcopy_contexts/no_memory_corruption_on_upper_call_stack_levels.json,tests/cancun/eip5656_mcopy/test_mcopy_contexts.py::test_no_memory_corruption_on_upper_call_stack_levels[fork_Prague-call_opcode_DELEGATECALL-evm_code_type_LEGACY-state_test] +state_tests/cancun/eip5656_mcopy/mcopy_contexts/no_memory_corruption_on_upper_call_stack_levels.json,tests/cancun/eip5656_mcopy/test_mcopy_contexts.py::test_no_memory_corruption_on_upper_call_stack_levels[fork_Prague-call_opcode_STATICCALL-evm_code_type_LEGACY-state_test] +state_tests/cancun/eip5656_mcopy/mcopy_contexts/no_memory_corruption_on_upper_create_stack_levels.json,tests/cancun/eip5656_mcopy/test_mcopy_contexts.py::test_no_memory_corruption_on_upper_create_stack_levels[fork_Prague-state_test-call_opcode_CREATE] +state_tests/cancun/eip5656_mcopy/mcopy_contexts/no_memory_corruption_on_upper_create_stack_levels.json,tests/cancun/eip5656_mcopy/test_mcopy_contexts.py::test_no_memory_corruption_on_upper_create_stack_levels[fork_Prague-state_test-call_opcode_CREATE2] state_tests/cancun/eip5656_mcopy/mcopy_memory_expansion/mcopy_huge_memory_expansion.json,* state_tests/cancun/eip5656_mcopy/mcopy_memory_expansion/mcopy_memory_expansion.json,* -state_tests/cancun/eip5656_mcopy/mcopy/mcopy_on_empty_memory.json,* -state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,* -state_tests/cancun/eip6780_selfdestruct/dynamic_create2_selfdestruct_collision/dynamic_create2_selfdestruct_collision.json,* -state_tests/cancun/eip6780_selfdestruct/reentrancy_selfdestruct_revert/reentrancy_selfdestruct_revert.json,* +state_tests/cancun/eip5656_mcopy/mcopy/mcopy_on_empty_memory.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory[fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_0-dest_0] +state_tests/cancun/eip5656_mcopy/mcopy/mcopy_on_empty_memory.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory[fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_0-dest_32] +state_tests/cancun/eip5656_mcopy/mcopy/mcopy_on_empty_memory.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory[fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_32-dest_0] +state_tests/cancun/eip5656_mcopy/mcopy/mcopy_on_empty_memory.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory[fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_32-dest_32] +state_tests/cancun/eip5656_mcopy/mcopy/mcopy_on_empty_memory.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory[fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_0-dest_0] +state_tests/cancun/eip5656_mcopy/mcopy/mcopy_on_empty_memory.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory[fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_0-dest_32] +state_tests/cancun/eip5656_mcopy/mcopy/mcopy_on_empty_memory.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory[fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_32-dest_0] +state_tests/cancun/eip5656_mcopy/mcopy/mcopy_on_empty_memory.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory[fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_32-dest_32] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-full_memory_clean] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-full_memory_copy_offset] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-full_memory_copy] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-full_memory_rewrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-full_word_forward_overwrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-full_word_rewrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-mid_word_multi_word_rewrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-mid_word_single_byte_rewrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-mid_word_single_word_rewrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-out_of_bounds_memory_extension] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-single_byte_forward_overwrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-single_byte_memory_extension] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-single_byte_rewrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-single_word_memory_extension] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-single_word_minus_one_byte_memory_extension] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-single_word_plus_one_byte_memory_extension] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-two_words_backward_overwrite_single_byte_offset] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-two_words_backward_overwrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-two_words_forward_overwrite] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-zero_inputs] +state_tests/cancun/eip5656_mcopy/mcopy/valid_mcopy_operations.json,tests/cancun/eip5656_mcopy/test_mcopy.py::test_valid_mcopy_operations[fork_Prague-evm_code_type_LEGACY-state_test-zero_length_out_of_bounds_destination] state_tests/cancun/eip6780_selfdestruct/selfdestruct_revert/selfdestruct_created_in_same_tx_with_revert.json,* state_tests/cancun/eip6780_selfdestruct/selfdestruct_revert/selfdestruct_not_created_in_same_tx_with_revert.json,* state_tests/cancun/eip6780_selfdestruct/selfdestruct/calling_from_new_contract_to_pre_existing_contract.json,* @@ -2445,27 +2791,11 @@ state_tests/cancun/eip6780_selfdestruct/selfdestruct/create_selfdestruct_same_tx state_tests/cancun/eip6780_selfdestruct/selfdestruct/self_destructing_initcode_create_tx.json,* state_tests/cancun/eip6780_selfdestruct/selfdestruct/self_destructing_initcode.json,* state_tests/cancun/eip6780_selfdestruct/selfdestruct/selfdestruct_pre_existing.json,* -state_tests/cancun/eip7516_blobgasfee/blobgasfee_opcode/blobbasefee_before_fork.json,* -state_tests/cancun/eip7516_blobgasfee/blobgasfee_opcode/blobbasefee_out_of_gas.json,* -state_tests/cancun/eip7516_blobgasfee/blobgasfee_opcode/blobbasefee_stack_overflow.json,* -state_tests/constantinople/eip1014_create2/create_returndata/create2_return_data.json,* -state_tests/frontier/opcodes/all_opcodes/all_opcodes.json,* +state_tests/cancun/eip7516_blobgasfee/blobgasfee_opcode/blobbasefee_out_of_gas.json,tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_out_of_gas[fork_Prague-state_test-enough_gas] +state_tests/cancun/eip7516_blobgasfee/blobgasfee_opcode/blobbasefee_out_of_gas.json,tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_out_of_gas[fork_Prague-state_test-out_of_gas] +state_tests/cancun/eip7516_blobgasfee/blobgasfee_opcode/blobbasefee_stack_overflow.json,tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_stack_overflow[fork_Prague-state_test-no_stack_overflow] +state_tests/cancun/eip7516_blobgasfee/blobgasfee_opcode/blobbasefee_stack_overflow.json,tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_stack_overflow[fork_Prague-state_test-stack_overflow] state_tests/frontier/opcodes/all_opcodes/cover_revert.json,* -state_tests/frontier/opcodes/call_and_callcode_gas_calculation/value_transfer_gas_calculation.json,* -state_tests/frontier/opcodes/calldatacopy/calldatacopy.json,* -state_tests/frontier/opcodes/dup/dup.json,* -state_tests/frontier/opcodes/push/push.json,* -state_tests/frontier/opcodes/push/stack_overflow.json,* -state_tests/frontier/precompiles/precompile_absence/precompile_absence.json,* -state_tests/frontier/precompiles/precompiles/precompiles.json,* -state_tests/homestead/coverage/coverage/coverage.json,* -state_tests/homestead/yul/yul_example/yul.json,* -state_tests/istanbul/eip1344_chainid/chainid/chainid.json,* -state_tests/istanbul/eip152_blake2/blake2_delegatecall/blake2_precompile_delegatecall.json,* -state_tests/istanbul/eip152_blake2/blake2/blake2b_gas_limit.json,* -state_tests/istanbul/eip152_blake2/blake2/blake2b_invalid_gas.json,* -state_tests/istanbul/eip152_blake2/blake2/blake2b_large_gas_limit.json,* -state_tests/istanbul/eip152_blake2/blake2/blake2b.json,* state_tests/prague/eip2537_bls_12_381_precompiles/bls12_g1add/call_types.json,* state_tests/prague/eip2537_bls_12_381_precompiles/bls12_g1add/gas.json,* state_tests/prague/eip2537_bls_12_381_precompiles/bls12_g1add/invalid.json,* @@ -2500,7 +2830,6 @@ state_tests/prague/eip2537_bls_12_381_precompiles/bls12_pairing/call_types.json, state_tests/prague/eip2537_bls_12_381_precompiles/bls12_pairing/invalid.json,* state_tests/prague/eip2537_bls_12_381_precompiles/bls12_pairing/multi_pair_invalid_inf.json,* state_tests/prague/eip2537_bls_12_381_precompiles/bls12_pairing/valid.json,* -state_tests/prague/eip2537_bls_12_381_precompiles/bls12_precompiles_before_fork/precompile_before_fork.json,* state_tests/prague/eip2537_bls_12_381_precompiles/bls12_variable_length_input_contracts/invalid_gas_g1msm.json,* state_tests/prague/eip2537_bls_12_381_precompiles/bls12_variable_length_input_contracts/invalid_gas_g2msm.json,* state_tests/prague/eip2537_bls_12_381_precompiles/bls12_variable_length_input_contracts/invalid_gas_pairing.json,* @@ -2585,14 +2914,8 @@ state_tests/prague/eip7702_set_code_tx/set_code_txs/tx_into_chain_delegating_set state_tests/prague/eip7702_set_code_tx/set_code_txs/tx_into_self_delegating_set_code.json,* state_tests/prague/eip7702_set_code_tx/set_code_txs/valid_tx_invalid_auth_signature.json,* state_tests/prague/eip7702_set_code_tx/set_code_txs/valid_tx_invalid_chain_id.json,* -state_tests/shanghai/eip3651_warm_coinbase/warm_coinbase/warm_coinbase_call_out_of_gas.json,* -state_tests/shanghai/eip3651_warm_coinbase/warm_coinbase/warm_coinbase_gas_usage.json,* -state_tests/shanghai/eip3855_push0/push0/push0_contract_during_call_contexts.json,* -state_tests/shanghai/eip3855_push0/push0/push0_contracts.json,* state_tests/shanghai/eip3860_initcode/initcode/contract_creating_tx.json,* -state_tests/shanghai/eip3860_initcode/initcode/create_opcode_initcode.json,* state_tests/shanghai/eip3860_initcode/initcode/gas_usage.json,* -state_tests/shanghai/eip3860_initcode/with_eof/legacy_create_edge_code_size.json,* transaction_tests/prague/eip7702_set_code_tx/invalid_tx/empty_authorization_list.json,* transaction_tests/prague/eip7702_set_code_tx/invalid_tx/invalid_auth_signature.json,* transaction_tests/prague/eip7702_set_code_tx/invalid_tx/invalid_tx_invalid_address.json,* From 832d4c5c328da999f2e26b73c7bde016029158ce Mon Sep 17 00:00:00 2001 From: Andrei <16517508+anvacaru@users.noreply.github.com> Date: Wed, 23 Apr 2025 11:53:35 +0300 Subject: [PATCH 3/5] more tweaks; save wip --- kevm-pyk/src/kevm_pyk/interpreter.py | 4 +- .../kevm_pyk/kproj/evm-semantics/driver.md | 15 +++++--- .../kevm_pyk/kproj/evm-semantics/json-rpc.md | 10 +++++ .../kproj/evm-semantics/serialization.md | 7 ++-- .../kproj/evm-semantics/state-utils.md | 32 ++++++++++------ kevm-pyk/src/tests/unit/test_kevm.py | 22 +++++++++++ kevm-pyk/src/tests/utils.py | 38 ++++++++++++++++++- 7 files changed, 105 insertions(+), 23 deletions(-) diff --git a/kevm-pyk/src/kevm_pyk/interpreter.py b/kevm-pyk/src/kevm_pyk/interpreter.py index 3b4171377e..f1d98f882c 100644 --- a/kevm-pyk/src/kevm_pyk/interpreter.py +++ b/kevm-pyk/src/kevm_pyk/interpreter.py @@ -15,8 +15,6 @@ def interpret(gst_data: Any, schedule: str, mode: str, chainid: int, usegas: bool, *, check: bool = True) -> Pattern: """Interpret the given GST data using the LLVM backend.""" - if 'config' in gst_data.keys(): - schedule = gst_data['config']['network'].upper() - chainid = int(gst_data['config']['network'], 16) + init_kore = gst_to_kore(filter_gst_keys(gst_data), schedule, mode, chainid, usegas) return llvm_interpret(kdist.get('evm-semantics.llvm'), init_kore, check=check) diff --git a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/driver.md b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/driver.md index 4b3fd1cc13..a0dcba3ef9 100644 --- a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/driver.md +++ b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/driver.md @@ -236,6 +236,14 @@ To do so, we'll extend sort `JSON` with some EVM specific syntax, and provide a syntax EthereumCommand ::= #loadAccessList ( JSON ) [symbol(#loadAccessList)] | #loadAccessListAux ( Account , List ) [symbol(#loadAccessListAux)] // --------------------------------------------------------------------------------------------- + rule #loadAccessList ( [ { "address" : ACCT:String , "storageKeys" : [STRG] }, REST ] ) + => #loadAccessListAux (#parseAddr(ACCT), #parseAccessListStorageKeys([STRG])) + ~> #loadAccessList ([REST]) + ... + + SCHED + requires Ghasaccesslist << SCHED >> + rule #loadAccessList ([ .JSONs ]) => .K ... SCHED requires Ghasaccesslist << SCHED >> @@ -461,13 +469,10 @@ Note that `TEST` is sorted here so that key `"network"` comes before key `"pre"` SCHEDULE requires #asScheduleString(SCHEDULE_STR) ==K SCHEDULE - rule check TESTID : { "post" : { (KEY : _VALUE, REST => REST) } } ... requires KEY in (SetItem("hash") SetItem("logs") SetItem("txbytes") SetItem("indexes")) + rule check _TESTID : { "post" : { (KEY : _VALUE, REST => REST) } } ... requires KEY in (SetItem("hash") SetItem("logs") SetItem("txbytes") SetItem("indexes")) rule check _TESTID : { "post" : { "state" : { STATE } } } => check "account" : { STATE } ... - // rule check TESTID : { "post" : { "hash" : (HASH:String), REST } } - // => check "blockHeader" : { "hash" : #parseByteStack(HASH) } ~> check TESTID : { "post" : { REST }} ... - - rule check TESTID : { "post" : { POST } } => check "account" : { POST } ~> failure TESTID ... [owise] + rule check TESTID : { "post" : { POST } } => check "account" : { POST } ~> failure TESTID ... [owise] rule check "account" : { ACCTID:Int : { KEY : VALUE , REST } } => check "account" : { ACCTID : { KEY : VALUE } } ~> check "account" : { ACCTID : { REST } } ... requires REST =/=K .JSONs diff --git a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/json-rpc.md b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/json-rpc.md index b270999882..6419957927 100644 --- a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/json-rpc.md +++ b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/json-rpc.md @@ -68,6 +68,16 @@ module JSON-EXT // ---------------------- ``` + - in_keys - returns true if a key is present in a JSON object. + +```k + syntax Bool ::= inKeys ( String , JSONs ) [symbol(in_keys_json), function] + // -------------------------------------------------------------------------- + rule inKeys(_KEY, .JSONs) => false + rule inKeys(KEY, (KEY : _, _REST)) => true + rule inKeys(KEY, (KEY' : _, REST)) => inKeys(KEY, REST) requires KEY =/=String KEY' +``` + ```k endmodule ``` diff --git a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/serialization.md b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/serialization.md index 2884d5e99d..5995f63cf3 100644 --- a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/serialization.md +++ b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/serialization.md @@ -253,9 +253,10 @@ These parsers can interpret hex-encoded strings as `Int`s, `Bytes`s, and `Map`s. syntax List ::= #parseAccessListStorageKeys ( JSONs ) [symbol(#parseAccessListStorageKeys), function] | #parseAccessListStorageKeys ( JSONs , List ) [symbol(#parseAccessListStorageKeysAux), function] // -------------------------------------------------------------------------------------------------------------- - rule #parseAccessListStorageKeys( J ) => #parseAccessListStorageKeys(J, .List) - rule #parseAccessListStorageKeys([S:Bytes, REST ], RESULT:List) => #parseAccessListStorageKeys([REST], ListItem(#asWord(S)) RESULT ) - rule #parseAccessListStorageKeys([ .JSONs ], RESULT:List) => RESULT + rule #parseAccessListStorageKeys( J ) => #parseAccessListStorageKeys(J, .List) + rule #parseAccessListStorageKeys([S:String, REST ], RESULT:List) => #parseAccessListStorageKeys([REST], ListItem(#parseHexWord(S)) RESULT ) + rule #parseAccessListStorageKeys([S:Bytes, REST ], RESULT:List) => #parseAccessListStorageKeys([REST], ListItem(#asWord(S)) RESULT ) + rule #parseAccessListStorageKeys([ .JSONs ], RESULT:List) => RESULT ``` Unparsing diff --git a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/state-utils.md b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/state-utils.md index 07f7e9438d..151e245ae5 100644 --- a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/state-utils.md +++ b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/state-utils.md @@ -197,6 +197,7 @@ The `"network"` key allows setting the fee schedule inside the test. syntax List ::= "#parseJSONs2List" "(" JSONs ")" [function] // ---------------------------------------------------------- rule #parseJSONs2List ( .JSONs ) => .List + rule #parseJSONs2List ( (VAL:String), REST ) => ListItem(#parseByteStack(VAL)) #parseJSONs2List ( REST ) rule #parseJSONs2List ( (VAL:Bytes) , REST ) => ListItem(VAL) #parseJSONs2List ( REST ) ``` @@ -377,17 +378,13 @@ The `"rlp"` key loads the block information. requires #asWord(TYPE) ==Int #dasmTxPrefix(Blob) - rule load "transaction" : { "nonce" : TN , "gasPrice" : TP , "gasLimit" : [ TG , .JSONs ] , "to" : TT , "value" : [ TV , .JSONs ] , "data" : [ TD , .JSONs ] , "sender" : TS , "secretKey" : _TK , .JSONs } - => mkTX !ID:Int - ~> loadTransaction !ID { "data" : TD , "gasLimit" : TG , "gasPrice" : TP - , "nonce" : TN , "to" : TT , "value" : TV - , "type" : #dasmTxPrefix(Legacy) , "maxPriorityFeePerGas" : TP - , "maxFeePerGas": TP , "maxFeePerBlobGas" : 0 - , "blobVersionedHashes" : [ .JSONs ] , "sender" : TS - , .JSONs - } - ... - + rule load "transaction" : { TXDATA } => mkTX !ID:Int ~> loadTransaction !ID { "type": #dasmTxPrefix(Blob), TXDATA } ... + requires inKeys("blobVersionedHashes", TXDATA) + rule load "transaction" : { TXDATA } => mkTX !ID:Int ~> loadTransaction !ID { "type": #dasmTxPrefix(AccessList), TXDATA } ... + requires inKeys("accessLists", TXDATA) + andBool notBool inKeys("blobVersionedHashes", TXDATA) + rule load "transaction" : { TXDATA } => mkTX !ID:Int ~> loadTransaction !ID { "type": #dasmTxPrefix(Legacy), TXDATA } ... + [owise] syntax EthereumCommand ::= "loadTransaction" Int JSON // ----------------------------------------------------- @@ -444,6 +441,19 @@ The `"rlp"` key loads the block information. rule loadTransaction TXID { "sender" : TS:Int , REST => REST } ... TXID _ => TS ... + + rule loadTransaction _TXID { "accessLists" : [ .JSONs ], REST => REST } ... + + rule loadTransaction TXID { "accessLists" : [ [ TA:JSONs ] , TAS ], REST } + => loadTransaction TXID { "accessList" : [ TA ]} + ~> loadTransaction TXID { "accessLists" : [ TAS ], REST } ... + + rule loadTransaction _TXID {( KEY : [VAL, .JSONs] => KEY : VAL), _REST } ... + requires KEY in (SetItem("gasLimit") SetItem("value") SetItem("data")) + + rule loadTransaction _TXID {KEY : _VAL, REST => REST } ... + requires KEY in (SetItem("secretKey")) + ``` ### Getting State diff --git a/kevm-pyk/src/tests/unit/test_kevm.py b/kevm-pyk/src/tests/unit/test_kevm.py index 0c6ba81560..8f920bbf20 100644 --- a/kevm-pyk/src/tests/unit/test_kevm.py +++ b/kevm-pyk/src/tests/unit/test_kevm.py @@ -13,6 +13,7 @@ from pyk.prelude.utils import token from kevm_pyk.kevm import KEVM, KEVMSemantics, compute_jumpdests +from tests.utils import read_gst_schedule_and_chainid TEST_DATA: Final = [ ('single-ktoken', token(0), KToken('0x0', 'Int')), @@ -215,3 +216,24 @@ def test_is_mergeable(test_id: str, input: list[CTerm], expected: KInner, raise_ return # Then assert result == expected + + +GST_TEST_DATA = [ + ('base_0', {'config': {'network': 'Cancun', 'chainid': '0x01'}}, ('CANCUN', 1)), + ('base_1', {'post': {'Shanghai': {}}, 'config': {'chainid': '0x02'}}, ('SHANGHAI', 2)), + ('missing_network', {'config': {'chainid': '0x00'}}, (None, 0)), + ('missing_chainid', {'config': {'network': 'Berlin'}}, ('BERLIN', None)), + ('empty', {}, (None, None)), +] + + +@pytest.mark.parametrize( + 'test_id,input,expected', + GST_TEST_DATA, + ids=[test_id for test_id, *_ in GST_TEST_DATA], +) +def test_gst_schedule_and_chainid(test_id: str, input: dict, expected: tuple[str | None, int | None]) -> None: + # When + result = read_gst_schedule_and_chainid(input) + # Then + assert result == expected diff --git a/kevm-pyk/src/tests/utils.py b/kevm-pyk/src/tests/utils.py index 2602a18a1e..90a4a2ccd7 100644 --- a/kevm-pyk/src/tests/utils.py +++ b/kevm-pyk/src/tests/utils.py @@ -40,6 +40,7 @@ def _assert_exit_code_zero(pattern: Pattern) -> None: return pretty = kore_print(pattern, definition_dir=kdist.get('evm-semantics.llvm'), output=PrintOutput.PRETTY) + print('ACTUAL:', pretty) assert pretty == GOLDEN @@ -89,7 +90,17 @@ def _test( _LOGGER.info(f'Running test: {gst_file} - {test_name}') if test_name in skipped_gst_tests: continue - chain_id = compute_chain_id(gst_file_relative_path) + # for execution_spec_tests, we look for chainid and schedule in the test file + # TODO: using this approach we end up calling _schedule_to_kore of a possibly unimplemented schedule + # which would result in `llvm_interpret` throwing a RuntimeError like: + # No tag found for symbol LbIPRAGUE 'Unds 'EVM{}. Maybe attempted to evaluate a symbol with no rules + gst_schedule, gst_chain_id = read_gst_schedule_and_chainid(test) + if gst_schedule is not None: + schedule = gst_schedule + + # for the legacy test suite, we need to use the compute_chain_id func + chain_id = gst_chain_id if gst_chain_id is not None else compute_chain_id(gst_file_relative_path) + res = interpret({test_name: test}, schedule, mode, chain_id, usegas, check=False) try: @@ -110,3 +121,28 @@ def _test( for test_name in sorted(failing_tests): writer.writerow([gst_file_relative_path, test_name]) raise AssertionError(f'Found failing tests in GST file {gst_file_relative_path}: {failing_tests}') + + +def read_gst_schedule_and_chainid(test: dict) -> tuple[str | None, int | None]: + schedule = None + chainid = None + + # for blockchain_tests, json fixtures have `"config": { "network": "Cancun", "chainid": "0x01",...` + config = test.get('config') + if config: + network = config.get('network') + if network: + schedule = network.upper() + + chainid_str = config.get('chainid') + if chainid_str: + chainid = int(chainid_str, 16) + + # for state_tests, json fixtures have `"post": { "Berlin": [{ "hash": ...` + if not schedule and 'post' in test: + post = test['post'] + if post and len(post) == 1: + schedule = next(iter(post)).upper() + + return (schedule, chainid) + From ae0c8d34f06c616fe17eeb770f676081a3d0ba0b Mon Sep 17 00:00:00 2001 From: Andrei <16517508+anvacaru@users.noreply.github.com> Date: Wed, 23 Apr 2025 11:56:45 +0300 Subject: [PATCH 4/5] remove debug statement --- kevm-pyk/src/tests/utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/kevm-pyk/src/tests/utils.py b/kevm-pyk/src/tests/utils.py index 90a4a2ccd7..a8ba002292 100644 --- a/kevm-pyk/src/tests/utils.py +++ b/kevm-pyk/src/tests/utils.py @@ -40,7 +40,6 @@ def _assert_exit_code_zero(pattern: Pattern) -> None: return pretty = kore_print(pattern, definition_dir=kdist.get('evm-semantics.llvm'), output=PrintOutput.PRETTY) - print('ACTUAL:', pretty) assert pretty == GOLDEN From be9b1bdbd5092bfccf07454fae12d423be3e8f30 Mon Sep 17 00:00:00 2001 From: Andrei <16517508+anvacaru@users.noreply.github.com> Date: Wed, 23 Apr 2025 11:57:53 +0300 Subject: [PATCH 5/5] fix typos --- kevm-pyk/src/kevm_pyk/interpreter.py | 1 - kevm-pyk/src/kevm_pyk/kproj/evm-semantics/json-rpc.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/kevm-pyk/src/kevm_pyk/interpreter.py b/kevm-pyk/src/kevm_pyk/interpreter.py index f1d98f882c..ccd101895d 100644 --- a/kevm-pyk/src/kevm_pyk/interpreter.py +++ b/kevm-pyk/src/kevm_pyk/interpreter.py @@ -15,6 +15,5 @@ def interpret(gst_data: Any, schedule: str, mode: str, chainid: int, usegas: bool, *, check: bool = True) -> Pattern: """Interpret the given GST data using the LLVM backend.""" - init_kore = gst_to_kore(filter_gst_keys(gst_data), schedule, mode, chainid, usegas) return llvm_interpret(kdist.get('evm-semantics.llvm'), init_kore, check=check) diff --git a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/json-rpc.md b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/json-rpc.md index 6419957927..9aad4331aa 100644 --- a/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/json-rpc.md +++ b/kevm-pyk/src/kevm_pyk/kproj/evm-semantics/json-rpc.md @@ -68,7 +68,7 @@ module JSON-EXT // ---------------------- ``` - - in_keys - returns true if a key is present in a JSON object. + - inKeys - returns true if a key is present in a JSON object. ```k syntax Bool ::= inKeys ( String , JSONs ) [symbol(in_keys_json), function]