From a7ab56e0e0c50e2a6a47303018d2994d9aaddb89 Mon Sep 17 00:00:00 2001 From: LNTUyhy <1261137940@qq.com> Date: Thu, 22 Jan 2026 11:36:12 +0000 Subject: [PATCH 1/2] fix(test): compute blob base fee and effective gas price for state fixtures --- evmone | 1 + src/tests/evm_state_tests.cpp | 1 + src/tests/evm_test_fixtures.cpp | 95 +- ...st_blob_tx_attribute_calldata_opcodes.json | 1835 +++++ ...est_blob_tx_attribute_gasprice_opcode.json | 846 +++ .../test_blob_tx_attribute_opcodes.json | 412 + .../test_blob_tx_attribute_value_opcode.json | 613 ++ .../cancun/eip4844_blobs/test_blob_txs.py | 1430 ++++ .../eip4844_blobs/test_blob_txs_full.py | 296 + .../eip4844_blobs/test_blobhash_gas_cost.json | 6596 +++++++++++++++++ .../test_blobhash_opcode_contexts.json | 2001 +++++ .../test_blobhash_opcode_contexts.py | 329 + ...est_blobhash_opcode_contexts_tx_types.json | 712 ++ ...nvalid_blob_hash_versioning_single_tx.json | 724 ++ .../test_invalid_normal_gas.json | 181 + .../test_invalid_tx_blob_count.json | 371 + ...invalid_tx_max_fee_per_blob_gas_state.json | 360 + .../test_blobbasefee_before_fork.json | 102 + .../test_blobbasefee_out_of_gas.json | 448 ++ .../test_blobbasefee_stack_overflow.json | 448 ++ .../test_blobgasfee_opcode.py | 241 + 21 files changed, 18033 insertions(+), 9 deletions(-) create mode 160000 evmone create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_calldata_opcodes.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_gasprice_opcode.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_opcodes.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_value_opcode.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_txs.py create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_txs_full.py create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_gas_cost.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts_tx_types.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_blob_hash_versioning_single_tx.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_normal_gas.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_tx_blob_count.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_tx_max_fee_per_blob_gas_state.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_before_fork.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_out_of_gas.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_stack_overflow.json create mode 100644 tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py diff --git a/evmone b/evmone new file mode 160000 index 000000000..67adeb2b0 --- /dev/null +++ b/evmone @@ -0,0 +1 @@ +Subproject commit 67adeb2b035d20b7f371335123c54424871a77ff diff --git a/src/tests/evm_state_tests.cpp b/src/tests/evm_state_tests.cpp index b4088e2fe..80319d94e 100644 --- a/src/tests/evm_state_tests.cpp +++ b/src/tests/evm_state_tests.cpp @@ -250,6 +250,7 @@ ExecutionResult executeStateTest(const StateTestFixture &Fixture, InitialAccounts.push_back(Entry); } evmc_tx_context TxContext = Fixture.Environment; + TxContext.tx_origin = PT.Message->sender; if (!PT.BlobHashes.empty()) { TxContext.blob_hashes = PT.BlobHashes.data(); TxContext.blob_hashes_count = PT.BlobHashes.size(); diff --git a/src/tests/evm_test_fixtures.cpp b/src/tests/evm_test_fixtures.cpp index 15611b3bd..f328b8eef 100644 --- a/src/tests/evm_test_fixtures.cpp +++ b/src/tests/evm_test_fixtures.cpp @@ -7,12 +7,60 @@ #include #include +#include +#include #include #include namespace zen::evm_test_utils { using namespace zen::utils; +namespace { +intx::uint256 fakeExponential(uint64_t factor, uint64_t numerator, + uint64_t denominator) noexcept { + intx::uint256 i = 1; + intx::uint256 output = 0; + intx::uint256 numerator_accum = intx::uint256{factor} * denominator; + const intx::uint256 numerator256 = numerator; + while (numerator_accum > 0) { + output += numerator_accum; + if (const auto p = intx::umul(numerator_accum, numerator256); + p <= std::numeric_limits::max()) { + numerator_accum = intx::uint256(p) / (denominator * i); + } else { + return std::numeric_limits::max(); + } + i += 1; + } + return output / denominator; +} + +evmc::uint256be computeBlobBaseFee(uint64_t excess_blob_gas, + uint64_t base_fee_update_fraction) { + if (base_fee_update_fraction == 0) { + return parseUint256("0x01"); + } + const intx::uint256 base_fee = + fakeExponential(1, excess_blob_gas, base_fee_update_fraction); + evmc::uint256be result{}; + intx::be::store(result.bytes, base_fee); + return result; +} + +evmc::uint256be computeEffectiveGasPrice(const evmc::uint256be &max_fee, + const evmc::uint256be &max_priority, + const evmc::uint256be &base_fee) { + const intx::uint256 maxFee = intx::be::load(max_fee); + const intx::uint256 maxPriority = intx::be::load(max_priority); + const intx::uint256 baseFee = intx::be::load(base_fee); + const intx::uint256 capped = + (baseFee + maxPriority < maxFee) ? (baseFee + maxPriority) : maxFee; + evmc::uint256be result{}; + intx::be::store(result.bytes, capped); + return result; +} +} // namespace + std::vector parsePreAccounts(const rapidjson::Value &Pre) { std::vector Accounts; @@ -110,6 +158,8 @@ std::vector parseStateTestFile(const std::string &FilePath) { for (auto It = Doc.MemberBegin(); It != Doc.MemberEnd(); ++It) { StateTestFixture Fixture; Fixture.TestName = It->name.GetString(); + std::optional CurrentExcessBlobGas; + uint64_t BaseFeeUpdateFraction = 0x32f0ed; const rapidjson::Value &TestCase = It->value; @@ -165,9 +215,7 @@ std::vector parseStateTestFile(const std::string &FilePath) { stripHexPrefix(Env["currentExcessBlobGas"].GetString()); uint64_t ExcessBlobGas = std::stoull(ExcessStr.empty() ? "0" : ExcessStr, nullptr, 16); - if (ExcessBlobGas == 0) { - Fixture.Environment.blob_base_fee = parseUint256("0x01"); - } + CurrentExcessBlobGas = ExcessBlobGas; } } @@ -180,6 +228,35 @@ std::vector parseStateTestFile(const std::string &FilePath) { Fixture.Environment.chain_id = parseUint256(Config["chainId"].GetString()); } + + if (Config.HasMember("blobSchedule") && + Config["blobSchedule"].IsObject()) { + const rapidjson::Value &BlobSchedule = Config["blobSchedule"]; + const rapidjson::Value *Schedule = nullptr; + if (BlobSchedule.HasMember("Cancun") && + BlobSchedule["Cancun"].IsObject()) { + Schedule = &BlobSchedule["Cancun"]; + } else if (BlobSchedule.HasMember("Prague") && + BlobSchedule["Prague"].IsObject()) { + Schedule = &BlobSchedule["Prague"]; + } else if (BlobSchedule.MemberCount() > 0 && + BlobSchedule.MemberBegin()->value.IsObject()) { + Schedule = &BlobSchedule.MemberBegin()->value; + } + + if (Schedule && Schedule->HasMember("baseFeeUpdateFraction") && + (*Schedule)["baseFeeUpdateFraction"].IsString()) { + std::string FractionStr = + stripHexPrefix((*Schedule)["baseFeeUpdateFraction"].GetString()); + BaseFeeUpdateFraction = + std::stoull(FractionStr.empty() ? "0" : FractionStr, nullptr, 16); + } + } + } + + if (CurrentExcessBlobGas.has_value()) { + Fixture.Environment.blob_base_fee = + computeBlobBaseFee(*CurrentExcessBlobGas, BaseFeeUpdateFraction); } if (TestCase.HasMember("transaction")) { @@ -198,13 +275,13 @@ std::vector parseStateTestFile(const std::string &FilePath) { Transaction.HasMember("maxPriorityFeePerGas") && Transaction["maxPriorityFeePerGas"].IsString()) { // EIP-1559 transaction format - // For EIP-1559, tx_gas_price should be the effective gas price: - // min(maxFeePerGas, baseFee + maxPriorityFeePerGas) - // However, since we don't know baseFee at parsing time, we use - // maxFeePerGas - // The actual effective price calculation is done during execution - Fixture.Environment.tx_gas_price = + const auto MaxFeePerGas = parseUint256(Transaction["maxFeePerGas"].GetString()); + const auto MaxPriorityFeePerGas = + parseUint256(Transaction["maxPriorityFeePerGas"].GetString()); + Fixture.Environment.tx_gas_price = + computeEffectiveGasPrice(MaxFeePerGas, MaxPriorityFeePerGas, + Fixture.Environment.block_base_fee); } } diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_calldata_opcodes.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_calldata_opcodes.json new file mode 100644 index 000000000..483d513cd --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_calldata_opcodes.json @@ -0,0 +1,1835 @@ +{ + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Cancun-state_test-tx_gas_500000-empty-opcode_CALLDATACOPY]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0xef6949d8aaea69d4d35aca2341f4a17131637bd5": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x7438dee6d5a27bb4420b90daca5b540acd57833e": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x366000600037600051600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x7438dee6d5a27bb4420b90daca5b540acd57833e", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xef6949d8aaea69d4d35aca2341f4a17131637bd5", + "secretKey": "0x92aeb72c08c4520e5b4989917438dee6d5a27bb4420b90daca5b540acd57833e" + }, + "post": { + "Cancun": [ + { + "hash": "0xf0615401b998e57bec6fd034fc7661042acc0b7d32961d942a459bd8ae191af2", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120947438dee6d5a27bb4420b90daca5b540acd57833e0180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a057760b78dcf50a8b716c083835228aca226e0a5a52f316ff3b51fbfddca61563a0303d391fa1e534458bc4a2fc0921719b1f579642f1c3a0820df625c76709d4db", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xef6949d8aaea69d4d35aca2341f4a17131637bd5": { + "nonce": "0x01", + "balance": "0x32ecdf", + "code": "0x", + "storage": {} + }, + "0x7438dee6d5a27bb4420b90daca5b540acd57833e": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x366000600037600051600055", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x2233309299652b71798cde5258f1ff9dd5315769fd461ec70989f835ccfeef7d", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Cancun-state_test-tx_gas_500000-empty-opcode_CALLDATALOAD]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x9cc0d6f55ad93a2dafeac247b19624983830caf2": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x6572770a39eaa2ab55deeae14e2e38eff9c4cb19": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x600035600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x6572770a39eaa2ab55deeae14e2e38eff9c4cb19", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x9cc0d6f55ad93a2dafeac247b19624983830caf2", + "secretKey": "0xb249eb45735f0cd420fcfd8f6572770a39eaa2ab55deeae14e2e38eff9c4cb19" + }, + "post": { + "Cancun": [ + { + "hash": "0x52518612ca2decf9aef8ecdda502d558639c608e2246fc01892d89b130049e72", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120946572770a39eaa2ab55deeae14e2e38eff9c4cb190180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a086faca6710ec43330562e6fd1ffa783f1285304a00dc7a6858d669e255f03676a021579bf35e24184e3ab1329882b0d96334ae8751f06b4154682eb5f1bb27fbf4", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x9cc0d6f55ad93a2dafeac247b19624983830caf2": { + "nonce": "0x01", + "balance": "0x32ed41", + "code": "0x", + "storage": {} + }, + "0x6572770a39eaa2ab55deeae14e2e38eff9c4cb19": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x600035600055", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xd73d43d4f312e0821a6bc85e3462f4fc0101137d7b23bac14ad697f61dde0af2", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Cancun-state_test-tx_gas_500000-empty-opcode_CALLDATASIZE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x89e4d67a06e82bdb2e92265e52c5624b7ac51e0a": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x72387ffda2dc832e34617996cc097276281ed482": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x36600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x72387ffda2dc832e34617996cc097276281ed482", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x89e4d67a06e82bdb2e92265e52c5624b7ac51e0a", + "secretKey": "0x159d587c7aa0dcc06954013e72387ffda2dc832e34617996cc097276281ed482" + }, + "post": { + "Cancun": [ + { + "hash": "0x9fc6b4e558c6504735c8fd26850d1ff17ddf0aeb0a6c4bdd7160027deaf330a8", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a1209472387ffda2dc832e34617996cc097276281ed4820180c001e1a0010000000000000000000000000000000000000000000000000000000000000080a08d9d3c784d257b925445c52f97d73d5cc648351900ebf298c93eee05e3eb6568a01242ad354e5c2b23de5d5b68a7028eddc8ee1ceb28c95b17022f1bc9bfe2ba73", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x89e4d67a06e82bdb2e92265e52c5624b7ac51e0a": { + "nonce": "0x01", + "balance": "0x32ed5d", + "code": "0x", + "storage": {} + }, + "0x72387ffda2dc832e34617996cc097276281ed482": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x36600055", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xf8459c3dc7b7727c300bc66e90ec911633371229c2bd836117c66a728270b5cf", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Cancun-state_test-tx_gas_500000-single_byte-opcode_CALLDATACOPY]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x4c130bca1e65c0e53ece7475bb1cc99a06631224": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x605fa68d4ac9d886207fe3e3ecc4cc253e9caf60": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x366000600037600051600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x605fa68d4ac9d886207fe3e3ecc4cc253e9caf60", + "value": [ + "0x01" + ], + "data": [ + "0x01" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x4c130bca1e65c0e53ece7475bb1cc99a06631224", + "secretKey": "0xf0b9088b6681fdc6cd8cb971605fa68d4ac9d886207fe3e3ecc4cc253e9caf60" + }, + "post": { + "Cancun": [ + { + "hash": "0xb20f88e56a7972eb1ed5d4c8c769398d300158db4fc023334282ab06f5bf174c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a12094605fa68d4ac9d886207fe3e3ecc4cc253e9caf600101c001e1a0010000000000000000000000000000000000000000000000000000000000000001a067b2ed80dee913d65f8819e07faa4cacab2476b306937249d4dd61a811781c43a042bce3f359ddec95707764d6239ca00cfe5a790a862f4266492adfd327097200", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x4c130bca1e65c0e53ece7475bb1cc99a06631224": { + "nonce": "0x01", + "balance": "0x30cc36", + "code": "0x", + "storage": {} + }, + "0x605fa68d4ac9d886207fe3e3ecc4cc253e9caf60": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x366000600037600051600055", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000000" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x6c6b4a2f7eaba18bb72405b1e66e8b4556a0b03182d45a8778734b18ead3bf10", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Cancun-state_test-tx_gas_500000-single_byte-opcode_CALLDATALOAD]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x8edf9749ede3bf0d55b288996774176adc306861": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x637902479f6c2503c2449d6d665b7b2809de46e0": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x600035600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x637902479f6c2503c2449d6d665b7b2809de46e0", + "value": [ + "0x01" + ], + "data": [ + "0x01" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x8edf9749ede3bf0d55b288996774176adc306861", + "secretKey": "0x926161607a293e485f8ba41b637902479f6c2503c2449d6d665b7b2809de46e0" + }, + "post": { + "Cancun": [ + { + "hash": "0x7f64fb7303968c9e5f761152c3d9dde4ab03ad8128dbea366fcafbcd7be0666e", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a12094637902479f6c2503c2449d6d665b7b2809de46e00101c001e1a0010000000000000000000000000000000000000000000000000000000000000080a0fce7e1b806a97cb316ca93ae03f441ba52efc33eb482cb3d1167af890ac2ada4a049615e95fd58a351439a514b976dde81acd2ec0133a1ea6a60de3cac9b870e0e", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x8edf9749ede3bf0d55b288996774176adc306861": { + "nonce": "0x01", + "balance": "0x30ccad", + "code": "0x", + "storage": {} + }, + "0x637902479f6c2503c2449d6d665b7b2809de46e0": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x600035600055", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000000" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x0ddc8644638e6e22cab3f17d4f669d9705303861f56dcbce63263fadbb2d150f", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Cancun-state_test-tx_gas_500000-single_byte-opcode_CALLDATASIZE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x36c742540d3925fe513ab9f58ceb276465801e00": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0xcefaf1319b636daabd523e296eecac0de9a5c3eb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x36600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xcefaf1319b636daabd523e296eecac0de9a5c3eb", + "value": [ + "0x01" + ], + "data": [ + "0x01" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x36c742540d3925fe513ab9f58ceb276465801e00", + "secretKey": "0xb410bcf690b0a5c67adf04f6cefaf1319b636daabd523e296eecac0de9a5c3eb" + }, + "post": { + "Cancun": [ + { + "hash": "0xa98ee6ee55b8794e96206595b9ae6645c853491de55f7145254f0d1dc61de030", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a12094cefaf1319b636daabd523e296eecac0de9a5c3eb0101c001e1a0010000000000000000000000000000000000000000000000000000000000000080a047ba4dcf913f3c43eb45bb3c9e5fbc8bcf949e2a878e4277e881c72cb3fafa5ea0315fb9d9a2ceb9d683cac9904897e48bd1c448336a139fb52693a8f44b4e5e99", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x36c742540d3925fe513ab9f58ceb276465801e00": { + "nonce": "0x01", + "balance": "0x30ccc9", + "code": "0x", + "storage": {} + }, + "0xcefaf1319b636daabd523e296eecac0de9a5c3eb": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x36600055", + "storage": { + "0x00": "0x01" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x94dc3f1350ebac99bfcbe743794a902bca50fb0e6fb86ca3c22c836d0120ff5a", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Cancun-state_test-tx_gas_500000-word-opcode_CALLDATACOPY]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0xccb4913b69e0e9206a4494d8b678e69395679fc5": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x84ddea96a8398036f31f29a46369b9e5b91bbfbd": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x366000600037600051600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x84ddea96a8398036f31f29a46369b9e5b91bbfbd", + "value": [ + "0x01" + ], + "data": [ + "0x0001000100010001000100010001000100010001000100010001000100010001" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xccb4913b69e0e9206a4494d8b678e69395679fc5", + "secretKey": "0x36a1216375dda72cbb91fc6b84ddea96a8398036f31f29a46369b9e5b91bbfbd" + }, + "post": { + "Cancun": [ + { + "hash": "0xa349f52877e711677d8c1b1391dc33ef36c9ffdc3d4572f13f2d20c1be1fe179", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a6018080078307a1209484ddea96a8398036f31f29a46369b9e5b91bbfbd01a00001000100010001000100010001000100010001000100010001000100010001c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0fe33046761a93031f5de1d8eb2ae68d462b257e196946ac150bd2f2c2fe1cfb7a0224ea93dcaa61380f9329105c45626969f5b6d755fcb555cdac56b3c0163ef9a", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xccb4913b69e0e9206a4494d8b678e69395679fc5": { + "nonce": "0x01", + "balance": "0x30c3e6", + "code": "0x", + "storage": {} + }, + "0x84ddea96a8398036f31f29a46369b9e5b91bbfbd": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x366000600037600051600055", + "storage": { + "0x00": "0x01000100010001000100010001000100010001000100010001000100010001" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x6601cc4f29392b11c4af1dc753b306d9432a77bc27123fc327c6775db71f2d1c", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Cancun-state_test-tx_gas_500000-word-opcode_CALLDATALOAD]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x579c6c2a92b77560de5f3aaa74101faac9e37a80": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0xb82fc576de066ba3c4eb304670f1e164b310acd3": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x600035600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xb82fc576de066ba3c4eb304670f1e164b310acd3", + "value": [ + "0x01" + ], + "data": [ + "0x0001000100010001000100010001000100010001000100010001000100010001" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x579c6c2a92b77560de5f3aaa74101faac9e37a80", + "secretKey": "0xcb4b8f07fa74c59153db6ffab82fc576de066ba3c4eb304670f1e164b310acd3" + }, + "post": { + "Cancun": [ + { + "hash": "0x7947ea1c020da2e10565d57b167e7ab193d991a62f616505b58b1824639c1bbc", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a6018080078307a12094b82fc576de066ba3c4eb304670f1e164b310acd301a00001000100010001000100010001000100010001000100010001000100010001c001e1a0010000000000000000000000000000000000000000000000000000000000000080a010ff9c0d02d253133067dfc00e4a8e1fda853404b95661cc51f0169f3de6f9caa04906d7268ddb94005eb32cc6730a3b5471741f417b9a6e42c0b6a192fae9d821", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x579c6c2a92b77560de5f3aaa74101faac9e37a80": { + "nonce": "0x01", + "balance": "0x30c45d", + "code": "0x", + "storage": {} + }, + "0xb82fc576de066ba3c4eb304670f1e164b310acd3": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x600035600055", + "storage": { + "0x00": "0x01000100010001000100010001000100010001000100010001000100010001" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x6c43a18f51b1508a00ad2d13e0da726172bf9b2e09c53d13e0f51ebdebebed8d", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Cancun-state_test-tx_gas_500000-word-opcode_CALLDATASIZE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x8de7cfa8c3e9073b4f099255edd3fdd67cba13a9": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x36ca08827ee953a88ef2e89db26713e9d9587256": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x36600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x36ca08827ee953a88ef2e89db26713e9d9587256", + "value": [ + "0x01" + ], + "data": [ + "0x0001000100010001000100010001000100010001000100010001000100010001" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x8de7cfa8c3e9073b4f099255edd3fdd67cba13a9", + "secretKey": "0x8736505593239eb75fdd58f236ca08827ee953a88ef2e89db26713e9d9587256" + }, + "post": { + "Cancun": [ + { + "hash": "0x47e733cbbb421a283d9e936a3b37655ade6b333d07db45e9b918e5ec87a3d68a", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a6018080078307a1209436ca08827ee953a88ef2e89db26713e9d958725601a00001000100010001000100010001000100010001000100010001000100010001c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0866eac43e8d4d19f2a743191ed095c830aa3f8c77576b1e8842b3fce07f7d3e2a06cafc0f4c2fd51588c14ecee0abe715a0152f715572566defe6faf3e0e4def01", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x8de7cfa8c3e9073b4f099255edd3fdd67cba13a9": { + "nonce": "0x01", + "balance": "0x30c479", + "code": "0x", + "storage": {} + }, + "0x36ca08827ee953a88ef2e89db26713e9d9587256": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x36600055", + "storage": { + "0x00": "0x20" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x61b47b4db9c8c5a1f90a01d928c45840d050c3d628519e3b747ba806807a0f9e", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Prague-state_test-tx_gas_500000-empty-opcode_CALLDATACOPY]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0xef6949d8aaea69d4d35aca2341f4a17131637bd5": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x7438dee6d5a27bb4420b90daca5b540acd57833e": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x366000600037600051600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x7438dee6d5a27bb4420b90daca5b540acd57833e", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xef6949d8aaea69d4d35aca2341f4a17131637bd5", + "secretKey": "0x92aeb72c08c4520e5b4989917438dee6d5a27bb4420b90daca5b540acd57833e" + }, + "post": { + "Prague": [ + { + "hash": "0xf0615401b998e57bec6fd034fc7661042acc0b7d32961d942a459bd8ae191af2", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120947438dee6d5a27bb4420b90daca5b540acd57833e0180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a057760b78dcf50a8b716c083835228aca226e0a5a52f316ff3b51fbfddca61563a0303d391fa1e534458bc4a2fc0921719b1f579642f1c3a0820df625c76709d4db", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xef6949d8aaea69d4d35aca2341f4a17131637bd5": { + "nonce": "0x01", + "balance": "0x32ecdf", + "code": "0x", + "storage": {} + }, + "0x7438dee6d5a27bb4420b90daca5b540acd57833e": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x366000600037600051600055", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xe5f25eac65b9a91a2b83253395e2c1187bb9121273cc43505710316b0470e280", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Prague-state_test-tx_gas_500000-empty-opcode_CALLDATALOAD]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x9cc0d6f55ad93a2dafeac247b19624983830caf2": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x6572770a39eaa2ab55deeae14e2e38eff9c4cb19": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x600035600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x6572770a39eaa2ab55deeae14e2e38eff9c4cb19", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x9cc0d6f55ad93a2dafeac247b19624983830caf2", + "secretKey": "0xb249eb45735f0cd420fcfd8f6572770a39eaa2ab55deeae14e2e38eff9c4cb19" + }, + "post": { + "Prague": [ + { + "hash": "0x52518612ca2decf9aef8ecdda502d558639c608e2246fc01892d89b130049e72", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120946572770a39eaa2ab55deeae14e2e38eff9c4cb190180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a086faca6710ec43330562e6fd1ffa783f1285304a00dc7a6858d669e255f03676a021579bf35e24184e3ab1329882b0d96334ae8751f06b4154682eb5f1bb27fbf4", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x9cc0d6f55ad93a2dafeac247b19624983830caf2": { + "nonce": "0x01", + "balance": "0x32ed41", + "code": "0x", + "storage": {} + }, + "0x6572770a39eaa2ab55deeae14e2e38eff9c4cb19": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x600035600055", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xd453b4fd07933f3b969193992c83411e297d159fb37df0108681d7fdcefe2f85", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Prague-state_test-tx_gas_500000-empty-opcode_CALLDATASIZE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x89e4d67a06e82bdb2e92265e52c5624b7ac51e0a": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x72387ffda2dc832e34617996cc097276281ed482": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x36600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x72387ffda2dc832e34617996cc097276281ed482", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x89e4d67a06e82bdb2e92265e52c5624b7ac51e0a", + "secretKey": "0x159d587c7aa0dcc06954013e72387ffda2dc832e34617996cc097276281ed482" + }, + "post": { + "Prague": [ + { + "hash": "0x9fc6b4e558c6504735c8fd26850d1ff17ddf0aeb0a6c4bdd7160027deaf330a8", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a1209472387ffda2dc832e34617996cc097276281ed4820180c001e1a0010000000000000000000000000000000000000000000000000000000000000080a08d9d3c784d257b925445c52f97d73d5cc648351900ebf298c93eee05e3eb6568a01242ad354e5c2b23de5d5b68a7028eddc8ee1ceb28c95b17022f1bc9bfe2ba73", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x89e4d67a06e82bdb2e92265e52c5624b7ac51e0a": { + "nonce": "0x01", + "balance": "0x32ed5d", + "code": "0x", + "storage": {} + }, + "0x72387ffda2dc832e34617996cc097276281ed482": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x36600055", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x76b9483c63667d17b3744bf4a2ec69eaa63efb820c994abfb778ccf95d64e9ce", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Prague-state_test-tx_gas_500000-single_byte-opcode_CALLDATACOPY]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x4c130bca1e65c0e53ece7475bb1cc99a06631224": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x605fa68d4ac9d886207fe3e3ecc4cc253e9caf60": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x366000600037600051600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x605fa68d4ac9d886207fe3e3ecc4cc253e9caf60", + "value": [ + "0x01" + ], + "data": [ + "0x01" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x4c130bca1e65c0e53ece7475bb1cc99a06631224", + "secretKey": "0xf0b9088b6681fdc6cd8cb971605fa68d4ac9d886207fe3e3ecc4cc253e9caf60" + }, + "post": { + "Prague": [ + { + "hash": "0xb20f88e56a7972eb1ed5d4c8c769398d300158db4fc023334282ab06f5bf174c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a12094605fa68d4ac9d886207fe3e3ecc4cc253e9caf600101c001e1a0010000000000000000000000000000000000000000000000000000000000000001a067b2ed80dee913d65f8819e07faa4cacab2476b306937249d4dd61a811781c43a042bce3f359ddec95707764d6239ca00cfe5a790a862f4266492adfd327097200", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x4c130bca1e65c0e53ece7475bb1cc99a06631224": { + "nonce": "0x01", + "balance": "0x30cc36", + "code": "0x", + "storage": {} + }, + "0x605fa68d4ac9d886207fe3e3ecc4cc253e9caf60": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x366000600037600051600055", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000000" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xf50516203e45ba347a7623b0b1c1629429795b9b150fecce7610a8149d4b65d5", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Prague-state_test-tx_gas_500000-single_byte-opcode_CALLDATALOAD]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x8edf9749ede3bf0d55b288996774176adc306861": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x637902479f6c2503c2449d6d665b7b2809de46e0": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x600035600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x637902479f6c2503c2449d6d665b7b2809de46e0", + "value": [ + "0x01" + ], + "data": [ + "0x01" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x8edf9749ede3bf0d55b288996774176adc306861", + "secretKey": "0x926161607a293e485f8ba41b637902479f6c2503c2449d6d665b7b2809de46e0" + }, + "post": { + "Prague": [ + { + "hash": "0x7f64fb7303968c9e5f761152c3d9dde4ab03ad8128dbea366fcafbcd7be0666e", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a12094637902479f6c2503c2449d6d665b7b2809de46e00101c001e1a0010000000000000000000000000000000000000000000000000000000000000080a0fce7e1b806a97cb316ca93ae03f441ba52efc33eb482cb3d1167af890ac2ada4a049615e95fd58a351439a514b976dde81acd2ec0133a1ea6a60de3cac9b870e0e", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x8edf9749ede3bf0d55b288996774176adc306861": { + "nonce": "0x01", + "balance": "0x30ccad", + "code": "0x", + "storage": {} + }, + "0x637902479f6c2503c2449d6d665b7b2809de46e0": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x600035600055", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000000" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x7acc90af974cdd89e39567ac7d40c4e56d4b545a7a0e2f625bd7f4b1cfa6e4cb", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Prague-state_test-tx_gas_500000-single_byte-opcode_CALLDATASIZE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x36c742540d3925fe513ab9f58ceb276465801e00": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0xcefaf1319b636daabd523e296eecac0de9a5c3eb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x36600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xcefaf1319b636daabd523e296eecac0de9a5c3eb", + "value": [ + "0x01" + ], + "data": [ + "0x01" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x36c742540d3925fe513ab9f58ceb276465801e00", + "secretKey": "0xb410bcf690b0a5c67adf04f6cefaf1319b636daabd523e296eecac0de9a5c3eb" + }, + "post": { + "Prague": [ + { + "hash": "0xa98ee6ee55b8794e96206595b9ae6645c853491de55f7145254f0d1dc61de030", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a12094cefaf1319b636daabd523e296eecac0de9a5c3eb0101c001e1a0010000000000000000000000000000000000000000000000000000000000000080a047ba4dcf913f3c43eb45bb3c9e5fbc8bcf949e2a878e4277e881c72cb3fafa5ea0315fb9d9a2ceb9d683cac9904897e48bd1c448336a139fb52693a8f44b4e5e99", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x36c742540d3925fe513ab9f58ceb276465801e00": { + "nonce": "0x01", + "balance": "0x30ccc9", + "code": "0x", + "storage": {} + }, + "0xcefaf1319b636daabd523e296eecac0de9a5c3eb": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x36600055", + "storage": { + "0x00": "0x01" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x4a471aedc8b7e26f6693853f4e3f4c414c6f71f63e96112526e4529ae0f9b637", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Prague-state_test-tx_gas_500000-word-opcode_CALLDATACOPY]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0xccb4913b69e0e9206a4494d8b678e69395679fc5": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x84ddea96a8398036f31f29a46369b9e5b91bbfbd": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x366000600037600051600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x84ddea96a8398036f31f29a46369b9e5b91bbfbd", + "value": [ + "0x01" + ], + "data": [ + "0x0001000100010001000100010001000100010001000100010001000100010001" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xccb4913b69e0e9206a4494d8b678e69395679fc5", + "secretKey": "0x36a1216375dda72cbb91fc6b84ddea96a8398036f31f29a46369b9e5b91bbfbd" + }, + "post": { + "Prague": [ + { + "hash": "0xa349f52877e711677d8c1b1391dc33ef36c9ffdc3d4572f13f2d20c1be1fe179", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a6018080078307a1209484ddea96a8398036f31f29a46369b9e5b91bbfbd01a00001000100010001000100010001000100010001000100010001000100010001c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0fe33046761a93031f5de1d8eb2ae68d462b257e196946ac150bd2f2c2fe1cfb7a0224ea93dcaa61380f9329105c45626969f5b6d755fcb555cdac56b3c0163ef9a", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xccb4913b69e0e9206a4494d8b678e69395679fc5": { + "nonce": "0x01", + "balance": "0x30c3e6", + "code": "0x", + "storage": {} + }, + "0x84ddea96a8398036f31f29a46369b9e5b91bbfbd": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x366000600037600051600055", + "storage": { + "0x00": "0x01000100010001000100010001000100010001000100010001000100010001" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x4e0cddb647ebf0fceb0e2b050bb26104a9d38aa64836a483ebfdca2861944d4a", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Prague-state_test-tx_gas_500000-word-opcode_CALLDATALOAD]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x579c6c2a92b77560de5f3aaa74101faac9e37a80": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0xb82fc576de066ba3c4eb304670f1e164b310acd3": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x600035600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xb82fc576de066ba3c4eb304670f1e164b310acd3", + "value": [ + "0x01" + ], + "data": [ + "0x0001000100010001000100010001000100010001000100010001000100010001" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x579c6c2a92b77560de5f3aaa74101faac9e37a80", + "secretKey": "0xcb4b8f07fa74c59153db6ffab82fc576de066ba3c4eb304670f1e164b310acd3" + }, + "post": { + "Prague": [ + { + "hash": "0x7947ea1c020da2e10565d57b167e7ab193d991a62f616505b58b1824639c1bbc", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a6018080078307a12094b82fc576de066ba3c4eb304670f1e164b310acd301a00001000100010001000100010001000100010001000100010001000100010001c001e1a0010000000000000000000000000000000000000000000000000000000000000080a010ff9c0d02d253133067dfc00e4a8e1fda853404b95661cc51f0169f3de6f9caa04906d7268ddb94005eb32cc6730a3b5471741f417b9a6e42c0b6a192fae9d821", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x579c6c2a92b77560de5f3aaa74101faac9e37a80": { + "nonce": "0x01", + "balance": "0x30c45d", + "code": "0x", + "storage": {} + }, + "0xb82fc576de066ba3c4eb304670f1e164b310acd3": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x600035600055", + "storage": { + "0x00": "0x01000100010001000100010001000100010001000100010001000100010001" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xf0a611b01eb3e618c02fb2542e8b17a0f76c240c471a48915f42df916f239eeb", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_calldata_opcodes[fork_Prague-state_test-tx_gas_500000-word-opcode_CALLDATASIZE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x8de7cfa8c3e9073b4f099255edd3fdd67cba13a9": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x36ca08827ee953a88ef2e89db26713e9d9587256": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x36600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x36ca08827ee953a88ef2e89db26713e9d9587256", + "value": [ + "0x01" + ], + "data": [ + "0x0001000100010001000100010001000100010001000100010001000100010001" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x8de7cfa8c3e9073b4f099255edd3fdd67cba13a9", + "secretKey": "0x8736505593239eb75fdd58f236ca08827ee953a88ef2e89db26713e9d9587256" + }, + "post": { + "Prague": [ + { + "hash": "0x47e733cbbb421a283d9e936a3b37655ade6b333d07db45e9b918e5ec87a3d68a", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a6018080078307a1209436ca08827ee953a88ef2e89db26713e9d958725601a00001000100010001000100010001000100010001000100010001000100010001c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0866eac43e8d4d19f2a743191ed095c830aa3f8c77576b1e8842b3fce07f7d3e2a06cafc0f4c2fd51588c14ecee0abe715a0152f715572566defe6faf3e0e4def01", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x8de7cfa8c3e9073b4f099255edd3fdd67cba13a9": { + "nonce": "0x01", + "balance": "0x30c479", + "code": "0x", + "storage": {} + }, + "0x36ca08827ee953a88ef2e89db26713e9d9587256": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x36600055", + "storage": { + "0x00": "0x20" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xc8162129037888f34e9138550034becb6932d6f829a14f375012a03bf3672ac6", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test calldata related opcodes to verify their behavior is not affected by\n blobs.\n\n - CALLDATALOAD\n - CALLDATASIZE\n - CALLDATACOPY", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1293", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_gasprice_opcode.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_gasprice_opcode.json new file mode 100644 index 000000000..74174c3d6 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_gasprice_opcode.json @@ -0,0 +1,846 @@ +{ + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_gasprice_opcode[fork_Cancun-state_test-tx_gas_500000-opcode_GASPRICE-tx_max_fee_per_gas_100-tx_max_fee_per_blob_gas_delta_0-tx_max_priority_fee_per_gas_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x6f5bfd0c2091fc68d705b2bb31423b8b52fc8476": { + "nonce": "0x00", + "balance": "0x02fcf081", + "code": "0x", + "storage": {} + }, + "0x7de408e42300f874f525796be23efaad2bf5e790": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x3a600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x64", + "gasLimit": [ + "0x07a120" + ], + "to": "0x7de408e42300f874f525796be23efaad2bf5e790", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x6f5bfd0c2091fc68d705b2bb31423b8b52fc8476", + "secretKey": "0xa9b49858fff9b3893a93e9fb7de408e42300f874f525796be23efaad2bf5e790" + }, + "post": { + "Cancun": [ + { + "hash": "0xc8494700448f3907f54aac5bba4b3102bb1410aa1aef30968b932bb1718a9218", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080648307a120947de408e42300f874f525796be23efaad2bf5e7900180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0f88308d7d02722f540eb6fb7580ba51c1629c6d6640d05427d7b6deefa58b098a066c6a312283650c41e0f7ab3f66df39c36a331e9113ba33a837522040db2e3eb", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x6f5bfd0c2091fc68d705b2bb31423b8b52fc8476": { + "nonce": "0x01", + "balance": "0x02f655d9", + "code": "0x", + "storage": {} + }, + "0x7de408e42300f874f525796be23efaad2bf5e790": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x3a600055", + "storage": { + "0x00": "0x07" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x87b51cfe19f093f4ff5d32dab6d601d22d3e73b83eb501e641ecf902673655de", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test GASPRICE opcode to sanity check that the blob gas fee does not affect\n its calculation.\n\n - No priority fee\n - Priority fee below data fee\n - Priority fee above data fee", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1365", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_gasprice_opcode[fork_Cancun-state_test-tx_gas_500000-opcode_GASPRICE-tx_max_fee_per_gas_100-tx_max_fee_per_blob_gas_delta_0-tx_max_priority_fee_per_gas_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x77431616447473e17129977851926babf8eb1b26": { + "nonce": "0x00", + "balance": "0x02fcf081", + "code": "0x", + "storage": {} + }, + "0xbd7e8031e073e4566cabc9d7d97d07dff9d493d9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x3a600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x02", + "maxFeePerGas": "0x64", + "gasLimit": [ + "0x07a120" + ], + "to": "0xbd7e8031e073e4566cabc9d7d97d07dff9d493d9", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x77431616447473e17129977851926babf8eb1b26", + "secretKey": "0xa856cb58e939c752b529e997bd7e8031e073e4566cabc9d7d97d07dff9d493d9" + }, + "post": { + "Cancun": [ + { + "hash": "0x90e9b677c79ee1cf8ced7b89358844dbad91a66f247572884a5938a54bb1776b", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018002648307a12094bd7e8031e073e4566cabc9d7d97d07dff9d493d90180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a07620a5cddf57b6557b71e326f23e6c0740e2938ee0f93b27b952f8f40fd81a55a07f23adbf7dbf49e1df0c0196d041bc2d8da63debc0a3938279ab978df986d76a", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x77431616447473e17129977851926babf8eb1b26": { + "nonce": "0x01", + "balance": "0x02f50517", + "code": "0x", + "storage": {} + }, + "0xbd7e8031e073e4566cabc9d7d97d07dff9d493d9": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x3a600055", + "storage": { + "0x00": "0x09" + } + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x0150c2", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x9ffdc06c0fffde1a22449d8c7b7f9e8c2155b698bb35cd02eb303e53628fea02", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test GASPRICE opcode to sanity check that the blob gas fee does not affect\n its calculation.\n\n - No priority fee\n - Priority fee below data fee\n - Priority fee above data fee", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1365", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_gasprice_opcode[fork_Cancun-state_test-tx_gas_500000-opcode_GASPRICE-tx_max_fee_per_gas_100-tx_max_fee_per_blob_gas_delta_1-tx_max_priority_fee_per_gas_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x685496cc54d1aefc3020e9b23d46924051479242": { + "nonce": "0x00", + "balance": "0x02fef081", + "code": "0x", + "storage": {} + }, + "0xb67356d3d89e581a33c6553e53ff9a997cf31b05": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x3a600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x64", + "gasLimit": [ + "0x07a120" + ], + "to": "0xb67356d3d89e581a33c6553e53ff9a997cf31b05", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x02", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x685496cc54d1aefc3020e9b23d46924051479242", + "secretKey": "0x77b1b4b52ec6b8c1e0e3fa1fb67356d3d89e581a33c6553e53ff9a997cf31b05" + }, + "post": { + "Cancun": [ + { + "hash": "0x60a3e31853dbd6b82071b3cb21b2b5168fff55ce0c61c09e20d40526e6bdd8f5", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080648307a12094b67356d3d89e581a33c6553e53ff9a997cf31b050180c002e1a0010000000000000000000000000000000000000000000000000000000000000080a08522b46acfb993b75bb96feada8fb7e2e6e03c6d2044d3e92c968173695f3bf6a00167561f08265592401e5cf22180401855d3d8c5280c1eba537f0381d61c3001", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x685496cc54d1aefc3020e9b23d46924051479242": { + "nonce": "0x01", + "balance": "0x02f855d9", + "code": "0x", + "storage": {} + }, + "0xb67356d3d89e581a33c6553e53ff9a997cf31b05": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x3a600055", + "storage": { + "0x00": "0x07" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xf9ff5b292579499e04ba3b9ce44f79ef759449a51cdc902ffa0fda9401348be6", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test GASPRICE opcode to sanity check that the blob gas fee does not affect\n its calculation.\n\n - No priority fee\n - Priority fee below data fee\n - Priority fee above data fee", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1365", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_gasprice_opcode[fork_Cancun-state_test-tx_gas_500000-opcode_GASPRICE-tx_max_fee_per_gas_100-tx_max_fee_per_blob_gas_delta_1-tx_max_priority_fee_per_gas_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0xaaa4db74a33935c50c51893c130996c938d7355e": { + "nonce": "0x00", + "balance": "0x02fef081", + "code": "0x", + "storage": {} + }, + "0x73238586343c4404d71954eb37049f324eff8efb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x3a600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x02", + "maxFeePerGas": "0x64", + "gasLimit": [ + "0x07a120" + ], + "to": "0x73238586343c4404d71954eb37049f324eff8efb", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x02", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xaaa4db74a33935c50c51893c130996c938d7355e", + "secretKey": "0x6b544b43c160479b386612a873238586343c4404d71954eb37049f324eff8efb" + }, + "post": { + "Cancun": [ + { + "hash": "0x634a3de10d31113493076ef40bd0c24e000987a476efe26e47b91281a55a1e2c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018002648307a1209473238586343c4404d71954eb37049f324eff8efb0180c002e1a0010000000000000000000000000000000000000000000000000000000000000080a01fcde6af5c3ee28079df07e130284423e2ad558f4dfcadaa5ee9a8e8f18a83aea06830f3b898da3722092d1c33683291505b2641bd246169e1dc30bcc0d1b56caa", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xaaa4db74a33935c50c51893c130996c938d7355e": { + "nonce": "0x01", + "balance": "0x02f70517", + "code": "0x", + "storage": {} + }, + "0x73238586343c4404d71954eb37049f324eff8efb": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x3a600055", + "storage": { + "0x00": "0x09" + } + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x0150c2", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xc04795bbaf6f33e215d918b67b2f66c55461f4c12dc543ab42b0a709337461d0", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test GASPRICE opcode to sanity check that the blob gas fee does not affect\n its calculation.\n\n - No priority fee\n - Priority fee below data fee\n - Priority fee above data fee", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1365", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_gasprice_opcode[fork_Prague-state_test-tx_gas_500000-opcode_GASPRICE-tx_max_fee_per_gas_100-tx_max_fee_per_blob_gas_delta_0-tx_max_priority_fee_per_gas_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x6f5bfd0c2091fc68d705b2bb31423b8b52fc8476": { + "nonce": "0x00", + "balance": "0x02fcf081", + "code": "0x", + "storage": {} + }, + "0x7de408e42300f874f525796be23efaad2bf5e790": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x3a600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x64", + "gasLimit": [ + "0x07a120" + ], + "to": "0x7de408e42300f874f525796be23efaad2bf5e790", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x6f5bfd0c2091fc68d705b2bb31423b8b52fc8476", + "secretKey": "0xa9b49858fff9b3893a93e9fb7de408e42300f874f525796be23efaad2bf5e790" + }, + "post": { + "Prague": [ + { + "hash": "0xc8494700448f3907f54aac5bba4b3102bb1410aa1aef30968b932bb1718a9218", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080648307a120947de408e42300f874f525796be23efaad2bf5e7900180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0f88308d7d02722f540eb6fb7580ba51c1629c6d6640d05427d7b6deefa58b098a066c6a312283650c41e0f7ab3f66df39c36a331e9113ba33a837522040db2e3eb", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x6f5bfd0c2091fc68d705b2bb31423b8b52fc8476": { + "nonce": "0x01", + "balance": "0x02f655d9", + "code": "0x", + "storage": {} + }, + "0x7de408e42300f874f525796be23efaad2bf5e790": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x3a600055", + "storage": { + "0x00": "0x07" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xd8fa66245ffae5eadced7e7fa0f689e46c76e1f8d4f93e567e3eabbbc9c261b1", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test GASPRICE opcode to sanity check that the blob gas fee does not affect\n its calculation.\n\n - No priority fee\n - Priority fee below data fee\n - Priority fee above data fee", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1365", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_gasprice_opcode[fork_Prague-state_test-tx_gas_500000-opcode_GASPRICE-tx_max_fee_per_gas_100-tx_max_fee_per_blob_gas_delta_0-tx_max_priority_fee_per_gas_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x77431616447473e17129977851926babf8eb1b26": { + "nonce": "0x00", + "balance": "0x02fcf081", + "code": "0x", + "storage": {} + }, + "0xbd7e8031e073e4566cabc9d7d97d07dff9d493d9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x3a600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x02", + "maxFeePerGas": "0x64", + "gasLimit": [ + "0x07a120" + ], + "to": "0xbd7e8031e073e4566cabc9d7d97d07dff9d493d9", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x77431616447473e17129977851926babf8eb1b26", + "secretKey": "0xa856cb58e939c752b529e997bd7e8031e073e4566cabc9d7d97d07dff9d493d9" + }, + "post": { + "Prague": [ + { + "hash": "0x90e9b677c79ee1cf8ced7b89358844dbad91a66f247572884a5938a54bb1776b", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018002648307a12094bd7e8031e073e4566cabc9d7d97d07dff9d493d90180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a07620a5cddf57b6557b71e326f23e6c0740e2938ee0f93b27b952f8f40fd81a55a07f23adbf7dbf49e1df0c0196d041bc2d8da63debc0a3938279ab978df986d76a", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x77431616447473e17129977851926babf8eb1b26": { + "nonce": "0x01", + "balance": "0x02f50517", + "code": "0x", + "storage": {} + }, + "0xbd7e8031e073e4566cabc9d7d97d07dff9d493d9": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x3a600055", + "storage": { + "0x00": "0x09" + } + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x0150c2", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x5448666cc49e36d4973dc6438f96a0df080631c0c360dc66645ef81926f7690e", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test GASPRICE opcode to sanity check that the blob gas fee does not affect\n its calculation.\n\n - No priority fee\n - Priority fee below data fee\n - Priority fee above data fee", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1365", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_gasprice_opcode[fork_Prague-state_test-tx_gas_500000-opcode_GASPRICE-tx_max_fee_per_gas_100-tx_max_fee_per_blob_gas_delta_1-tx_max_priority_fee_per_gas_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x685496cc54d1aefc3020e9b23d46924051479242": { + "nonce": "0x00", + "balance": "0x02fef081", + "code": "0x", + "storage": {} + }, + "0xb67356d3d89e581a33c6553e53ff9a997cf31b05": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x3a600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x64", + "gasLimit": [ + "0x07a120" + ], + "to": "0xb67356d3d89e581a33c6553e53ff9a997cf31b05", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x02", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x685496cc54d1aefc3020e9b23d46924051479242", + "secretKey": "0x77b1b4b52ec6b8c1e0e3fa1fb67356d3d89e581a33c6553e53ff9a997cf31b05" + }, + "post": { + "Prague": [ + { + "hash": "0x60a3e31853dbd6b82071b3cb21b2b5168fff55ce0c61c09e20d40526e6bdd8f5", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080648307a12094b67356d3d89e581a33c6553e53ff9a997cf31b050180c002e1a0010000000000000000000000000000000000000000000000000000000000000080a08522b46acfb993b75bb96feada8fb7e2e6e03c6d2044d3e92c968173695f3bf6a00167561f08265592401e5cf22180401855d3d8c5280c1eba537f0381d61c3001", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x685496cc54d1aefc3020e9b23d46924051479242": { + "nonce": "0x01", + "balance": "0x02f855d9", + "code": "0x", + "storage": {} + }, + "0xb67356d3d89e581a33c6553e53ff9a997cf31b05": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x3a600055", + "storage": { + "0x00": "0x07" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x64414d94670e2827bc5249bf012a6564a91e6ccd617c67e6cf6940e284e75909", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test GASPRICE opcode to sanity check that the blob gas fee does not affect\n its calculation.\n\n - No priority fee\n - Priority fee below data fee\n - Priority fee above data fee", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1365", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_gasprice_opcode[fork_Prague-state_test-tx_gas_500000-opcode_GASPRICE-tx_max_fee_per_gas_100-tx_max_fee_per_blob_gas_delta_1-tx_max_priority_fee_per_gas_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0xaaa4db74a33935c50c51893c130996c938d7355e": { + "nonce": "0x00", + "balance": "0x02fef081", + "code": "0x", + "storage": {} + }, + "0x73238586343c4404d71954eb37049f324eff8efb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x3a600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x02", + "maxFeePerGas": "0x64", + "gasLimit": [ + "0x07a120" + ], + "to": "0x73238586343c4404d71954eb37049f324eff8efb", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x02", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xaaa4db74a33935c50c51893c130996c938d7355e", + "secretKey": "0x6b544b43c160479b386612a873238586343c4404d71954eb37049f324eff8efb" + }, + "post": { + "Prague": [ + { + "hash": "0x634a3de10d31113493076ef40bd0c24e000987a476efe26e47b91281a55a1e2c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018002648307a1209473238586343c4404d71954eb37049f324eff8efb0180c002e1a0010000000000000000000000000000000000000000000000000000000000000080a01fcde6af5c3ee28079df07e130284423e2ad558f4dfcadaa5ee9a8e8f18a83aea06830f3b898da3722092d1c33683291505b2641bd246169e1dc30bcc0d1b56caa", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xaaa4db74a33935c50c51893c130996c938d7355e": { + "nonce": "0x01", + "balance": "0x02f70517", + "code": "0x", + "storage": {} + }, + "0x73238586343c4404d71954eb37049f324eff8efb": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x3a600055", + "storage": { + "0x00": "0x09" + } + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x0150c2", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xa3427c2e88137bad2cb05a862f98af6b3a369a44f7d95bf60a1c3060ca7976b5", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test GASPRICE opcode to sanity check that the blob gas fee does not affect\n its calculation.\n\n - No priority fee\n - Priority fee below data fee\n - Priority fee above data fee", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1365", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_opcodes.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_opcodes.json new file mode 100644 index 000000000..af1f3d154 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_opcodes.json @@ -0,0 +1,412 @@ +{ + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_opcodes[fork_Cancun-state_test-tx_gas_500000-opcode_CALLER]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x166a9cab58625d4e42878205ff43d545a1d9bc0f": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x1dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x33600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x1dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x166a9cab58625d4e42878205ff43d545a1d9bc0f", + "secretKey": "0x9685a468e8071c89c446a5cf1dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a" + }, + "post": { + "Cancun": [ + { + "hash": "0xef89dedeae38e747340c898959756c163a581e067760171cae90f3a0afc5f9d5", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120941dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a0180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a089b3d3ba83202131df5a53c0a2f53640e72163f38072bdd5d9d4c56e8695f79ca00a242b81eb10587da04967889c8d81d8e2188b43d79afb04b95452804bbfb2d2", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x166a9cab58625d4e42878205ff43d545a1d9bc0f": { + "nonce": "0x01", + "balance": "0x30cd39", + "code": "0x", + "storage": {} + }, + "0x1dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x33600055", + "storage": { + "0x00": "0x166a9cab58625d4e42878205ff43d545a1d9bc0f" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xc9c3faba0c2c8b2436a434bb7fa58b6c1315d1ac58c49fe956daff429e1ea393", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test opcodes that read transaction attributes work properly for blob type\n transactions.\n\n - ORIGIN\n - CALLER", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_opcodes[fork_Cancun-state_test-tx_gas_500000-opcode_ORIGIN]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x81dcbc25604c989c7281349921fbcdd3e3418819": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x7bb1f0a573bde1a91ec8ad9f811615c27ac99392": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x32600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x7bb1f0a573bde1a91ec8ad9f811615c27ac99392", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x81dcbc25604c989c7281349921fbcdd3e3418819", + "secretKey": "0x25249e0263e98f84c876d6ce7bb1f0a573bde1a91ec8ad9f811615c27ac99392" + }, + "post": { + "Cancun": [ + { + "hash": "0x29be3806eddeb38d2b67b896c8c03acd3549773af51a86848e68f8ddd062104f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120947bb1f0a573bde1a91ec8ad9f811615c27ac993920180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0c2adbd4524b7747c91fbdd0cfb69802f29d97d62fc63e4d7a06d5906e31c4570a0264d0da8fd2d95c292e01d223f95fc50e0d56e78c300b8ac0dfb1480f583c5a7", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x81dcbc25604c989c7281349921fbcdd3e3418819": { + "nonce": "0x01", + "balance": "0x30cd39", + "code": "0x", + "storage": {} + }, + "0x7bb1f0a573bde1a91ec8ad9f811615c27ac99392": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x32600055", + "storage": { + "0x00": "0x81dcbc25604c989c7281349921fbcdd3e3418819" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xf56d7a2ac266faf82658f0d19df33d848a4d925e30347c4cb79a44d0c8cddf27", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test opcodes that read transaction attributes work properly for blob type\n transactions.\n\n - ORIGIN\n - CALLER", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_opcodes[fork_Prague-state_test-tx_gas_500000-opcode_CALLER]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x166a9cab58625d4e42878205ff43d545a1d9bc0f": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x1dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x33600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x1dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x166a9cab58625d4e42878205ff43d545a1d9bc0f", + "secretKey": "0x9685a468e8071c89c446a5cf1dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a" + }, + "post": { + "Prague": [ + { + "hash": "0xef89dedeae38e747340c898959756c163a581e067760171cae90f3a0afc5f9d5", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120941dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a0180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a089b3d3ba83202131df5a53c0a2f53640e72163f38072bdd5d9d4c56e8695f79ca00a242b81eb10587da04967889c8d81d8e2188b43d79afb04b95452804bbfb2d2", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x166a9cab58625d4e42878205ff43d545a1d9bc0f": { + "nonce": "0x01", + "balance": "0x30cd39", + "code": "0x", + "storage": {} + }, + "0x1dc8ba3ad2fdb4e69a4ba9fb4b2588c48ddef12a": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x33600055", + "storage": { + "0x00": "0x166a9cab58625d4e42878205ff43d545a1d9bc0f" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xa93d2b8550692d1cc8a05d248bf2632758ad8c0fd44bf88777168395a7bc54ce", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test opcodes that read transaction attributes work properly for blob type\n transactions.\n\n - ORIGIN\n - CALLER", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_opcodes[fork_Prague-state_test-tx_gas_500000-opcode_ORIGIN]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x81dcbc25604c989c7281349921fbcdd3e3418819": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x7bb1f0a573bde1a91ec8ad9f811615c27ac99392": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x32600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x7bb1f0a573bde1a91ec8ad9f811615c27ac99392", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x81dcbc25604c989c7281349921fbcdd3e3418819", + "secretKey": "0x25249e0263e98f84c876d6ce7bb1f0a573bde1a91ec8ad9f811615c27ac99392" + }, + "post": { + "Prague": [ + { + "hash": "0x29be3806eddeb38d2b67b896c8c03acd3549773af51a86848e68f8ddd062104f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120947bb1f0a573bde1a91ec8ad9f811615c27ac993920180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0c2adbd4524b7747c91fbdd0cfb69802f29d97d62fc63e4d7a06d5906e31c4570a0264d0da8fd2d95c292e01d223f95fc50e0d56e78c300b8ac0dfb1480f583c5a7", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x81dcbc25604c989c7281349921fbcdd3e3418819": { + "nonce": "0x01", + "balance": "0x30cd39", + "code": "0x", + "storage": {} + }, + "0x7bb1f0a573bde1a91ec8ad9f811615c27ac99392": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x32600055", + "storage": { + "0x00": "0x81dcbc25604c989c7281349921fbcdd3e3418819" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xbf23bb12a41f265096748d649a54c9cb90365895d4f243e10c07015a97eedcc3", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test opcodes that read transaction attributes work properly for blob type\n transactions.\n\n - ORIGIN\n - CALLER", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_value_opcode.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_value_opcode.json new file mode 100644 index 000000000..754591069 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_tx_attribute_value_opcode.json @@ -0,0 +1,613 @@ +{ + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_value_opcode[fork_Cancun-state_test-tx_gas_500000-tx_value_0-opcode_CALLVALUE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x35b359077288c9d21c3b0aeb56237a383c17f4b6": { + "nonce": "0x00", + "balance": "0x3767e0", + "code": "0x", + "storage": {} + }, + "0x6fa8475a296e7ce0b82ab24734f2f1141179884c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x34600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x6fa8475a296e7ce0b82ab24734f2f1141179884c", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x35b359077288c9d21c3b0aeb56237a383c17f4b6", + "secretKey": "0x18effbd3d6c2ae915e6849486fa8475a296e7ce0b82ab24734f2f1141179884c" + }, + "post": { + "Cancun": [ + { + "hash": "0xb8ec5909474dffb67df28ae6129c146aaaaa67c7e6438a0a386453c5942ffa54", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120946fa8475a296e7ce0b82ab24734f2f1141179884c8080c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0fb6fa835e15bbd4897870abc6ce2c44ddd856cfbd42131824f435f5679ecffe7a016c6a4f1c0d26a906a8ca9f2814a1eec9959f2a50366e1880c8959e42cd5e7b4", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x35b359077288c9d21c3b0aeb56237a383c17f4b6": { + "nonce": "0x01", + "balance": "0x32ed5d", + "code": "0x", + "storage": {} + }, + "0x6fa8475a296e7ce0b82ab24734f2f1141179884c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x34600055", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x2087cc08a682d3302886f3fb9149245f6698b9d1edb43384ac0a5b096b51a486", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test the VALUE opcode with different blob type transaction value amounts.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1242", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_value_opcode[fork_Cancun-state_test-tx_gas_500000-tx_value_1-opcode_CALLVALUE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0xee1cdb74ad02926d244f87879417321f4d39210f": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x99e4e6be6dd2968e31dd105bcfa3c00327ac909c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x34600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x99e4e6be6dd2968e31dd105bcfa3c00327ac909c", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xee1cdb74ad02926d244f87879417321f4d39210f", + "secretKey": "0xa3430b9745df44dafd2a993e99e4e6be6dd2968e31dd105bcfa3c00327ac909c" + }, + "post": { + "Cancun": [ + { + "hash": "0xb657b29c469fb855bb7606085ca2de0ba7d07f49b10f208f0a5fbeb8d032f59f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a1209499e4e6be6dd2968e31dd105bcfa3c00327ac909c0180c001e1a0010000000000000000000000000000000000000000000000000000000000000080a0c3e84fff4b8a0997fd4691fbe403019b5ec067c3fe0b6065c155a8f4791556eea0395032f9b8a961d4171522076b06bc6ab3283c66f4a4b229bb3a5e932b232287", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xee1cdb74ad02926d244f87879417321f4d39210f": { + "nonce": "0x01", + "balance": "0x30cd39", + "code": "0x", + "storage": {} + }, + "0x99e4e6be6dd2968e31dd105bcfa3c00327ac909c": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x34600055", + "storage": { + "0x00": "0x01" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xd6b16db4801332aabccbe77364e2c9cbc36a25185dc4a7494ead63269c603304", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test the VALUE opcode with different blob type transaction value amounts.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1242", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_value_opcode[fork_Cancun-state_test-tx_gas_500000-tx_value_1000000000000000000-opcode_CALLVALUE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0xf8a7622c891f3aebc3fe394f7897c9991d13b2ba": { + "nonce": "0x00", + "balance": "0x0de0b6b3a79b67e0", + "code": "0x", + "storage": {} + }, + "0x38ebf95100916acdb494f678d4856bd7200eda2f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x34600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x38ebf95100916acdb494f678d4856bd7200eda2f", + "value": [ + "0x0de0b6b3a7640000" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xf8a7622c891f3aebc3fe394f7897c9991d13b2ba", + "secretKey": "0x37539688fbfcb451958d033a38ebf95100916acdb494f678d4856bd7200eda2f" + }, + "post": { + "Cancun": [ + { + "hash": "0x81efa40c55c5770614882a1b680c4fe3427e353f48dafc6d268b205a14dc5120", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f88e018080078307a1209438ebf95100916acdb494f678d4856bd7200eda2f880de0b6b3a764000080c001e1a0010000000000000000000000000000000000000000000000000000000000000001a09227d7577deeb6293202fc4ebf0c232c3ef03d6bad924bf489164b89e380e86ea0425a61d7bef44924d7981a873aa8d422d56ba2aa117d6ca1e597376a873446ad", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf8a7622c891f3aebc3fe394f7897c9991d13b2ba": { + "nonce": "0x01", + "balance": "0x30cd39", + "code": "0x", + "storage": {} + }, + "0x38ebf95100916acdb494f678d4856bd7200eda2f": { + "nonce": "0x01", + "balance": "0x0de0b6b3a7640000", + "code": "0x34600055", + "storage": { + "0x00": "0x0de0b6b3a7640000" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xb6228234a55341c4970a9e5b55eb25dbb4bea12a8bbcfd391d615edfc9cc10a3", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test the VALUE opcode with different blob type transaction value amounts.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1242", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_value_opcode[fork_Prague-state_test-tx_gas_500000-tx_value_0-opcode_CALLVALUE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x35b359077288c9d21c3b0aeb56237a383c17f4b6": { + "nonce": "0x00", + "balance": "0x3767e0", + "code": "0x", + "storage": {} + }, + "0x6fa8475a296e7ce0b82ab24734f2f1141179884c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x34600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x6fa8475a296e7ce0b82ab24734f2f1141179884c", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x35b359077288c9d21c3b0aeb56237a383c17f4b6", + "secretKey": "0x18effbd3d6c2ae915e6849486fa8475a296e7ce0b82ab24734f2f1141179884c" + }, + "post": { + "Prague": [ + { + "hash": "0xb8ec5909474dffb67df28ae6129c146aaaaa67c7e6438a0a386453c5942ffa54", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a120946fa8475a296e7ce0b82ab24734f2f1141179884c8080c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0fb6fa835e15bbd4897870abc6ce2c44ddd856cfbd42131824f435f5679ecffe7a016c6a4f1c0d26a906a8ca9f2814a1eec9959f2a50366e1880c8959e42cd5e7b4", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x35b359077288c9d21c3b0aeb56237a383c17f4b6": { + "nonce": "0x01", + "balance": "0x32ed5d", + "code": "0x", + "storage": {} + }, + "0x6fa8475a296e7ce0b82ab24734f2f1141179884c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x34600055", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x18f81b8b737f88854576d91d84966cbd7f6915d9fba9a61ade298f1ff68589b3", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test the VALUE opcode with different blob type transaction value amounts.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1242", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_value_opcode[fork_Prague-state_test-tx_gas_500000-tx_value_1-opcode_CALLVALUE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0xee1cdb74ad02926d244f87879417321f4d39210f": { + "nonce": "0x00", + "balance": "0x3767e1", + "code": "0x", + "storage": {} + }, + "0x99e4e6be6dd2968e31dd105bcfa3c00327ac909c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x34600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x99e4e6be6dd2968e31dd105bcfa3c00327ac909c", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xee1cdb74ad02926d244f87879417321f4d39210f", + "secretKey": "0xa3430b9745df44dafd2a993e99e4e6be6dd2968e31dd105bcfa3c00327ac909c" + }, + "post": { + "Prague": [ + { + "hash": "0xb657b29c469fb855bb7606085ca2de0ba7d07f49b10f208f0a5fbeb8d032f59f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f886018080078307a1209499e4e6be6dd2968e31dd105bcfa3c00327ac909c0180c001e1a0010000000000000000000000000000000000000000000000000000000000000080a0c3e84fff4b8a0997fd4691fbe403019b5ec067c3fe0b6065c155a8f4791556eea0395032f9b8a961d4171522076b06bc6ab3283c66f4a4b229bb3a5e932b232287", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xee1cdb74ad02926d244f87879417321f4d39210f": { + "nonce": "0x01", + "balance": "0x30cd39", + "code": "0x", + "storage": {} + }, + "0x99e4e6be6dd2968e31dd105bcfa3c00327ac909c": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x34600055", + "storage": { + "0x00": "0x01" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x3d8e229dd45494888743c0a3deb4f4c98d110cd97458377bd0fd8e6adc9c3b1e", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test the VALUE opcode with different blob type transaction value amounts.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1242", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_blob_tx_attribute_value_opcode[fork_Prague-state_test-tx_gas_500000-tx_value_1000000000000000000-opcode_CALLVALUE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0xf8a7622c891f3aebc3fe394f7897c9991d13b2ba": { + "nonce": "0x00", + "balance": "0x0de0b6b3a79b67e0", + "code": "0x", + "storage": {} + }, + "0x38ebf95100916acdb494f678d4856bd7200eda2f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x34600055", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x38ebf95100916acdb494f678d4856bd7200eda2f", + "value": [ + "0x0de0b6b3a7640000" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xf8a7622c891f3aebc3fe394f7897c9991d13b2ba", + "secretKey": "0x37539688fbfcb451958d033a38ebf95100916acdb494f678d4856bd7200eda2f" + }, + "post": { + "Prague": [ + { + "hash": "0x81efa40c55c5770614882a1b680c4fe3427e353f48dafc6d268b205a14dc5120", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f88e018080078307a1209438ebf95100916acdb494f678d4856bd7200eda2f880de0b6b3a764000080c001e1a0010000000000000000000000000000000000000000000000000000000000000001a09227d7577deeb6293202fc4ebf0c232c3ef03d6bad924bf489164b89e380e86ea0425a61d7bef44924d7981a873aa8d422d56ba2aa117d6ca1e597376a873446ad", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf8a7622c891f3aebc3fe394f7897c9991d13b2ba": { + "nonce": "0x01", + "balance": "0x30cd39", + "code": "0x", + "storage": {} + }, + "0x38ebf95100916acdb494f678d4856bd7200eda2f": { + "nonce": "0x01", + "balance": "0x0de0b6b3a7640000", + "code": "0x34600055", + "storage": { + "0x00": "0x0de0b6b3a7640000" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xac6e9ed839f1c7ace00f8553fc493cf8ea44446a0323765d9ce0f8c0d96261ff", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Test the VALUE opcode with different blob type transaction value amounts.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L1242", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_txs.py b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_txs.py new file mode 100644 index 000000000..63ccea7ca --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_txs.py @@ -0,0 +1,1430 @@ +""" +Tests blob type transactions for [EIP-4844: Shard Blob Transactions](https://eips.ethereum.org/EIPS/eip-4844). + +Note: To add a new test, add a function that is named `test_`. + +It must at least use the following arguments: + +- `blockchain_test` or `state_test` +- `pre` +- `env` +- `block` or `txs`. + +All other `pytest.fixture` fixtures can be parametrized to generate new +combinations and test cases. +""" + +from typing import List, Optional, Tuple + +import pytest + +from ethereum_test_forks import Fork +from ethereum_test_tools import ( + EOA, + AccessList, + Account, + Address, + Alloc, + Block, + BlockchainTestFiller, + BlockException, + Bytecode, + EngineAPIError, + Environment, + Hash, + Header, + Removable, + StateTestFiller, + Storage, + Transaction, + TransactionException, + add_kzg_version, +) +from ethereum_test_tools import Opcodes as Op + +from .spec import Spec, SpecHelpers, ref_spec_4844 + +REFERENCE_SPEC_GIT_PATH = ref_spec_4844.git_path +REFERENCE_SPEC_VERSION = ref_spec_4844.version + + +@pytest.fixture +def destination_account_code() -> Bytecode | None: + """Code in the destination account for the blob transactions.""" + return None + + +@pytest.fixture +def destination_account_balance() -> int: + """Balance in the destination account for the blob transactions.""" + return 0 + + +@pytest.fixture +def destination_account( + pre: Alloc, destination_account_code: Bytecode | None, destination_account_balance: int +) -> Address: + """Destination account for the blob transactions.""" + if destination_account_code is not None: + return pre.deploy_contract( + code=destination_account_code, + balance=destination_account_balance, + ) + return pre.fund_eoa(destination_account_balance) + + +@pytest.fixture +def tx_gas( + fork: Fork, + tx_calldata: bytes, + tx_access_list: List[AccessList], +) -> int: + """Gas allocated to transactions sent during test.""" + tx_intrinsic_cost_calculator = fork.transaction_intrinsic_cost_calculator() + return tx_intrinsic_cost_calculator(calldata=tx_calldata, access_list=tx_access_list) + + +@pytest.fixture +def blobs_per_tx() -> List[int]: + """ + Return list of integers that each represent the number of blobs in each + transaction in the block of the test. + + Used to automatically generate a list of correctly versioned blob hashes. + + Default is to have one transaction with one blob. + + Can be overloaded by a test case to provide a custom list of blob counts. + """ + return [1] + + +@pytest.fixture +def blob_hashes_per_tx(blobs_per_tx: List[int]) -> List[List[Hash]]: + """ + Produce the list of blob hashes that are sent during the test. + + Can be overloaded by a test case to provide a custom list of blob hashes. + """ + return [ + add_kzg_version( + [Hash(x) for x in range(blob_count)], + Spec.BLOB_COMMITMENT_VERSION_KZG, + ) + for blob_count in blobs_per_tx + ] + + +@pytest.fixture +def total_account_minimum_balance( # noqa: D103 + blob_gas_per_blob: int, + tx_gas: int, + tx_value: int, + tx_max_fee_per_gas: int, + tx_max_fee_per_blob_gas: int, + blob_hashes_per_tx: List[List[bytes]], +) -> int: + """ + Calculate minimum balance required for the account to be able to send the + transactions in the block of the test. + """ + minimum_cost = 0 + for tx_blob_count in [len(x) for x in blob_hashes_per_tx]: + blob_cost = tx_max_fee_per_blob_gas * blob_gas_per_blob * tx_blob_count + minimum_cost += (tx_gas * tx_max_fee_per_gas) + tx_value + blob_cost + return minimum_cost + + +@pytest.fixture +def total_account_transactions_fee( # noqa: D103 + tx_gas: int, + tx_value: int, + blob_gas_price: int, + block_base_fee_per_gas: int, + blob_gas_per_blob: int, + tx_max_fee_per_gas: int, + tx_max_priority_fee_per_gas: int, + blob_hashes_per_tx: List[List[bytes]], +) -> int: + """ + Calculate actual fee for the blob transactions in the block of the test. + """ + total_cost = 0 + for tx_blob_count in [len(x) for x in blob_hashes_per_tx]: + blob_cost = blob_gas_price * blob_gas_per_blob * tx_blob_count + block_producer_fee = ( + tx_max_fee_per_gas - block_base_fee_per_gas if tx_max_priority_fee_per_gas else 0 + ) + total_cost += ( + (tx_gas * (block_base_fee_per_gas + block_producer_fee)) + tx_value + blob_cost + ) + return total_cost + + +@pytest.fixture +def tx_access_list() -> List[AccessList]: + """ + Access list for transactions sent during test. + + Can be overloaded by a test case to provide a custom access list. + """ + return [] + + +@pytest.fixture +def tx_error() -> Optional[TransactionException]: + """ + Error produced by the block transactions (no error). + + Can be overloaded on test cases where the transactions are expected to + fail. + """ + return None + + +@pytest.fixture +def sender_initial_balance( # noqa: D103 + total_account_minimum_balance: int, account_balance_modifier: int +) -> int: + return total_account_minimum_balance + account_balance_modifier + + +@pytest.fixture +def sender(pre: Alloc, sender_initial_balance: int) -> Address: # noqa: D103 + return pre.fund_eoa(sender_initial_balance) + + +@pytest.fixture +def txs( # noqa: D103 + sender: EOA, + destination_account: Optional[Address], + tx_gas: int, + tx_value: int, + tx_calldata: bytes, + tx_max_fee_per_gas: int, + tx_max_fee_per_blob_gas: int, + tx_max_priority_fee_per_gas: int, + tx_access_list: List[AccessList], + blob_hashes_per_tx: List[List[bytes]], + tx_error: Optional[TransactionException], +) -> List[Transaction]: + """Prepare the list of transactions that are sent during the test.""" + return [ + Transaction( + ty=Spec.BLOB_TX_TYPE, + sender=sender, + to=destination_account, + value=tx_value, + gas_limit=tx_gas, + data=tx_calldata, + max_fee_per_gas=tx_max_fee_per_gas, + max_priority_fee_per_gas=tx_max_priority_fee_per_gas, + max_fee_per_blob_gas=tx_max_fee_per_blob_gas, + access_list=tx_access_list, + blob_versioned_hashes=blob_hashes, + error=tx_error if tx_i == (len(blob_hashes_per_tx) - 1) else None, + ) + for tx_i, blob_hashes in enumerate(blob_hashes_per_tx) + ] + + +@pytest.fixture +def account_balance_modifier() -> int: + """ + Account balance modifier for the source account of all tests. See `pre` + fixture. + """ + return 0 + + +@pytest.fixture +def state_env( + excess_blob_gas: Optional[int], +) -> Environment: + """ + Prepare the environment for all state test cases. + + Main difference is that the excess blob gas is not increased by the target, + as there is no genesis block -> block 1 transition, and therefore the + excess blob gas is not decreased by the target. + """ + return Environment( + excess_blob_gas=excess_blob_gas if excess_blob_gas else 0, + ) + + +@pytest.fixture +def engine_api_error_code() -> Optional[EngineAPIError]: + """ + Engine API error code to be returned by the client on consumption of the + erroneous block in hive. + """ + return None + + +@pytest.fixture +def block_error( + tx_error: Optional[TransactionException], +) -> Optional[TransactionException | BlockException]: + """ + Error produced by the block transactions (no error). + + Can be overloaded on test cases where the transactions are expected to + fail. + """ + return tx_error + + +@pytest.fixture +def block_number() -> int: + """First block number.""" + return 1 + + +@pytest.fixture +def block_timestamp() -> int: + """Timestamp of the first block.""" + return 1 + + +@pytest.fixture +def expected_blob_gas_used( + fork: Fork, + txs: List[Transaction], + block_number: int, + block_timestamp: int, +) -> Optional[int | Removable]: + """Calculate blob gas used by the test block.""" + if not fork.header_blob_gas_used_required( + block_number=block_number, timestamp=block_timestamp + ): + return Header.EMPTY_FIELD + blob_gas_per_blob = fork.blob_gas_per_blob( + block_number=block_number, + timestamp=block_timestamp, + ) + return sum([Spec.get_total_blob_gas(tx=tx, blob_gas_per_blob=blob_gas_per_blob) for tx in txs]) + + +@pytest.fixture +def expected_excess_blob_gas( + fork: Fork, + parent_excess_blobs: Optional[int], + parent_blobs: Optional[int], + block_number: int, + block_timestamp: int, + block_base_fee_per_gas: int, +) -> Optional[int | Removable]: + """Calculate blob gas used by the test block.""" + if not fork.header_excess_blob_gas_required( + block_number=block_number, timestamp=block_timestamp + ): + return Header.EMPTY_FIELD + excess_blob_gas = fork.excess_blob_gas_calculator() + return excess_blob_gas( + parent_excess_blobs=parent_excess_blobs if parent_excess_blobs else 0, + parent_blob_count=parent_blobs if parent_blobs else 0, + parent_base_fee_per_gas=block_base_fee_per_gas, + ) + + +@pytest.fixture +def header_verify( + txs: List[Transaction], + expected_blob_gas_used: Optional[int | Removable], + expected_excess_blob_gas: Optional[int | Removable], +) -> Header: + """Header fields to verify from the transition tool.""" + header_verify = Header( + blob_gas_used=expected_blob_gas_used, + excess_blob_gas=expected_excess_blob_gas, + gas_used=0 if len([tx for tx in txs if not tx.error]) == 0 else None, + ) + return header_verify + + +@pytest.fixture +def rlp_modifier( + expected_blob_gas_used: Optional[int | Removable], +) -> Optional[Header]: + """Header fields to modify on the output block in the BlockchainTest.""" + if expected_blob_gas_used == Header.EMPTY_FIELD: + return None + return Header( + blob_gas_used=expected_blob_gas_used, + ) + + +@pytest.fixture +def block( + txs: List[Transaction], + block_error: Optional[TransactionException | BlockException], + engine_api_error_code: Optional[EngineAPIError], + header_verify: Optional[Header], + rlp_modifier: Optional[Header], +) -> Block: + """Test block for all blockchain test cases.""" + return Block( + txs=txs, + exception=block_error, + engine_api_error_code=engine_api_error_code, + header_verify=header_verify, + rlp_modifier=rlp_modifier, + ) + + +@pytest.mark.parametrize_by_fork( + "blobs_per_tx", + SpecHelpers.all_valid_blob_combinations, +) +@pytest.mark.parametrize("block_base_fee_per_gas", [7, 100]) +@pytest.mark.valid_from("Cancun") +def test_valid_blob_tx_combinations( + blockchain_test: BlockchainTestFiller, + pre: Alloc, + env: Environment, + block: Block, +) -> None: + """ + Test all valid blob combinations in a single block, assuming a given value + of `MAX_BLOBS_PER_BLOCK`. + + This assumes a block can include from 1 and up to `MAX_BLOBS_PER_BLOCK` + transactions where all transactions contain at least 1 blob, and the sum of + all blobs in a block is at most `MAX_BLOBS_PER_BLOCK`. + + This test is parametrized with all valid blob transaction combinations for + a given block, and therefore if value of `MAX_BLOBS_PER_BLOCK` changes, + this test is automatically updated. + """ + blockchain_test( + pre=pre, + post={}, + blocks=[block], + genesis_environment=env, + ) + + +def generate_invalid_tx_max_fee_per_blob_gas_tests( + fork: Fork, +) -> List: + """ + Return a list of tests for invalid blob transactions due to insufficient + max fee per blob gas parametrized for each different fork. + """ + min_base_fee_per_blob_gas = fork.min_base_fee_per_blob_gas() + minimum_excess_blobs_for_first_increment = SpecHelpers.get_min_excess_blobs_for_blob_gas_price( + fork=fork, + blob_gas_price=min_base_fee_per_blob_gas + 1, + ) + next_base_fee_per_blob_gas = fork.blob_gas_price_calculator()( + excess_blob_gas=minimum_excess_blobs_for_first_increment, + ) + + tests = [] + tests.append( + pytest.param( + # blob gas price is 1 + minimum_excess_blobs_for_first_increment - 1, + # blob gas cost increases to above the minimum + fork.target_blobs_per_block() + 1, + # tx max_blob_gas_cost is the minimum + min_base_fee_per_blob_gas, + TransactionException.INSUFFICIENT_MAX_FEE_PER_BLOB_GAS, + id="insufficient_max_fee_per_blob_gas", + marks=pytest.mark.exception_test, + ) + ) + if (next_base_fee_per_blob_gas - min_base_fee_per_blob_gas) > 1: + tests.append( + pytest.param( + # blob gas price is one less than the minimum + minimum_excess_blobs_for_first_increment - 1, + # blob gas cost increases to above the minimum + fork.target_blobs_per_block() + 1, + # tx max_blob_gas_cost is one less than the minimum + next_base_fee_per_blob_gas - 1, + TransactionException.INSUFFICIENT_MAX_FEE_PER_BLOB_GAS, + id="insufficient_max_fee_per_blob_gas_one_less_than_next", + marks=pytest.mark.exception_test, + ) + ) + if min_base_fee_per_blob_gas > 1: + tests.append( + pytest.param( + 0, # blob gas price is the minimum + 0, # blob gas cost stays put at 1 + # tx max_blob_gas_cost is one less than the minimum + min_base_fee_per_blob_gas - 1, + TransactionException.INSUFFICIENT_MAX_FEE_PER_BLOB_GAS, + id="insufficient_max_fee_per_blob_gas_one_less_than_min", + marks=pytest.mark.exception_test, + ) + ) + + tests.append( + pytest.param( + 0, # blob gas price is the minimum + 0, # blob gas cost stays put at 1 + 0, # tx max_blob_gas_cost is 0 + TransactionException.INSUFFICIENT_MAX_FEE_PER_BLOB_GAS, + id="invalid_max_fee_per_blob_gas", + marks=pytest.mark.exception_test, + ) + ) + return tests + + +@pytest.mark.parametrize_by_fork( + "parent_excess_blobs,parent_blobs,tx_max_fee_per_blob_gas,tx_error", + generate_invalid_tx_max_fee_per_blob_gas_tests, +) +@pytest.mark.parametrize( + "account_balance_modifier", + [1_000_000_000], +) # Extra balance to cover block blob gas cost +@pytest.mark.valid_from("Cancun") +def test_invalid_tx_max_fee_per_blob_gas( + blockchain_test: BlockchainTestFiller, + pre: Alloc, + env: Environment, + block: Block, + non_zero_blob_gas_used_genesis_block: Optional[Block], +) -> None: + """ + Reject blocks with invalid blob txs. + + - tx max_fee_per_blob_gas is barely not enough + - tx max_fee_per_blob_gas is zero + """ + if non_zero_blob_gas_used_genesis_block is not None: + blocks = [non_zero_blob_gas_used_genesis_block, block] + else: + blocks = [block] + blockchain_test( + pre=pre, + post={}, + blocks=blocks, + genesis_environment=env, + ) + + +@pytest.mark.parametrize_by_fork( + "parent_excess_blobs,parent_blobs,tx_max_fee_per_blob_gas,tx_error", + generate_invalid_tx_max_fee_per_blob_gas_tests, +) +@pytest.mark.state_test_only +@pytest.mark.valid_from("Cancun") +def test_invalid_tx_max_fee_per_blob_gas_state( + state_test: StateTestFiller, + state_env: Environment, + pre: Alloc, + txs: List[Transaction], +) -> None: + """ + Reject an invalid blob transaction. + + - tx max_fee_per_blob_gas is barely not enough + - tx max_fee_per_blob_gas is zero + """ + assert len(txs) == 1 + state_test( + pre=pre, + post={}, + tx=txs[0], + env=state_env, + ) + + +@pytest.mark.parametrize( + "tx_max_fee_per_gas,tx_error", + [ + # max blob gas is ok, but max fee per gas is less than base fee per gas + ( + 6, + TransactionException.INSUFFICIENT_MAX_FEE_PER_GAS, + ), + ], + ids=["insufficient_max_fee_per_gas"], +) +@pytest.mark.exception_test +@pytest.mark.valid_from("Cancun") +def test_invalid_normal_gas( + state_test: StateTestFiller, + state_env: Environment, + pre: Alloc, + txs: List[Transaction], + header_verify: Optional[Header], + rlp_modifier: Optional[Header], +) -> None: + """ + Reject an invalid blob transaction. + + - Sufficient max fee per blob gas, but insufficient max fee per gas + """ + assert len(txs) == 1 + state_test( + pre=pre, + post={}, + tx=txs[0], + env=state_env, + blockchain_test_header_verify=header_verify, + blockchain_test_rlp_modifier=rlp_modifier, + ) + + +@pytest.mark.parametrize_by_fork( + "blobs_per_tx", + SpecHelpers.invalid_blob_combinations, +) +@pytest.mark.parametrize( + "tx_error", + [ + [ + TransactionException.TYPE_3_TX_MAX_BLOB_GAS_ALLOWANCE_EXCEEDED, + TransactionException.TYPE_3_TX_BLOB_COUNT_EXCEEDED, + ] + ], + ids=[""], +) +@pytest.mark.exception_test +@pytest.mark.valid_from("Cancun") +def test_invalid_block_blob_count( + blockchain_test: BlockchainTestFiller, + pre: Alloc, + env: Environment, + block: Block, +) -> None: + """ + Test all invalid blob combinations in a single block, where the sum of all + blobs in a block is at `MAX_BLOBS_PER_BLOCK + 1`. + + This test is parametrized with all blob transaction combinations exceeding + `MAX_BLOBS_PER_BLOCK` by one for a given block, and therefore if value of + `MAX_BLOBS_PER_BLOCK` changes, this test is automatically updated. + """ + blockchain_test( + pre=pre, + post={}, + blocks=[block], + genesis_environment=env, + ) + + +@pytest.mark.parametrize( + "tx_access_list", + [[], [AccessList(address=100, storage_keys=[100, 200])]], + ids=["no_access_list", "access_list"], +) +@pytest.mark.parametrize("tx_max_fee_per_gas", [7, 14]) +@pytest.mark.parametrize("tx_max_priority_fee_per_gas", [0, 7]) +@pytest.mark.parametrize("tx_value", [0, 1]) +@pytest.mark.parametrize( + "tx_calldata", + [b"", b"\x00", b"\x01"], + ids=["no_calldata", "single_zero_calldata", "single_one_calldata"], +) +@pytest.mark.parametrize("tx_max_fee_per_blob_gas_multiplier", [1, 100, 10000]) +@pytest.mark.parametrize("account_balance_modifier", [-1], ids=["exact_balance_minus_1"]) +@pytest.mark.parametrize("tx_error", [TransactionException.INSUFFICIENT_ACCOUNT_FUNDS], ids=[""]) +@pytest.mark.exception_test +@pytest.mark.valid_from("Cancun") +@pytest.mark.slow() +def test_insufficient_balance_blob_tx( + state_test: StateTestFiller, + state_env: Environment, + pre: Alloc, + txs: List[Transaction], +) -> None: + """ + Reject blocks where user cannot afford the blob gas specified (but + max_fee_per_gas would be enough for current block). + + - Transactions with max fee equal or higher than current block base fee + - Transactions with and without priority fee + - Transactions with and without value + - Transactions with and without calldata + - Transactions with max fee per blob gas lower or higher than the priority + fee + """ + assert len(txs) == 1 + state_test( + pre=pre, + post={}, + tx=txs[0], + env=state_env, + ) + + +@pytest.mark.parametrize_by_fork( + "blobs_per_tx", + lambda fork: [ + pytest.param([1], id="single_blob"), + pytest.param([fork.max_blobs_per_tx()], id="max_blobs"), + ], +) +@pytest.mark.parametrize( + "tx_access_list", + [[], [AccessList(address=100, storage_keys=[100, 200])]], + ids=["no_access_list", "access_list"], +) +@pytest.mark.parametrize("tx_max_fee_per_gas", [7, 14]) +@pytest.mark.parametrize("tx_max_priority_fee_per_gas", [0, 7]) +@pytest.mark.parametrize("tx_value", [0, 1]) +@pytest.mark.parametrize( + "tx_calldata", + [b"", b"\x00", b"\x01"], + ids=["no_calldata", "single_zero_calldata", "single_one_calldata"], +) +@pytest.mark.parametrize("block_base_fee_per_gas", [7, 100]) +@pytest.mark.parametrize("tx_max_fee_per_blob_gas_multiplier", [1, 100, 10000]) +@pytest.mark.valid_from("Cancun") +def test_sufficient_balance_blob_tx( + state_test: StateTestFiller, + state_env: Environment, + pre: Alloc, + txs: List[Transaction], +) -> None: + """ + Check that transaction is accepted when user can exactly afford the blob + gas specified (and max_fee_per_gas would be enough for current block). + + - Transactions with max fee equal or higher than current block base fee + - Transactions with and without priority fee + - Transactions with and without value + - Transactions with and without calldata + - Transactions with max fee per blob gas lower or higher than the priority + fee + """ + assert len(txs) == 1 + state_test( + pre=pre, + post={}, + tx=txs[0], + env=state_env, + ) + + +@pytest.mark.parametrize_by_fork( + "blobs_per_tx", + lambda fork: [ + pytest.param([1], id="single_blob"), + pytest.param([fork.max_blobs_per_tx()], id="max_blobs"), + ], +) +@pytest.mark.parametrize( + "tx_access_list", + [[], [AccessList(address=100, storage_keys=[100, 200])]], + ids=["no_access_list", "access_list"], +) +@pytest.mark.parametrize("tx_max_fee_per_gas", [7, 14]) +@pytest.mark.parametrize("tx_max_priority_fee_per_gas", [0, 7]) +@pytest.mark.parametrize("tx_value", [0, 1]) +@pytest.mark.parametrize( + "tx_calldata", + [b"", b"\x00", b"\x01"], + ids=["no_calldata", "single_zero_calldata", "single_one_calldata"], +) +@pytest.mark.parametrize("tx_max_fee_per_blob_gas_multiplier", [1, 100, 10000]) +@pytest.mark.parametrize("sender_initial_balance", [0]) +@pytest.mark.valid_from("Cancun") +def test_sufficient_balance_blob_tx_pre_fund_tx( + blockchain_test: BlockchainTestFiller, + total_account_minimum_balance: int, + sender: EOA, + env: Environment, + pre: Alloc, + txs: List[Transaction], + header_verify: Optional[Header], +) -> None: + """ + Check that transaction is accepted when user can exactly afford the blob + gas specified (and max_fee_per_gas would be enough for current block) + because a funding transaction is prepended in the same block. + + - Transactions with max fee equal or higher than current block base fee + - Transactions with and without priority fee + - Transactions with and without value + - Transactions with and without calldata + - Transactions with max fee per blob gas lower or higher than the priority + fee + """ + pre_funding_sender = pre.fund_eoa(amount=(21_000 * 100) + total_account_minimum_balance) + txs = [ + Transaction( + sender=pre_funding_sender, + to=sender, + value=total_account_minimum_balance, + gas_limit=21_000, + ) + ] + txs + blockchain_test( + pre=pre, + post={}, + blocks=[ + Block( + txs=txs, + header_verify=header_verify, + ) + ], + genesis_environment=env, + ) + + +@pytest.mark.parametrize_by_fork( + "blobs_per_tx", + lambda fork: [ + pytest.param([1], id="single_blob"), + pytest.param([fork.max_blobs_per_tx()], id="max_blobs"), + ], +) +@pytest.mark.parametrize( + "tx_access_list", + [[], [AccessList(address=100, storage_keys=[100, 200])]], + ids=["no_access_list", "access_list"], +) +@pytest.mark.parametrize("tx_max_fee_per_gas", [7, 14]) +@pytest.mark.parametrize("tx_max_priority_fee_per_gas", [0, 7]) +@pytest.mark.parametrize("tx_value", [0, 1]) +@pytest.mark.parametrize( + "tx_calldata", + [b"", b"\x01"], + ids=["no_calldata", "single_non_zero_byte_calldata"], +) +@pytest.mark.parametrize("tx_max_fee_per_blob_gas_multiplier", [1, 100]) +@pytest.mark.parametrize( + "tx_gas", [500_000], ids=[""] +) # Increase gas to account for contract code +@pytest.mark.parametrize( + "destination_account_balance", [100], ids=["100_wei_mid_execution"] +) # Amount sent by the contract to the sender mid execution +@pytest.mark.parametrize( + "destination_account_code", + [ + Op.SSTORE(0, Op.BALANCE(Op.ORIGIN)) + + Op.CALL(Op.GAS, Op.ORIGIN, Op.SUB(Op.SELFBALANCE, Op.CALLVALUE), 0, 0, 0, 0) + + Op.SSTORE(1, Op.BALANCE(Op.ORIGIN)) + ], + ids=[""], +) # Amount sent by the contract to the sender mid execution +@pytest.mark.valid_from("Cancun") +def test_blob_gas_subtraction_tx( + state_test: StateTestFiller, + state_env: Environment, + pre: Alloc, + sender_initial_balance: int, + txs: List[Transaction], + destination_account: Address, + destination_account_balance: int, + total_account_transactions_fee: int, +) -> None: + """ + Check that the blob gas fee for a transaction is subtracted from the sender + balance before the transaction is executed. + + - Transactions with max fee equal or higher than current block base fee + - Transactions with and without value + - Transactions with and without calldata + - Transactions with max fee per blob gas lower or higher than the priority + fee + - Transactions where an externally owned account sends funds to the sender + mid execution + """ + assert len(txs) == 1 + post = { + destination_account: Account( + storage={ + 0: sender_initial_balance - total_account_transactions_fee, + 1: sender_initial_balance + - total_account_transactions_fee + + destination_account_balance, + } + ) + } + state_test( + pre=pre, + post=post, + tx=txs[0], + env=state_env, + ) + + +@pytest.mark.parametrize_by_fork( + "blobs_per_tx", + SpecHelpers.all_valid_blob_combinations, +) +@pytest.mark.parametrize("account_balance_modifier", [-1], ids=["exact_balance_minus_1"]) +@pytest.mark.parametrize("tx_error", [TransactionException.INSUFFICIENT_ACCOUNT_FUNDS], ids=[""]) +@pytest.mark.exception_test +@pytest.mark.valid_from("Cancun") +def test_insufficient_balance_blob_tx_combinations( + blockchain_test: BlockchainTestFiller, + pre: Alloc, + env: Environment, + block: Block, +) -> None: + """ + Reject all valid blob transaction combinations in a block, but block is + invalid. + + - The amount of blobs is correct but the user cannot afford the transaction + total cost + """ + blockchain_test( + pre=pre, + post={}, + blocks=[block], + genesis_environment=env, + ) + + +def generate_invalid_tx_blob_count_tests( + fork: Fork, +) -> List: + """ + Return a list of tests for invalid blob transactions due to invalid blob + counts. + """ + return [ + pytest.param( + [0], + TransactionException.TYPE_3_TX_ZERO_BLOBS, + id="too_few_blobs", + ), + pytest.param( + [fork.max_blobs_per_tx() + 1], + [ + TransactionException.TYPE_3_TX_MAX_BLOB_GAS_ALLOWANCE_EXCEEDED, + TransactionException.TYPE_3_TX_BLOB_COUNT_EXCEEDED, + ], + id="too_many_blobs", + ), + ] + + +@pytest.mark.parametrize_by_fork( + "blobs_per_tx,tx_error", + generate_invalid_tx_blob_count_tests, +) +@pytest.mark.exception_test +@pytest.mark.valid_from("Cancun") +def test_invalid_tx_blob_count( + state_test: StateTestFiller, + state_env: Environment, + pre: Alloc, + txs: List[Transaction], + header_verify: Optional[Header], + rlp_modifier: Optional[Header], +) -> None: + """ + Reject blocks that include blob transactions with invalid blob counts. + + - `blob count == 0` in type 3 transaction + - `blob count > MAX_BLOBS_PER_BLOCK` in type 3 transaction + """ + assert len(txs) == 1 + state_test( + pre=pre, + post={}, + tx=txs[0], + env=state_env, + blockchain_test_header_verify=header_verify, + blockchain_test_rlp_modifier=rlp_modifier, + ) + + +@pytest.mark.parametrize( + "blob_hashes_per_tx", + [ + [[Hash(1)]], + [[Hash(x) for x in range(2)]], + [add_kzg_version([Hash(1)], Spec.BLOB_COMMITMENT_VERSION_KZG) + [Hash(2)]], + [[Hash(1)] + add_kzg_version([Hash(2)], Spec.BLOB_COMMITMENT_VERSION_KZG)], + ], + ids=[ + "single_blob", + "multiple_blobs", + "multiple_blobs_single_bad_hash_1", + "multiple_blobs_single_bad_hash_2", + ], +) +@pytest.mark.parametrize( + "tx_error", [TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH], ids=[""] +) +@pytest.mark.exception_test +@pytest.mark.valid_from("Cancun") +def test_invalid_blob_hash_versioning_single_tx( + state_test: StateTestFiller, + state_env: Environment, + pre: Alloc, + txs: List[Transaction], + header_verify: Optional[Header], + rlp_modifier: Optional[Header], +) -> None: + """ + Reject blob transactions with invalid blob hash version. + + - Transaction with single blob with invalid version + - Transaction with multiple blobs all with invalid version + - Transaction with multiple blobs either with invalid version + """ + assert len(txs) == 1 + state_test( + pre=pre, + post={}, + tx=txs[0], + env=state_env, + blockchain_test_header_verify=header_verify, + blockchain_test_rlp_modifier=rlp_modifier, + ) + + +@pytest.mark.parametrize( + "blob_hashes_per_tx", + [ + [ + add_kzg_version([Hash(1)], Spec.BLOB_COMMITMENT_VERSION_KZG), + [Hash(2)], + ], + [ + add_kzg_version([Hash(1)], Spec.BLOB_COMMITMENT_VERSION_KZG), + [Hash(x) for x in range(1, 3)], + ], + [ + add_kzg_version([Hash(1)], Spec.BLOB_COMMITMENT_VERSION_KZG), + [Hash(2)] + add_kzg_version([Hash(3)], Spec.BLOB_COMMITMENT_VERSION_KZG), + ], + [ + add_kzg_version([Hash(1)], Spec.BLOB_COMMITMENT_VERSION_KZG), + add_kzg_version([Hash(2)], Spec.BLOB_COMMITMENT_VERSION_KZG), + [Hash(3)], + ], + ], + ids=[ + "single_blob", + "multiple_blobs", + "multiple_blobs_single_bad_hash_1", + "multiple_blobs_single_bad_hash_2", + ], +) +@pytest.mark.parametrize( + "tx_error", [TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH], ids=[""] +) +@pytest.mark.exception_test +@pytest.mark.valid_from("Cancun") +def test_invalid_blob_hash_versioning_multiple_txs( + blockchain_test: BlockchainTestFiller, + pre: Alloc, + env: Environment, + block: Block, +) -> None: + """ + Reject blocks that include blob transactions with invalid blob hash + version. + + - Multiple blob transactions with single blob all with invalid version + - Multiple blob transactions with multiple blobs all with invalid version + - Multiple blob transactions with multiple blobs only one with invalid + version + """ + blockchain_test( + pre=pre, + post={}, + blocks=[block], + genesis_environment=env, + ) + + +@pytest.mark.parametrize( + "tx_gas", [500_000], ids=[""] +) # Increase gas to account for contract creation +@pytest.mark.exception_test +@pytest.mark.valid_from("Cancun") +def test_invalid_blob_tx_contract_creation( + blockchain_test: BlockchainTestFiller, + pre: Alloc, + env: Environment, + txs: List[Transaction], + header_verify: Optional[Header], +) -> None: + """ + Reject blocks that include blob transactions that have nil to value + (contract creating). + """ + assert len(txs) == 1 + assert txs[0].blob_versioned_hashes is not None and len(txs[0].blob_versioned_hashes) == 1 + # Replace the transaction with a contract creating one, only in the RLP + # version + contract_creating_tx = txs[0].copy(to=None).with_signature_and_sender() + txs[0].rlp_override = contract_creating_tx.rlp() + blockchain_test( + pre=pre, + post={}, + blocks=[ + Block( + txs=txs, + exception=[ + BlockException.RLP_STRUCTURES_ENCODING, + TransactionException.TYPE_3_TX_CONTRACT_CREATION, + ], + header_verify=header_verify, + # Skipped due to the T8N not receiving the invalid transaction, + # instead we are passing a valid transaction to T8N and then + # the transaction is replaced directly in the block RLP. + skip_exception_verification=True, + ) + ], + genesis_environment=env, + ) + + +# # ---------------------------------------- +# # Opcode Tests in Blob Transaction Context +# # ---------------------------------------- + + +@pytest.fixture +def opcode( + request: pytest.FixtureRequest, + sender: EOA, + tx_calldata: bytes, + block_base_fee_per_gas: int, + tx_max_fee_per_gas: int, + tx_max_priority_fee_per_gas: int, + tx_value: int, +) -> Tuple[Bytecode, Storage.StorageDictType]: + """ + Build bytecode and post to test each opcode that accesses transaction + information. + """ + if request.param == Op.ORIGIN: + return ( + Op.SSTORE(0, Op.ORIGIN), + {0: sender}, + ) + elif request.param == Op.CALLER: + return ( + Op.SSTORE(0, Op.CALLER), + {0: sender}, + ) + elif request.param == Op.CALLVALUE: + return ( + Op.SSTORE(0, Op.CALLVALUE), + {0: tx_value}, + ) + elif request.param == Op.CALLDATALOAD: + return ( + Op.SSTORE(0, Op.CALLDATALOAD(0)), + {0: tx_calldata.ljust(32, b"\x00")}, + ) + elif request.param == Op.CALLDATASIZE: + return ( + Op.SSTORE(0, Op.CALLDATASIZE), + {0: len(tx_calldata)}, + ) + elif request.param == Op.CALLDATACOPY: + return ( + Op.CALLDATACOPY(0, 0, Op.CALLDATASIZE) + Op.SSTORE(0, Op.MLOAD(0)), + {0: tx_calldata.ljust(32, b"\x00")}, + ) + elif request.param == Op.GASPRICE: + assert tx_max_fee_per_gas >= block_base_fee_per_gas + return ( + Op.SSTORE(0, Op.GASPRICE), + { + 0: min(tx_max_priority_fee_per_gas, tx_max_fee_per_gas - block_base_fee_per_gas) + + block_base_fee_per_gas + }, + ) + raise Exception("Unknown opcode") + + +@pytest.mark.parametrize( + "opcode", + [Op.ORIGIN, Op.CALLER], + indirect=["opcode"], +) +@pytest.mark.parametrize("tx_gas", [500_000]) +@pytest.mark.valid_from("Cancun") +def test_blob_tx_attribute_opcodes( + state_test: StateTestFiller, + pre: Alloc, + sender: EOA, + tx_value: int, + tx_gas: int, + tx_calldata: bytes, + tx_max_fee_per_gas: int, + tx_max_fee_per_blob_gas: int, + tx_max_priority_fee_per_gas: int, + tx_access_list: List[AccessList], + blob_hashes_per_tx: List[List[bytes]], + opcode: Tuple[Bytecode, Storage.StorageDictType], + state_env: Environment, +) -> None: + """ + Test opcodes that read transaction attributes work properly for blob type + transactions. + + - ORIGIN + - CALLER + """ + code, storage = opcode + destination_account = pre.deploy_contract(code=code) + tx = Transaction( + ty=Spec.BLOB_TX_TYPE, + sender=sender, + to=destination_account, + value=tx_value, + gas_limit=tx_gas, + data=tx_calldata, + max_fee_per_gas=tx_max_fee_per_gas, + max_priority_fee_per_gas=tx_max_priority_fee_per_gas, + max_fee_per_blob_gas=tx_max_fee_per_blob_gas, + access_list=tx_access_list, + blob_versioned_hashes=blob_hashes_per_tx[0], + ) + post = { + destination_account: Account( + storage=storage, + ) + } + state_test( + pre=pre, + post=post, + tx=tx, + env=state_env, + ) + + +@pytest.mark.parametrize("opcode", [Op.CALLVALUE], indirect=["opcode"]) +@pytest.mark.parametrize("tx_value", [0, 1, int(1e18)]) +@pytest.mark.parametrize("tx_gas", [500_000]) +@pytest.mark.valid_from("Cancun") +def test_blob_tx_attribute_value_opcode( + state_test: StateTestFiller, + pre: Alloc, + sender: EOA, + tx_value: int, + tx_gas: int, + tx_calldata: bytes, + tx_max_fee_per_gas: int, + tx_max_fee_per_blob_gas: int, + tx_max_priority_fee_per_gas: int, + tx_access_list: List[AccessList], + blob_hashes_per_tx: List[List[bytes]], + opcode: Tuple[Bytecode, Storage.StorageDictType], + state_env: Environment, +) -> None: + """ + Test the VALUE opcode with different blob type transaction value amounts. + """ + code, storage = opcode + destination_account = pre.deploy_contract(code=code) + tx = Transaction( + ty=Spec.BLOB_TX_TYPE, + sender=sender, + to=destination_account, + value=tx_value, + gas_limit=tx_gas, + data=tx_calldata, + max_fee_per_gas=tx_max_fee_per_gas, + max_priority_fee_per_gas=tx_max_priority_fee_per_gas, + max_fee_per_blob_gas=tx_max_fee_per_blob_gas, + access_list=tx_access_list, + blob_versioned_hashes=blob_hashes_per_tx[0], + ) + post = { + destination_account: Account( + storage=storage, + balance=tx_value, + ) + } + state_test( + pre=pre, + post=post, + tx=tx, + env=state_env, + ) + + +@pytest.mark.parametrize( + "opcode", + [ + Op.CALLDATALOAD, + Op.CALLDATASIZE, + Op.CALLDATACOPY, + ], + indirect=True, +) +@pytest.mark.parametrize( + "tx_calldata", + [ + b"", + b"\x01", + b"\x00\x01" * 16, + ], + ids=["empty", "single_byte", "word"], +) +@pytest.mark.parametrize("tx_gas", [500_000]) +@pytest.mark.valid_from("Cancun") +def test_blob_tx_attribute_calldata_opcodes( + state_test: StateTestFiller, + pre: Alloc, + sender: EOA, + tx_value: int, + tx_gas: int, + tx_calldata: bytes, + tx_max_fee_per_gas: int, + tx_max_fee_per_blob_gas: int, + tx_max_priority_fee_per_gas: int, + tx_access_list: List[AccessList], + blob_hashes_per_tx: List[List[bytes]], + opcode: Tuple[Bytecode, Storage.StorageDictType], + state_env: Environment, +) -> None: + """ + Test calldata related opcodes to verify their behavior is not affected by + blobs. + + - CALLDATALOAD + - CALLDATASIZE + - CALLDATACOPY + """ + code, storage = opcode + destination_account = pre.deploy_contract(code=code) + tx = Transaction( + ty=Spec.BLOB_TX_TYPE, + sender=sender, + to=destination_account, + value=tx_value, + gas_limit=tx_gas, + data=tx_calldata, + max_fee_per_gas=tx_max_fee_per_gas, + max_priority_fee_per_gas=tx_max_priority_fee_per_gas, + max_fee_per_blob_gas=tx_max_fee_per_blob_gas, + access_list=tx_access_list, + blob_versioned_hashes=blob_hashes_per_tx[0], + ) + post = { + destination_account: Account( + storage=storage, + ) + } + state_test( + pre=pre, + post=post, + tx=tx, + env=state_env, + ) + + +# always below data fee: +@pytest.mark.parametrize("tx_max_priority_fee_per_gas", [0, 2]) +# normal and above priority fee: +@pytest.mark.parametrize("tx_max_fee_per_blob_gas_delta", [0, 1]) +# always above priority fee (FOR CANCUN) +@pytest.mark.parametrize("tx_max_fee_per_gas", [100]) +@pytest.mark.parametrize("opcode", [Op.GASPRICE], indirect=True) +@pytest.mark.parametrize("tx_gas", [500_000]) +@pytest.mark.valid_from("Cancun") +def test_blob_tx_attribute_gasprice_opcode( + state_test: StateTestFiller, + pre: Alloc, + sender: EOA, + tx_value: int, + tx_gas: int, + tx_calldata: bytes, + tx_max_fee_per_gas: int, + tx_max_fee_per_blob_gas: int, + tx_max_priority_fee_per_gas: int, + tx_access_list: List[AccessList], + blob_hashes_per_tx: List[List[bytes]], + opcode: Tuple[Bytecode, Storage.StorageDictType], + state_env: Environment, +) -> None: + """ + Test GASPRICE opcode to sanity check that the blob gas fee does not affect + its calculation. + + - No priority fee + - Priority fee below data fee + - Priority fee above data fee + """ + code, storage = opcode + destination_account = pre.deploy_contract(code=code) + tx = Transaction( + ty=Spec.BLOB_TX_TYPE, + sender=sender, + to=destination_account, + value=tx_value, + gas_limit=tx_gas, + data=tx_calldata, + max_fee_per_gas=tx_max_fee_per_gas, + max_priority_fee_per_gas=tx_max_priority_fee_per_gas, + max_fee_per_blob_gas=tx_max_fee_per_blob_gas, + access_list=tx_access_list, + blob_versioned_hashes=blob_hashes_per_tx[0], + ) + post = { + destination_account: Account( + storage=storage, + ) + } + state_test( + pre=pre, + post=post, + tx=tx, + env=state_env, + ) + + +@pytest.mark.parametrize( + [ + "blobs_per_tx", + "parent_excess_blobs", + "tx_max_fee_per_blob_gas", + "tx_error", + "block_error", + ], + [ + ( + [0], + None, + 1, + [TransactionException.TYPE_3_TX_PRE_FORK, TransactionException.TYPE_3_TX_ZERO_BLOBS], + [TransactionException.TYPE_3_TX_PRE_FORK, TransactionException.TYPE_3_TX_ZERO_BLOBS], + ), + ( + [1], + None, + 1, + TransactionException.TYPE_3_TX_PRE_FORK, + [TransactionException.TYPE_3_TX_PRE_FORK, BlockException.INVALID_VERSIONED_HASHES], + ), + ], + ids=["no_blob_tx", "one_blob_tx"], +) +@pytest.mark.exception_test +@pytest.mark.valid_at_transition_to("Cancun") +@pytest.mark.slow() +def test_blob_type_tx_pre_fork( + state_test: StateTestFiller, + pre: Alloc, + txs: List[Transaction], + block_error: Optional[TransactionException | BlockException], +) -> None: + """ + Reject blocks with blob type transactions before Cancun fork. + + Blocks sent by NewPayloadV2 (Shanghai) that contain blob type transactions, + furthermore blobs field within NewPayloadV2 method must be computed as + INVALID, due to an invalid block hash. + """ + assert len(txs) == 1 + state_test( + pre=pre, + post={}, + tx=txs[0], + env=Environment(), # `env` fixture has blob fields + block_exception=block_error, + ) diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_txs_full.py b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_txs_full.py new file mode 100644 index 000000000..1ab3b113f --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blob_txs_full.py @@ -0,0 +1,296 @@ +"""Tests full blob type transactions for [EIP-4844: Shard Blob Transactions](https://eips.ethereum.org/EIPS/eip-4844).""" + +from typing import List, Optional + +import pytest + +from ethereum_test_base_types.base_types import Hash +from ethereum_test_forks import Fork +from ethereum_test_tools import ( + Address, + Alloc, + Blob, + Block, + BlockchainTestFiller, + BlockException, + Environment, + Header, + NetworkWrappedTransaction, + Transaction, + TransactionException, +) + +from .spec import Spec, ref_spec_4844 + +REFERENCE_SPEC_GIT_PATH = ref_spec_4844.git_path +REFERENCE_SPEC_VERSION = ref_spec_4844.version + + +@pytest.fixture +def destination_account() -> Address: + """Destination account for the blob transactions.""" + return Address(0x100) + + +@pytest.fixture +def tx_value() -> int: + """ + Value contained by the transactions sent during test. + + Can be overloaded by a test case to provide a custom transaction value. + """ + return 1 + + +@pytest.fixture +def tx_gas() -> int: + """Gas allocated to transactions sent during test.""" + return 21_000 + + +@pytest.fixture +def tx_calldata() -> bytes: + """Calldata in transactions sent during test.""" + return b"" + + +@pytest.fixture(autouse=True) +def parent_excess_blobs() -> int: + """ + Excess blobs of the parent block. + + Can be overloaded by a test case to provide a custom parent excess blob + count. + """ + return 10 # Defaults to a blob gas price of 1. + + +@pytest.fixture(autouse=True) +def parent_blobs() -> int: + """ + Blobs of the parent blob. + + Can be overloaded by a test case to provide a custom parent blob count. + """ + return 0 + + +@pytest.fixture +def tx_max_priority_fee_per_gas() -> int: + """ + Max priority fee per gas for transactions sent during test. + + Can be overloaded by a test case to provide a custom max priority fee per + gas. + """ + return 0 + + +@pytest.fixture +def txs_versioned_hashes(txs_blobs: List[List[Blob]]) -> List[List[Hash]]: + """List of blob versioned hashes derived from the blobs.""" + version_hashes: List[List[Hash]] = [ + [blob.versioned_hash for blob in blob_tx] for blob_tx in txs_blobs + ] + return version_hashes + + +@pytest.fixture(autouse=True) +def tx_max_fee_per_gas( + block_base_fee_per_gas: int, +) -> int: + """ + Max fee per gas value used by all transactions sent during test. + + By default the max fee per gas is the same as the block fee per gas. + + Can be overloaded by a test case to test rejection of transactions where + the max fee per gas is insufficient. + """ + return block_base_fee_per_gas + + +@pytest.fixture +def tx_max_fee_per_blob_gas( # noqa: D103 + blob_gas_price: Optional[int], +) -> int: + """ + Max fee per blob gas for transactions sent during test. + + By default, it is set to the blob gas price of the block. + + Can be overloaded by a test case to test rejection of transactions where + the max fee per blob gas is insufficient. + """ + if blob_gas_price is None: + # When fork transitioning, the default blob gas price is 1. + return 1 + return blob_gas_price + + +@pytest.fixture +def tx_error() -> Optional[TransactionException]: + """ + Even though the final block we are producing in each of these tests is + invalid, and some of the transactions will be invalid due to the format in + the final block, none of the transactions should be rejected by the + transition tool because they are being sent to it with the correct format. + """ + return None + + +@pytest.fixture(autouse=True) +def txs( # noqa: D103 + pre: Alloc, + destination_account: Optional[Address], + tx_gas: int, + tx_value: int, + tx_calldata: bytes, + tx_max_fee_per_gas: int, + tx_max_fee_per_blob_gas: int, + tx_max_priority_fee_per_gas: int, + txs_versioned_hashes: List[List[Hash]], + tx_error: Optional[TransactionException], + txs_blobs: List[List[Blob]], + txs_wrapped_blobs: List[bool], + fork: Fork, +) -> List[Transaction]: + """Prepare the list of transactions that are sent during the test.""" + if len(txs_blobs) != len(txs_versioned_hashes) or len(txs_blobs) != len(txs_wrapped_blobs): + raise ValueError("txs_blobs and txs_versioned_hashes should have the same length") + txs: List[Transaction] = [] + sender = pre.fund_eoa() + for tx_blobs, tx_versioned_hashes, tx_wrapped_blobs in zip( + txs_blobs, txs_versioned_hashes, txs_wrapped_blobs, strict=False + ): + tx = Transaction( + ty=Spec.BLOB_TX_TYPE, + sender=sender, + to=destination_account, + value=tx_value, + gas_limit=tx_gas, + data=tx_calldata, + max_fee_per_gas=tx_max_fee_per_gas, + max_priority_fee_per_gas=tx_max_priority_fee_per_gas, + max_fee_per_blob_gas=tx_max_fee_per_blob_gas, + access_list=[], + blob_versioned_hashes=tx_versioned_hashes, + error=tx_error, + wrapped_blob_transaction=tx_wrapped_blobs, + ) + if tx_wrapped_blobs: + network_wrapped_tx = NetworkWrappedTransaction( + tx=tx, + blob_objects=tx_blobs, + wrapper_version=fork.full_blob_tx_wrapper_version(), + ) + tx.rlp_override = network_wrapped_tx.rlp() + txs.append(tx) + return txs + + +@pytest.fixture +def env( + parent_excess_blob_gas: int, +) -> Environment: + """Prepare the environment for all test cases.""" + return Environment( + excess_blob_gas=parent_excess_blob_gas, + blob_gas_used=0, + ) + + +@pytest.fixture +def blocks( + txs: List[Transaction], + txs_wrapped_blobs: List[bool], + blob_gas_per_blob: int, +) -> List[Block]: + """Prepare the list of blocks for all test cases.""" + header_blob_gas_used = 0 + block_error = None + if any(txs_wrapped_blobs): + # This is a block exception because the invalid block is only created + # in the RLP version, not in the transition tool. + block_error = [ + BlockException.RLP_STRUCTURES_ENCODING, + TransactionException.TYPE_3_TX_WITH_FULL_BLOBS, + ] + if len(txs) > 0: + header_blob_gas_used = ( + sum( + [ + len(tx.blob_versioned_hashes) + for tx in txs + if tx.blob_versioned_hashes is not None + ] + ) + * blob_gas_per_blob + ) + return [ + Block( + txs=txs, exception=block_error, rlp_modifier=Header(blob_gas_used=header_blob_gas_used) + ) + ] + + +def generate_full_blob_tests( + fork: Fork, +) -> List: + """Return a list of test cases for full blob transactions.""" + max_blobs = fork.max_blobs_per_tx() + return [ + pytest.param( + [ # Txs + [ # Blobs per transaction + Blob.from_fork(fork), + ] + ], + [True], + id="one_full_blob_one_tx", + ), + pytest.param( + [ # Txs + [ # Blobs per transaction + Blob.from_fork(fork, s), + ] + for s in range(max_blobs) + ], + [True] + ([False] * (max_blobs - 1)), + id="one_full_blob_max_txs", + ), + pytest.param( + [ # Txs + [ # Blobs per transaction + Blob.from_fork(fork, s), + ] + for s in range(max_blobs) + ], + ([False] * (max_blobs - 1)) + [True], + id="one_full_blob_at_the_end_max_txs", + ), + ] + + +@pytest.mark.parametrize_by_fork( + "txs_blobs,txs_wrapped_blobs", + generate_full_blob_tests, +) +@pytest.mark.exception_test +@pytest.mark.valid_from("Cancun") +def test_reject_valid_full_blob_in_block_rlp( + blockchain_test: BlockchainTestFiller, + pre: Alloc, + env: Environment, + blocks: List[Block], +) -> None: + """ + Test valid blob combinations where one or more txs in the block serialized + version contain a full blob (network version) tx. + """ + blockchain_test( + pre=pre, + post={}, + blocks=blocks, + genesis_environment=env, + ) diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_gas_cost.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_gas_cost.json new file mode 100644 index 000000000..efcc14c30 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_gas_cost.json @@ -0,0 +1,6596 @@ +{ + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_0-state_test-blobhash_index_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x77f25f09252707d9df861b95f9db3f3d3db5fb31": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": {} + }, + "0x35d9e3a7d3de4539daab58654fecfd342ab7d2da": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x77f25f09252707d9df861b95f9db3f3d3db5fb31", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x35d9e3a7d3de4539daab58654fecfd342ab7d2da", + "secretKey": "0xa70e7bc02af804c5e3f7fc5277f25f09252707d9df861b95f9db3f3d3db5fb31" + }, + "post": { + "Cancun": [ + { + "hash": "0xd8d5cff559c46db532a987cf191377143cd2699be5bd974cf3f31c68f43dc07a", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a1209477f25f09252707d9df861b95f9db3f3d3db5fb3180a0000000000000000000000000000000000000000000000000000000000000000025a070db4d18f7a8e540f3727d0cbdd35fd928d9144fc6a5bbcdc28e515aae492747a041ef47d2f7d75d07b4779c0939746d204d797479cfe0bb1d19d65801a188ace5", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x77f25f09252707d9df861b95f9db3f3d3db5fb31": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x35d9e3a7d3de4539daab58654fecfd342ab7d2da": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x0a75c3385276e8fd04b9e804e3220f2fbe501c313ff067c3e482d49d21f11b36", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_0-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xb303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": {} + }, + "0xef66245317a6ff2b894850a6acfed367e666d0ff": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xb303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee9", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xef66245317a6ff2b894850a6acfed367e666d0ff", + "secretKey": "0xd8f0c697cf32018b451ccae9b303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee9" + }, + "post": { + "Cancun": [ + { + "hash": "0x73d8372cee73e79793251ef3cf2c86982ad77e0d8baf46fdf86ee30ebd33a965", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a12094b303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee980a0000000000000000000000000000000000000000000000000000000000000000026a0317062d288c818ead7bd918b9cc6dbe074cea49511a55f8017d9e1e8f84afd7ea03c6a7de9aceb92ab19b823788f47f8ac6ea1f16f6773f737532365d1407288a7", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xb303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xef66245317a6ff2b894850a6acfed367e666d0ff": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x8e1082a9df74e5c1f15886a0e9d7a9d6a4f3f2d2665d9cd14246fb3aef8216f5", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_0-state_test-blobhash_index_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x0a4f21a0f2d2c0265a01d19b879f12b3c30d0c84": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": {} + }, + "0xbdd1cb2f3ce84c22d7dba290999ba8f0ec6de179": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x0a4f21a0f2d2c0265a01d19b879f12b3c30d0c84", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xbdd1cb2f3ce84c22d7dba290999ba8f0ec6de179", + "secretKey": "0xf8a9464a9b7a9ed8d1357ea30a4f21a0f2d2c0265a01d19b879f12b3c30d0c84" + }, + "post": { + "Cancun": [ + { + "hash": "0x3a7fe67508b6d4d5d04190c9182bb962e40e765a251c3b5f714b33e87c1d0c55", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a120940a4f21a0f2d2c0265a01d19b879f12b3c30d0c8480a0000000000000000000000000000000000000000000000000000000000000000025a04bc4cdb863946105bdcd3b2b7ae0dcb1e0a0592e5aff32c45805eed30e4b2b68a02e801da0a2ae0dc851fbdb00284f8dc117551da6ddf798ea0217910bd36fe69c", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x0a4f21a0f2d2c0265a01d19b879f12b3c30d0c84": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xbdd1cb2f3ce84c22d7dba290999ba8f0ec6de179": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xd16f19e0b559bf0c6b7da7345fd28a1ffcf8fa1de2a8a4cc4f20e4cec15ca1cd", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_0-state_test-blobhash_index_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xd442a2ba400b184a795590263ae8508ab731512e": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": {} + }, + "0x646e8598e6cfc82ad379ca04957ca231f95cd508": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xd442a2ba400b184a795590263ae8508ab731512e", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x646e8598e6cfc82ad379ca04957ca231f95cd508", + "secretKey": "0xa247aedbbd310381880b7fa1d442a2ba400b184a795590263ae8508ab731512e" + }, + "post": { + "Cancun": [ + { + "hash": "0x2fedd90ed74b7930d7ad4ece17c71cc69bea0a0504aa7047546d268c90d728f7", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a12094d442a2ba400b184a795590263ae8508ab731512e80a0000000000000000000000000000000000000000000000000000000000000000025a0868c0245dedab5c3318a6be474abfd263c7fc29a0ee2d5297eeaeb89453a6baca076a80ba70851f67e304d6ee0d3be129da2efa73b2d5f6d3d1ae077935d9b1784", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd442a2ba400b184a795590263ae8508ab731512e": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x646e8598e6cfc82ad379ca04957ca231f95cd508": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xb765e88fafb32392835ea77a860f8f2aa8bf3172efd3e791c2b4a624bea4266f", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_0-state_test-blobhash_index_3]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x2efdbf3b6aa5e2c16d1cb7924ed88e4170b71249": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": {} + }, + "0xce9e870df8ecb200300ecd9db7eeee5c5d45a4ee": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x2efdbf3b6aa5e2c16d1cb7924ed88e4170b71249", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xce9e870df8ecb200300ecd9db7eeee5c5d45a4ee", + "secretKey": "0x50aaf24f16119060d02a280e2efdbf3b6aa5e2c16d1cb7924ed88e4170b71249" + }, + "post": { + "Cancun": [ + { + "hash": "0x32a68ad15573874e8fcbb2b2512dbbd2f13321966d42a52cb1215b797ede6141", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a120942efdbf3b6aa5e2c16d1cb7924ed88e4170b7124980a0000000000000000000000000000000000000000000000000000000000000000026a09f5305814363c597ee05c7efffc4787f18a68af83103f706bd9b6121c6bb38e4a013b61d8d4489b90a7e425a1329abd5eb2a07a394d36e06826ec4dc5d96cecdb0", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x2efdbf3b6aa5e2c16d1cb7924ed88e4170b71249": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xce9e870df8ecb200300ecd9db7eeee5c5d45a4ee": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x24ce5bb039eebd0c70b78e3b78f7b2847b4a314fe0972af7bc6b8e377b4b03b8", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_0-state_test-blobhash_index_4]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x7d8477bfcdb95a62bae05e2bb572a7d1aa3ac047": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": {} + }, + "0x6e62ef354df1314bb5db6da79505ed78799108ef": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x7d8477bfcdb95a62bae05e2bb572a7d1aa3ac047", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x6e62ef354df1314bb5db6da79505ed78799108ef", + "secretKey": "0x8382eca088026abb752a7ecf7d8477bfcdb95a62bae05e2bb572a7d1aa3ac047" + }, + "post": { + "Cancun": [ + { + "hash": "0x3ef71c3f700f926254dd22ba1e3a77bcb931c8054fe785429c7dfc653204082e", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a120947d8477bfcdb95a62bae05e2bb572a7d1aa3ac04780a0000000000000000000000000000000000000000000000000000000000000000025a0323cb8d474a9f289a5b3fb3d7889999511426589315514361fc176a7e36043daa0592a438f10c79cbe61b18e008bbf9fd89078aa4b37f9484469933edb78cd1144", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x7d8477bfcdb95a62bae05e2bb572a7d1aa3ac047": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x6e62ef354df1314bb5db6da79505ed78799108ef": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x64000b9ca048ab6f29bd093cf2e7912f42443fc5a322d2184fedfd5bab641136", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_0-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x942dd95e4ca14f29ca3ecf12d10bcca30ffcd564": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": {} + }, + "0x102d2cc6bbb7c0f6b599093640bdf3b0d44a30d4": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x942dd95e4ca14f29ca3ecf12d10bcca30ffcd564", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x102d2cc6bbb7c0f6b599093640bdf3b0d44a30d4", + "secretKey": "0x1ff035ff12fec03fc5adbdad942dd95e4ca14f29ca3ecf12d10bcca30ffcd564" + }, + "post": { + "Cancun": [ + { + "hash": "0x2eb6e2b99a3d9cd796682422014dac02332de20026709963b232a6f463109c05", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a12094942dd95e4ca14f29ca3ecf12d10bcca30ffcd56480a0000000000000000000000000000000000000000000000000000000000000000026a06f382b33f96bdbfb685568274c3dcd5d94c20340712650ff53bfd35191104da9a026fc1643ef10aeef447c5c74028d8b2f94862cac76fbf33f254ae50d8b6d9db2", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x942dd95e4ca14f29ca3ecf12d10bcca30ffcd564": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x102d2cc6bbb7c0f6b599093640bdf3b0d44a30d4": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x553fc01e91a4c106c89f6263ade6403e096a2325c28491ee6b3dc61bc6e1201d", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xdf8d8555673b615857e17c5479c534ea9618f77f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": {} + }, + "0x7c63c88af02a5df7561ae8ec09318b8b352b2f98": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xdf8d8555673b615857e17c5479c534ea9618f77f", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x7c63c88af02a5df7561ae8ec09318b8b352b2f98", + "secretKey": "0x384b038d29527098ba163abedf8d8555673b615857e17c5479c534ea9618f77f" + }, + "post": { + "Cancun": [ + { + "hash": "0x3b06812dd0e8491a4b6d3fe7fde6a708304db43ca34a04abef2e13306675da1a", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094df8d8555673b615857e17c5479c534ea9618f77f80a00000000000000000000000000000000000000000000000000000000000000000c001a0887c042dd187cbdbe25b9098deda562d098d401eba9cb83631b680d1dc7cab62a0112c359bd1e45941d7b8b0145e33651f1c6f1b82a66af6c67d916d02c2dd2b75", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xdf8d8555673b615857e17c5479c534ea9618f77f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x7c63c88af02a5df7561ae8ec09318b8b352b2f98": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x092b09a4d2c7a02ba1fbbb1f1c480f69ed8cab073397581a89272ae006792c08", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x79fab71e5a544f30eed5f258a543cceb7e48804c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": {} + }, + "0x853e01e51fbe7873ef50a008e88ca7864f3c3bd4": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x79fab71e5a544f30eed5f258a543cceb7e48804c", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x853e01e51fbe7873ef50a008e88ca7864f3c3bd4", + "secretKey": "0x3848650d555a915c5616451679fab71e5a544f30eed5f258a543cceb7e48804c" + }, + "post": { + "Cancun": [ + { + "hash": "0x7baa7c2c7a9fd3654146fd5cc704bea65b639867685f5c4460a1dd62101a2acf", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a1209479fab71e5a544f30eed5f258a543cceb7e48804c80a00000000000000000000000000000000000000000000000000000000000000000c080a01425ce90e535baae8a71a0da1b88cb4e143f122cc4eee57d8c3dbf41b8c353dba020c390c39c933b026733c91c574b06acd2b00bd15c4f5f3e2d6703d24e5ea704", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x79fab71e5a544f30eed5f258a543cceb7e48804c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x853e01e51fbe7873ef50a008e88ca7864f3c3bd4": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xb12e043832f11b3cc27a0e063690ad3b2abe96e9cd7d307aa8ca4f81f47f6d43", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf2de0363c9abac460c8b9f063e79ae67e65f0251": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": {} + }, + "0x0074365a2f8e03c51ac21537b7537f257baced3a": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf2de0363c9abac460c8b9f063e79ae67e65f0251", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x0074365a2f8e03c51ac21537b7537f257baced3a", + "secretKey": "0xbf570eb6f13caa4fbb5a40adf2de0363c9abac460c8b9f063e79ae67e65f0251" + }, + "post": { + "Cancun": [ + { + "hash": "0x595617a0697835af845823bb2c18bc21fdcc9408a07eb68d3016b6b2445f2de2", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094f2de0363c9abac460c8b9f063e79ae67e65f025180a00000000000000000000000000000000000000000000000000000000000000000c001a049bfd7cef34d7fb73cc1cb4a33913e1ad17480a494c8ebe64c25820fbe65fba4a026aa3e794e6c5e7c897a36473723f2bb008aa5f3f7dec8fc1a1642b0efbd8f71", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf2de0363c9abac460c8b9f063e79ae67e65f0251": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x0074365a2f8e03c51ac21537b7537f257baced3a": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x9ac6602920931f3a1f0198f1d52530c59612875defd7e4ae79a5cd763fae5b99", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xbd7c5b671a41be3a224c5c3ea9402ebe7dbd3f36": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": {} + }, + "0xd343260d7920cdc4e24972cf3a88234caa0f2fe1": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xbd7c5b671a41be3a224c5c3ea9402ebe7dbd3f36", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0xd343260d7920cdc4e24972cf3a88234caa0f2fe1", + "secretKey": "0xf17a5f20e93b4a8059c592aabd7c5b671a41be3a224c5c3ea9402ebe7dbd3f36" + }, + "post": { + "Cancun": [ + { + "hash": "0x07ea27ed65d269cc40e35377fa0775c58bbdfef1468fc858f8727ee01729fa81", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094bd7c5b671a41be3a224c5c3ea9402ebe7dbd3f3680a00000000000000000000000000000000000000000000000000000000000000000c001a00f73b34d19057afa187033e8743cfd1cba143d63d13939e052cfc1aa2f2c3461a0421125b81f192f23d1f6fb690b4a4a8d3a360b819e0553ef65bb39e5a280b01e", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xbd7c5b671a41be3a224c5c3ea9402ebe7dbd3f36": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xd343260d7920cdc4e24972cf3a88234caa0f2fe1": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xd13523ca6232b6f9c8399a3806e3c48fc800d507404724aa295df30dcde2b587", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_3]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xc8500bc8a6363d6abe32601a24f9a7e5b33155c6": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": {} + }, + "0x4bf2c5af6f629e9c8ec2ca8e10d06a212b44fdff": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xc8500bc8a6363d6abe32601a24f9a7e5b33155c6", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x4bf2c5af6f629e9c8ec2ca8e10d06a212b44fdff", + "secretKey": "0xa935a3e335b624adb3c9660bc8500bc8a6363d6abe32601a24f9a7e5b33155c6" + }, + "post": { + "Cancun": [ + { + "hash": "0x7933a0be3a9c214f8a1ace54db976a26d8ff20e92b69a5fa420bf481d4f2c30f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094c8500bc8a6363d6abe32601a24f9a7e5b33155c680a00000000000000000000000000000000000000000000000000000000000000000c001a0f812bf6978cc2d74253623adcd2633cc643f61385f9752e5572ba07afa73d91aa05b7dd1af6a820362b60fe1c39b3fd99a3c62a93d85e0720df0e8311d20c4f7ae", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xc8500bc8a6363d6abe32601a24f9a7e5b33155c6": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x4bf2c5af6f629e9c8ec2ca8e10d06a212b44fdff": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xbfc1d1799e67a8deebd42d2fdde997629f71fa41074f9c05b7d77503f64799fe", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_4]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xe5a00efd7df92b48b2c87de4da5c97b5e40d2d83": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": {} + }, + "0xb7a32702d7aac9238ddf22b5f5b73b5e0c96c5a0": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xe5a00efd7df92b48b2c87de4da5c97b5e40d2d83", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0xb7a32702d7aac9238ddf22b5f5b73b5e0c96c5a0", + "secretKey": "0xd448b8b649bbe828ed2a44a0e5a00efd7df92b48b2c87de4da5c97b5e40d2d83" + }, + "post": { + "Cancun": [ + { + "hash": "0xebc720b314b2ad54c576f118fa93233e224362d0ca32f221e697bd51e5b99339", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094e5a00efd7df92b48b2c87de4da5c97b5e40d2d8380a00000000000000000000000000000000000000000000000000000000000000000c001a0c7e21405f0e2c6600b7dc19bb9ef3ded5d0762e0ba297a7d86a085b3a8082b8aa04a29295619f5032bdf88571000a9af847564382726afef3818f001f54980aa47", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe5a00efd7df92b48b2c87de4da5c97b5e40d2d83": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xb7a32702d7aac9238ddf22b5f5b73b5e0c96c5a0": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x43b33a1e8114f2dd1e20fe8b0417fe5640868fa7f8c61128dc0176c73bba6ed8", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_1-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x3abb1cc7846be200d2b4538002ad5e29f7088ccf": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": {} + }, + "0xec018c314ecbc0f937e29159d153f808fadf6097": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x3abb1cc7846be200d2b4538002ad5e29f7088ccf", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0xec018c314ecbc0f937e29159d153f808fadf6097", + "secretKey": "0x20371408346ce3eeec22e46e3abb1cc7846be200d2b4538002ad5e29f7088ccf" + }, + "post": { + "Cancun": [ + { + "hash": "0x1c1677829f4c9a011d0063a65a12d3082d19bd78560b196434eceedd76472842", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a120943abb1cc7846be200d2b4538002ad5e29f7088ccf80a00000000000000000000000000000000000000000000000000000000000000000c001a0b32010570440e5c01ed96888965a7b691ca0fed50b5d40ce8c64cf5b51e35070a016f789b4be8719f7b8a064c481ecea6f5b6f0d062a2b93316c4f848ea2e92b8f", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x3abb1cc7846be200d2b4538002ad5e29f7088ccf": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xec018c314ecbc0f937e29159d153f808fadf6097": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x43964ce582bfc531fdeb082040c04188343a41cb1d904f9100de463e28249e76", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xa0f7d6d0baf7514d1199bbd993922332f14b4d9b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": {} + }, + "0x0fb5b04b1d5ea2130ebe7bc0fd5c3b6435eb680e": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xa0f7d6d0baf7514d1199bbd993922332f14b4d9b", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x0fb5b04b1d5ea2130ebe7bc0fd5c3b6435eb680e", + "secretKey": "0xf86cb26bb358ae608e4538a6a0f7d6d0baf7514d1199bbd993922332f14b4d9b" + }, + "post": { + "Cancun": [ + { + "hash": "0x875281d5d464599f598c3f33a54dcaac566d84174808588c71209c3ef0f316d6", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a12094a0f7d6d0baf7514d1199bbd993922332f14b4d9b80a00000000000000000000000000000000000000000000000000000000000000000c001a0ea1021004dd193d0c764e13f6d567d0a3d4efae854975f1d975cf4c4ee95d706a05a3a9e9b16d2f04bc99893a23a938f52375badfb6166ee900f593ac0c6e1bf03", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xa0f7d6d0baf7514d1199bbd993922332f14b4d9b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x0fb5b04b1d5ea2130ebe7bc0fd5c3b6435eb680e": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x6f85a1cc7bdb57a019f1db332ff83e55dea8cca8db9726a792d2de0d61d59328", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x18b4034d1c39fc9cb8997a3d620a21dc8d477ca8": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": {} + }, + "0x8d69434fa4182a2a30f0c3f78e703a4032f870bc": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x18b4034d1c39fc9cb8997a3d620a21dc8d477ca8", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x8d69434fa4182a2a30f0c3f78e703a4032f870bc", + "secretKey": "0x825645c53018422c54d6919f18b4034d1c39fc9cb8997a3d620a21dc8d477ca8" + }, + "post": { + "Cancun": [ + { + "hash": "0xeeba353cf8e3bda8166037e7ada279e073d5c06c514c7f1a607733531c31f606", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a1209418b4034d1c39fc9cb8997a3d620a21dc8d477ca880a00000000000000000000000000000000000000000000000000000000000000000c001a0a8d020bc32ced4d575a20008265d816ae57fdcc18478cf93f3144eaf55fd1f29a0251bebee6e5f59cb661cfcccd07ba25dc6e70a50026a3a0a15305e4aa70d3d55", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x18b4034d1c39fc9cb8997a3d620a21dc8d477ca8": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x8d69434fa4182a2a30f0c3f78e703a4032f870bc": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x525a7eaf643cf443aa2485f37abf612bba7c6dc5726d6e211710cacf18209237", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x3d5334fbdc98c4f40447b483205c0471e932f7e4": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": {} + }, + "0xd5d56dc68a22e57fd7b595918b7f796787f30166": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x3d5334fbdc98c4f40447b483205c0471e932f7e4", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0xd5d56dc68a22e57fd7b595918b7f796787f30166", + "secretKey": "0x5c7a9f81cd89e3d71806e6c63d5334fbdc98c4f40447b483205c0471e932f7e4" + }, + "post": { + "Cancun": [ + { + "hash": "0xfde6eb5b95feb0ee19d298a1cd23110ad984b10d3b9160f214b901fdb520bdfc", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a120943d5334fbdc98c4f40447b483205c0471e932f7e480a00000000000000000000000000000000000000000000000000000000000000000c080a0f4171a6dddf42a6ab7c907a229e84a6c5f208a7aacd6da1300c9d0557485942da04da78e41aa0790ca8e9e5464e3b8a93f413c4cea3ba3e8c3e13a59427a8eb7a1", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x3d5334fbdc98c4f40447b483205c0471e932f7e4": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xd5d56dc68a22e57fd7b595918b7f796787f30166": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x5debb91eb53c5995185df48ff0e74a6df3fc7dce9333568af8e1d930db8cd617", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf43b7b15b6a1ae97507efa2d851ba1219d612ec4": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": {} + }, + "0x6e77583cbdcb60b614d6b68d50e83990e79d55fb": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf43b7b15b6a1ae97507efa2d851ba1219d612ec4", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x6e77583cbdcb60b614d6b68d50e83990e79d55fb", + "secretKey": "0xe0cce3373d21f576d9d75178f43b7b15b6a1ae97507efa2d851ba1219d612ec4" + }, + "post": { + "Cancun": [ + { + "hash": "0xd4558b91fa1f6557f1f74d969a45d3eb09b13421c41bfd866c3e3c10e11b9bda", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a12094f43b7b15b6a1ae97507efa2d851ba1219d612ec480a00000000000000000000000000000000000000000000000000000000000000000c001a0bc2dcacf33be34d4f2b9f1dd1a724c80e17b65e66ae8c52d1858c2e88a3af978a01a8480ec159808e622c6bf2de7c812ff5fef484681f04146c90cb8bae9d6b969", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf43b7b15b6a1ae97507efa2d851ba1219d612ec4": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x6e77583cbdcb60b614d6b68d50e83990e79d55fb": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xed534f0eb0e1f4490f1659bbc982d27610847cbcc9617be6c90049270975d2fe", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_3]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x5b387e67da24ddf33eaa1397335ade283803ef57": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": {} + }, + "0x3235897b9c49a4b258a6d0dea33a0d1d4b66d05a": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x5b387e67da24ddf33eaa1397335ade283803ef57", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x3235897b9c49a4b258a6d0dea33a0d1d4b66d05a", + "secretKey": "0xc3b3d58544318b7fb39d8fbb5b387e67da24ddf33eaa1397335ade283803ef57" + }, + "post": { + "Cancun": [ + { + "hash": "0x5ceb941e757ecf9c6ce670cb5ce877e9b0489d6d59a49b009ae45272c16ace30", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a120945b387e67da24ddf33eaa1397335ade283803ef5780a00000000000000000000000000000000000000000000000000000000000000000c080a0d5a119be6ba97a21aed2f95e6797cd26c5b338b15dcc24b13519c22f7124f324a013ec482eaf4cad61e7964055e51fced9a2b208ebdbf8c3ceba61ba0eb47a7d93", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x5b387e67da24ddf33eaa1397335ade283803ef57": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x3235897b9c49a4b258a6d0dea33a0d1d4b66d05a": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x69c5d00e90a519dae2256abce56a9f93cc1b8962a7350a588571993df0d1e55d", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_4]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf56139584582e488113b4f499537595aec4d7c77": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": {} + }, + "0x91973419979efe0c3eea52a54756585b9a58f317": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf56139584582e488113b4f499537595aec4d7c77", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x91973419979efe0c3eea52a54756585b9a58f317", + "secretKey": "0xb92b3c700a0a543fd953b422f56139584582e488113b4f499537595aec4d7c77" + }, + "post": { + "Cancun": [ + { + "hash": "0x35cac6f8597afc4d8ca6a33d05d2e8c6789adf80d2ce3d72a5ce4bbca381f6fe", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a12094f56139584582e488113b4f499537595aec4d7c7780a00000000000000000000000000000000000000000000000000000000000000000c080a050b0c80ab4eb549413f90862abf436df0695afbcea9fc940e5c4a7a6ba9f9437a00badaedb522672baab4e9ec1f35d0a62b8a646bf397680f923513a69f9048399", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf56139584582e488113b4f499537595aec4d7c77": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x91973419979efe0c3eea52a54756585b9a58f317": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x4de913fd93620fc483257168278282f132682c8a21732008209d2b93f185eadc", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_2-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x0c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": {} + }, + "0x0b6eac607bd3c1ca4fb6f0034d21f9f98d988cb3": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x0c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x0b6eac607bd3c1ca4fb6f0034d21f9f98d988cb3", + "secretKey": "0x9ccc0b92f8979a27fab68f550c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f" + }, + "post": { + "Cancun": [ + { + "hash": "0x1135d5f852d56704e3c69ff52a1a9bf86152b38d155bb6fcbade1a9dc28b8764", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a120940c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f80a00000000000000000000000000000000000000000000000000000000000000000c080a0b2a9b7f98b63d7450453c9c512b5bc2c025d4617025003d16020bcea79f5b815a00834c8921ae5a807740f1f4e8fd2b6a8bc351444db2a0ef8d04811305ee21106", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x0c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x0b6eac607bd3c1ca4fb6f0034d21f9f98d988cb3": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xeecd84702c6471ef8729e58e0dcee37ac0da3f208adf9b414b724c7de38c0caa", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xe2fcca65d798373cdb40f11c06b2b0dd9588286d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": {} + }, + "0xc529502530cfb3c184a07ce6a900472112baa33d": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xe2fcca65d798373cdb40f11c06b2b0dd9588286d", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed" + ], + "sender": "0xc529502530cfb3c184a07ce6a900472112baa33d", + "secretKey": "0x79a7ae1829e389c4bfe33baae2fcca65d798373cdb40f11c06b2b0dd9588286d" + }, + "post": { + "Cancun": [ + { + "hash": "0x3b70847b909230a7a960469a13d431dd49246cca42f641bb6742ae803d04b54e", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9014c018080078307a12094e2fcca65d798373cdb40f11c06b2b0dd9588286d80a00000000000000000000000000000000000000000000000000000000000000000c00af8c6a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed01a044a680ca6e7eacb5a13bb6a40d1d72a210c781d6fde6507ecba05a9fbcbf72a1a07f2c8e5324ff36683f7dfee55f700fcd95de1ad42203644cad493bad6a6947d1", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe2fcca65d798373cdb40f11c06b2b0dd9588286d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xc529502530cfb3c184a07ce6a900472112baa33d": { + "nonce": "0x01", + "balance": "0x3635c9adc5de8f6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xa31b258f7e6785ab48ed62aa6a3e70937df415d222a6466ede9977f81ff13bab", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xaf8bacfd5942ce436bb98ba80f7a2be212fb6d1c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": {} + }, + "0x5e3133d4f9c3c2ddb21da97a734304d5bc45929b": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xaf8bacfd5942ce436bb98ba80f7a2be212fb6d1c", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed" + ], + "sender": "0x5e3133d4f9c3c2ddb21da97a734304d5bc45929b", + "secretKey": "0xc31ceee923ad37e97acd7362af8bacfd5942ce436bb98ba80f7a2be212fb6d1c" + }, + "post": { + "Cancun": [ + { + "hash": "0x9e58f38beaf71ae6bed7bca722368efff7a92226418ff2d03913f9aa1195dd1e", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9014c018080078307a12094af8bacfd5942ce436bb98ba80f7a2be212fb6d1c80a00000000000000000000000000000000000000000000000000000000000000000c00af8c6a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed01a0a1d030d50cc034a6369e8688a797d221797e6e7b9e8f1c238923ad26d4194429a034fbdd6d3b15ff41094cf8e120437480e1a8ed9903057cb2b9d915e2ac3719c9", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xaf8bacfd5942ce436bb98ba80f7a2be212fb6d1c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x5e3133d4f9c3c2ddb21da97a734304d5bc45929b": { + "nonce": "0x01", + "balance": "0x3635c9adc5de8f6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x2ee7375f17a039b7068c9330848162a549e22e6d3b697982454deaace8fdb63a", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xcd917935cdbc0d0714ed558cc5c10f1fdbaf0471": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": {} + }, + "0x5f221096cdd310d45b02d3db984163a00d9c21e8": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xcd917935cdbc0d0714ed558cc5c10f1fdbaf0471", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed" + ], + "sender": "0x5f221096cdd310d45b02d3db984163a00d9c21e8", + "secretKey": "0x9903fa9dcc2c89e28f1da951cd917935cdbc0d0714ed558cc5c10f1fdbaf0471" + }, + "post": { + "Cancun": [ + { + "hash": "0x0cae6305f91bdbcf40e9e47c93c13de18999a62ce8404178972b6b4d4676e540", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9014c018080078307a12094cd917935cdbc0d0714ed558cc5c10f1fdbaf047180a00000000000000000000000000000000000000000000000000000000000000000c00af8c6a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed01a0ac230717f9ebdeed2015956ef610daa8e572aecb06ddb45e13f53239aaacc7bea071985109f072fe07da85e80d88bf7b4ae357b85bc577b439e4bf5c2877394ac8", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xcd917935cdbc0d0714ed558cc5c10f1fdbaf0471": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x5f221096cdd310d45b02d3db984163a00d9c21e8": { + "nonce": "0x01", + "balance": "0x3635c9adc5de8f6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x3a6027c14a9f8f6b62325551c5e2f91e85086d711ed7a6d73e0651f9ee478e06", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf73e8edcaec3a4a48fcb9870b101d2124c54399b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": {} + }, + "0x114cea88d87787565d89d62c0e2445bbdfad9fc2": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf73e8edcaec3a4a48fcb9870b101d2124c54399b", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed" + ], + "sender": "0x114cea88d87787565d89d62c0e2445bbdfad9fc2", + "secretKey": "0xc82f9160a1147f38f2ab4f50f73e8edcaec3a4a48fcb9870b101d2124c54399b" + }, + "post": { + "Cancun": [ + { + "hash": "0x9a83b5477c607b3a243c66bdf9a701cbb6eb2478fe00289115c7d83936029a68", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9014c018080078307a12094f73e8edcaec3a4a48fcb9870b101d2124c54399b80a00000000000000000000000000000000000000000000000000000000000000000c00af8c6a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed01a0618e9f31e06babeeaf8ea355eddc86842f5e764489a3a857b1ef91735e040837a04daa6df199a8977b0307945a71bc062abc5bda58295364831f3b075df1231f10", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf73e8edcaec3a4a48fcb9870b101d2124c54399b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x114cea88d87787565d89d62c0e2445bbdfad9fc2": { + "nonce": "0x01", + "balance": "0x3635c9adc5de8f6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x894c6e868afae4182a41b068223bed914dbabdfe361350e10aec28222b63e018", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_3]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xe5bb3e0a6a95ba9a9e46cd7954a237ec019512be": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": {} + }, + "0x73fa3751648ac9b0505bf1a28ee5440fb9af17b1": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xe5bb3e0a6a95ba9a9e46cd7954a237ec019512be", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed" + ], + "sender": "0x73fa3751648ac9b0505bf1a28ee5440fb9af17b1", + "secretKey": "0x273069ef3c2185de3ea5ddcde5bb3e0a6a95ba9a9e46cd7954a237ec019512be" + }, + "post": { + "Cancun": [ + { + "hash": "0x67f00a22a97203929554d33afc7962f14e623cd04ee1473d11b9636cd3dd7d7d", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9014c018080078307a12094e5bb3e0a6a95ba9a9e46cd7954a237ec019512be80a00000000000000000000000000000000000000000000000000000000000000000c00af8c6a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed80a05b18237036c2b0e66e7805c4822b0826de5b9bbd74cbcdfa5503e5da8faf357aa02c0480a21142c2dd1168a2c9e630d68cdf630080a40e58db286fe9d49b474be2", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe5bb3e0a6a95ba9a9e46cd7954a237ec019512be": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x73fa3751648ac9b0505bf1a28ee5440fb9af17b1": { + "nonce": "0x01", + "balance": "0x3635c9adc5de8f6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xd52143ea813740f82a8e587a3b164dcd022cebccd23a1db19358e52646c0fd14", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_4]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x1f4691badb7d5abc66a931de25f6a833c37d28a3": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": {} + }, + "0xeee77c74ba3c8ede586107b06f5680ecc443a8d1": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x1f4691badb7d5abc66a931de25f6a833c37d28a3", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed" + ], + "sender": "0xeee77c74ba3c8ede586107b06f5680ecc443a8d1", + "secretKey": "0xd89d9a8b81645c19c230cc7c1f4691badb7d5abc66a931de25f6a833c37d28a3" + }, + "post": { + "Cancun": [ + { + "hash": "0x3cc5dcb77449ae2ee6567e5360b3f939cee2e5cc8553c9720014dab9ec7ac48f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9014c018080078307a120941f4691badb7d5abc66a931de25f6a833c37d28a380a00000000000000000000000000000000000000000000000000000000000000000c00af8c6a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed80a0cd07fc17814ba1195192399bb8ac0d40c0b78c46c4cd92a3060c57ae68862234a07483e783b17c60d749dee0199c992593cc4cc7fe6d5724da97fb67334e13b20a", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x1f4691badb7d5abc66a931de25f6a833c37d28a3": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xeee77c74ba3c8ede586107b06f5680ecc443a8d1": { + "nonce": "0x01", + "balance": "0x3635c9adc5de8f6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xc672e12943e36598d92d4cfbabc22cdb2c0564860d5f2326b1629bc44bffee14", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Cancun-tx_type_3-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x0e0ecc6895426fc1f269fe93ae51682c682b47c9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": {} + }, + "0x3694b7d35fb43850932c1093c822949951aa69c2": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x0e0ecc6895426fc1f269fe93ae51682c682b47c9", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed" + ], + "sender": "0x3694b7d35fb43850932c1093c822949951aa69c2", + "secretKey": "0x0b04251b61dbdf219ef523a50e0ecc6895426fc1f269fe93ae51682c682b47c9" + }, + "post": { + "Cancun": [ + { + "hash": "0xac5d46db85ac3ae41f52651dc1464ecdff3f8ac69331776fe2bfabafc785c3fd", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9014c018080078307a120940e0ecc6895426fc1f269fe93ae51682c682b47c980a00000000000000000000000000000000000000000000000000000000000000000c00af8c6a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed01a02ab68fcd1bd59d130f6ac5c9aed175d63f085bf772532c3d41907a75cae037e2a036384695b3388c05d3107a62e728e8b8a8ae288a6481b341f394db55f73e6c76", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x0e0ecc6895426fc1f269fe93ae51682c682b47c9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x3694b7d35fb43850932c1093c822949951aa69c2": { + "nonce": "0x01", + "balance": "0x3635c9adc5de8f6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xb24804dd4223a3e43f7bb55ea1241947856f44a0c836f3e626885a5539442a64", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x77f25f09252707d9df861b95f9db3f3d3db5fb31": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": {} + }, + "0x35d9e3a7d3de4539daab58654fecfd342ab7d2da": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x77f25f09252707d9df861b95f9db3f3d3db5fb31", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x35d9e3a7d3de4539daab58654fecfd342ab7d2da", + "secretKey": "0xa70e7bc02af804c5e3f7fc5277f25f09252707d9df861b95f9db3f3d3db5fb31" + }, + "post": { + "Prague": [ + { + "hash": "0xd8d5cff559c46db532a987cf191377143cd2699be5bd974cf3f31c68f43dc07a", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a1209477f25f09252707d9df861b95f9db3f3d3db5fb3180a0000000000000000000000000000000000000000000000000000000000000000025a070db4d18f7a8e540f3727d0cbdd35fd928d9144fc6a5bbcdc28e515aae492747a041ef47d2f7d75d07b4779c0939746d204d797479cfe0bb1d19d65801a188ace5", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x77f25f09252707d9df861b95f9db3f3d3db5fb31": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x35d9e3a7d3de4539daab58654fecfd342ab7d2da": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x61c9ebe28d8e7b7d649e30cf747a724c643238ef5fe5ab316ee38b80f1ab8ce9", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xb303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": {} + }, + "0xef66245317a6ff2b894850a6acfed367e666d0ff": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xb303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee9", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xef66245317a6ff2b894850a6acfed367e666d0ff", + "secretKey": "0xd8f0c697cf32018b451ccae9b303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee9" + }, + "post": { + "Prague": [ + { + "hash": "0x73d8372cee73e79793251ef3cf2c86982ad77e0d8baf46fdf86ee30ebd33a965", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a12094b303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee980a0000000000000000000000000000000000000000000000000000000000000000026a0317062d288c818ead7bd918b9cc6dbe074cea49511a55f8017d9e1e8f84afd7ea03c6a7de9aceb92ab19b823788f47f8ac6ea1f16f6773f737532365d1407288a7", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xb303dd7de7dd6033d0ac1ea0c5bb062c3c1e1ee9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xef66245317a6ff2b894850a6acfed367e666d0ff": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xe7f7421a0d6aa0b31573fe867bca41b1220a492b026cc7b4209adfd9e90465b6", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x0a4f21a0f2d2c0265a01d19b879f12b3c30d0c84": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": {} + }, + "0xbdd1cb2f3ce84c22d7dba290999ba8f0ec6de179": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x0a4f21a0f2d2c0265a01d19b879f12b3c30d0c84", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xbdd1cb2f3ce84c22d7dba290999ba8f0ec6de179", + "secretKey": "0xf8a9464a9b7a9ed8d1357ea30a4f21a0f2d2c0265a01d19b879f12b3c30d0c84" + }, + "post": { + "Prague": [ + { + "hash": "0x3a7fe67508b6d4d5d04190c9182bb962e40e765a251c3b5f714b33e87c1d0c55", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a120940a4f21a0f2d2c0265a01d19b879f12b3c30d0c8480a0000000000000000000000000000000000000000000000000000000000000000025a04bc4cdb863946105bdcd3b2b7ae0dcb1e0a0592e5aff32c45805eed30e4b2b68a02e801da0a2ae0dc851fbdb00284f8dc117551da6ddf798ea0217910bd36fe69c", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x0a4f21a0f2d2c0265a01d19b879f12b3c30d0c84": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xbdd1cb2f3ce84c22d7dba290999ba8f0ec6de179": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x9f0e0986f746d4e258d6f65ef12c8840c3f18682c5aa3bff3f0017c61c6ef21a", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xd442a2ba400b184a795590263ae8508ab731512e": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": {} + }, + "0x646e8598e6cfc82ad379ca04957ca231f95cd508": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xd442a2ba400b184a795590263ae8508ab731512e", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x646e8598e6cfc82ad379ca04957ca231f95cd508", + "secretKey": "0xa247aedbbd310381880b7fa1d442a2ba400b184a795590263ae8508ab731512e" + }, + "post": { + "Prague": [ + { + "hash": "0x2fedd90ed74b7930d7ad4ece17c71cc69bea0a0504aa7047546d268c90d728f7", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a12094d442a2ba400b184a795590263ae8508ab731512e80a0000000000000000000000000000000000000000000000000000000000000000025a0868c0245dedab5c3318a6be474abfd263c7fc29a0ee2d5297eeaeb89453a6baca076a80ba70851f67e304d6ee0d3be129da2efa73b2d5f6d3d1ae077935d9b1784", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd442a2ba400b184a795590263ae8508ab731512e": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x646e8598e6cfc82ad379ca04957ca231f95cd508": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xf68fdf1393f768127078c657b1955f00f70d10dd1c09f42c01b60af15468a7a5", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_3]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x2efdbf3b6aa5e2c16d1cb7924ed88e4170b71249": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": {} + }, + "0xce9e870df8ecb200300ecd9db7eeee5c5d45a4ee": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x2efdbf3b6aa5e2c16d1cb7924ed88e4170b71249", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xce9e870df8ecb200300ecd9db7eeee5c5d45a4ee", + "secretKey": "0x50aaf24f16119060d02a280e2efdbf3b6aa5e2c16d1cb7924ed88e4170b71249" + }, + "post": { + "Prague": [ + { + "hash": "0x32a68ad15573874e8fcbb2b2512dbbd2f13321966d42a52cb1215b797ede6141", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a120942efdbf3b6aa5e2c16d1cb7924ed88e4170b7124980a0000000000000000000000000000000000000000000000000000000000000000026a09f5305814363c597ee05c7efffc4787f18a68af83103f706bd9b6121c6bb38e4a013b61d8d4489b90a7e425a1329abd5eb2a07a394d36e06826ec4dc5d96cecdb0", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x2efdbf3b6aa5e2c16d1cb7924ed88e4170b71249": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xce9e870df8ecb200300ecd9db7eeee5c5d45a4ee": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x1bdbe4a13e3b004254061d11f64cb4a1b59a32bdd7ac132d69a01b0af3db8461", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_4]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x7d8477bfcdb95a62bae05e2bb572a7d1aa3ac047": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": {} + }, + "0x6e62ef354df1314bb5db6da79505ed78799108ef": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x7d8477bfcdb95a62bae05e2bb572a7d1aa3ac047", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x6e62ef354df1314bb5db6da79505ed78799108ef", + "secretKey": "0x8382eca088026abb752a7ecf7d8477bfcdb95a62bae05e2bb572a7d1aa3ac047" + }, + "post": { + "Prague": [ + { + "hash": "0x3ef71c3f700f926254dd22ba1e3a77bcb931c8054fe785429c7dfc653204082e", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a120947d8477bfcdb95a62bae05e2bb572a7d1aa3ac04780a0000000000000000000000000000000000000000000000000000000000000000025a0323cb8d474a9f289a5b3fb3d7889999511426589315514361fc176a7e36043daa0592a438f10c79cbe61b18e008bbf9fd89078aa4b37f9484469933edb78cd1144", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x7d8477bfcdb95a62bae05e2bb572a7d1aa3ac047": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x6e62ef354df1314bb5db6da79505ed78799108ef": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x228f68ace7f7b29432e8724d87f6f3bec1cf13f32a2e23e0875a2b308872aefb", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_0-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x942dd95e4ca14f29ca3ecf12d10bcca30ffcd564": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": {} + }, + "0x102d2cc6bbb7c0f6b599093640bdf3b0d44a30d4": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x942dd95e4ca14f29ca3ecf12d10bcca30ffcd564", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x102d2cc6bbb7c0f6b599093640bdf3b0d44a30d4", + "secretKey": "0x1ff035ff12fec03fc5adbdad942dd95e4ca14f29ca3ecf12d10bcca30ffcd564" + }, + "post": { + "Prague": [ + { + "hash": "0x2eb6e2b99a3d9cd796682422014dac02332de20026709963b232a6f463109c05", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf880800a8307a12094942dd95e4ca14f29ca3ecf12d10bcca30ffcd56480a0000000000000000000000000000000000000000000000000000000000000000026a06f382b33f96bdbfb685568274c3dcd5d94c20340712650ff53bfd35191104da9a026fc1643ef10aeef447c5c74028d8b2f94862cac76fbf33f254ae50d8b6d9db2", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x942dd95e4ca14f29ca3ecf12d10bcca30ffcd564": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x102d2cc6bbb7c0f6b599093640bdf3b0d44a30d4": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xa2f85c332bb57865b209aa7a8e912f79e01d401bf4e7595c21b944cf1fdb2f1e", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xdf8d8555673b615857e17c5479c534ea9618f77f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": {} + }, + "0x7c63c88af02a5df7561ae8ec09318b8b352b2f98": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xdf8d8555673b615857e17c5479c534ea9618f77f", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x7c63c88af02a5df7561ae8ec09318b8b352b2f98", + "secretKey": "0x384b038d29527098ba163abedf8d8555673b615857e17c5479c534ea9618f77f" + }, + "post": { + "Prague": [ + { + "hash": "0x3b06812dd0e8491a4b6d3fe7fde6a708304db43ca34a04abef2e13306675da1a", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094df8d8555673b615857e17c5479c534ea9618f77f80a00000000000000000000000000000000000000000000000000000000000000000c001a0887c042dd187cbdbe25b9098deda562d098d401eba9cb83631b680d1dc7cab62a0112c359bd1e45941d7b8b0145e33651f1c6f1b82a66af6c67d916d02c2dd2b75", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xdf8d8555673b615857e17c5479c534ea9618f77f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x7c63c88af02a5df7561ae8ec09318b8b352b2f98": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xbd5b2b903fae4df0059734450da651904c96e2f25b4d228c2b1731eb8df8966f", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x79fab71e5a544f30eed5f258a543cceb7e48804c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": {} + }, + "0x853e01e51fbe7873ef50a008e88ca7864f3c3bd4": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x79fab71e5a544f30eed5f258a543cceb7e48804c", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x853e01e51fbe7873ef50a008e88ca7864f3c3bd4", + "secretKey": "0x3848650d555a915c5616451679fab71e5a544f30eed5f258a543cceb7e48804c" + }, + "post": { + "Prague": [ + { + "hash": "0x7baa7c2c7a9fd3654146fd5cc704bea65b639867685f5c4460a1dd62101a2acf", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a1209479fab71e5a544f30eed5f258a543cceb7e48804c80a00000000000000000000000000000000000000000000000000000000000000000c080a01425ce90e535baae8a71a0da1b88cb4e143f122cc4eee57d8c3dbf41b8c353dba020c390c39c933b026733c91c574b06acd2b00bd15c4f5f3e2d6703d24e5ea704", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x79fab71e5a544f30eed5f258a543cceb7e48804c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x853e01e51fbe7873ef50a008e88ca7864f3c3bd4": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xc606e5e8e5cd23798dfe9439aec1402ef68016dc439100f01f6f9da2d059762c", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf2de0363c9abac460c8b9f063e79ae67e65f0251": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": {} + }, + "0x0074365a2f8e03c51ac21537b7537f257baced3a": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf2de0363c9abac460c8b9f063e79ae67e65f0251", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x0074365a2f8e03c51ac21537b7537f257baced3a", + "secretKey": "0xbf570eb6f13caa4fbb5a40adf2de0363c9abac460c8b9f063e79ae67e65f0251" + }, + "post": { + "Prague": [ + { + "hash": "0x595617a0697835af845823bb2c18bc21fdcc9408a07eb68d3016b6b2445f2de2", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094f2de0363c9abac460c8b9f063e79ae67e65f025180a00000000000000000000000000000000000000000000000000000000000000000c001a049bfd7cef34d7fb73cc1cb4a33913e1ad17480a494c8ebe64c25820fbe65fba4a026aa3e794e6c5e7c897a36473723f2bb008aa5f3f7dec8fc1a1642b0efbd8f71", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf2de0363c9abac460c8b9f063e79ae67e65f0251": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x0074365a2f8e03c51ac21537b7537f257baced3a": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xe6d77aa13fcdf754db6270d1a97c6baaf5fe241e8ff3e250ee2220da674e13ab", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xbd7c5b671a41be3a224c5c3ea9402ebe7dbd3f36": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": {} + }, + "0xd343260d7920cdc4e24972cf3a88234caa0f2fe1": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xbd7c5b671a41be3a224c5c3ea9402ebe7dbd3f36", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0xd343260d7920cdc4e24972cf3a88234caa0f2fe1", + "secretKey": "0xf17a5f20e93b4a8059c592aabd7c5b671a41be3a224c5c3ea9402ebe7dbd3f36" + }, + "post": { + "Prague": [ + { + "hash": "0x07ea27ed65d269cc40e35377fa0775c58bbdfef1468fc858f8727ee01729fa81", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094bd7c5b671a41be3a224c5c3ea9402ebe7dbd3f3680a00000000000000000000000000000000000000000000000000000000000000000c001a00f73b34d19057afa187033e8743cfd1cba143d63d13939e052cfc1aa2f2c3461a0421125b81f192f23d1f6fb690b4a4a8d3a360b819e0553ef65bb39e5a280b01e", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xbd7c5b671a41be3a224c5c3ea9402ebe7dbd3f36": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xd343260d7920cdc4e24972cf3a88234caa0f2fe1": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xaae89401b6a992642bce7bd2182d4e59428f9d85ec4a567e2aa61b07f7a6ba96", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_3]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xc8500bc8a6363d6abe32601a24f9a7e5b33155c6": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": {} + }, + "0x4bf2c5af6f629e9c8ec2ca8e10d06a212b44fdff": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xc8500bc8a6363d6abe32601a24f9a7e5b33155c6", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x4bf2c5af6f629e9c8ec2ca8e10d06a212b44fdff", + "secretKey": "0xa935a3e335b624adb3c9660bc8500bc8a6363d6abe32601a24f9a7e5b33155c6" + }, + "post": { + "Prague": [ + { + "hash": "0x7933a0be3a9c214f8a1ace54db976a26d8ff20e92b69a5fa420bf481d4f2c30f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094c8500bc8a6363d6abe32601a24f9a7e5b33155c680a00000000000000000000000000000000000000000000000000000000000000000c001a0f812bf6978cc2d74253623adcd2633cc643f61385f9752e5572ba07afa73d91aa05b7dd1af6a820362b60fe1c39b3fd99a3c62a93d85e0720df0e8311d20c4f7ae", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xc8500bc8a6363d6abe32601a24f9a7e5b33155c6": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x4bf2c5af6f629e9c8ec2ca8e10d06a212b44fdff": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x50af20dbd8f1cc1630ca736afc8bf318b687167ac06d0fa522b9ff5a698b51fd", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_4]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xe5a00efd7df92b48b2c87de4da5c97b5e40d2d83": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": {} + }, + "0xb7a32702d7aac9238ddf22b5f5b73b5e0c96c5a0": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xe5a00efd7df92b48b2c87de4da5c97b5e40d2d83", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0xb7a32702d7aac9238ddf22b5f5b73b5e0c96c5a0", + "secretKey": "0xd448b8b649bbe828ed2a44a0e5a00efd7df92b48b2c87de4da5c97b5e40d2d83" + }, + "post": { + "Prague": [ + { + "hash": "0xebc720b314b2ad54c576f118fa93233e224362d0ca32f221e697bd51e5b99339", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a12094e5a00efd7df92b48b2c87de4da5c97b5e40d2d8380a00000000000000000000000000000000000000000000000000000000000000000c001a0c7e21405f0e2c6600b7dc19bb9ef3ded5d0762e0ba297a7d86a085b3a8082b8aa04a29295619f5032bdf88571000a9af847564382726afef3818f001f54980aa47", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe5a00efd7df92b48b2c87de4da5c97b5e40d2d83": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xb7a32702d7aac9238ddf22b5f5b73b5e0c96c5a0": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x089827771a84a8921e826193cafa8e2c5ece11ff0d645bc92f845a9c60eb45b2", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_1-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x3abb1cc7846be200d2b4538002ad5e29f7088ccf": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": {} + }, + "0xec018c314ecbc0f937e29159d153f808fadf6097": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0x3abb1cc7846be200d2b4538002ad5e29f7088ccf", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0xec018c314ecbc0f937e29159d153f808fadf6097", + "secretKey": "0x20371408346ce3eeec22e46e3abb1cc7846be200d2b4538002ad5e29f7088ccf" + }, + "post": { + "Prague": [ + { + "hash": "0x1c1677829f4c9a011d0063a65a12d3082d19bd78560b196434eceedd76472842", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f88201800a8307a120943abb1cc7846be200d2b4538002ad5e29f7088ccf80a00000000000000000000000000000000000000000000000000000000000000000c001a0b32010570440e5c01ed96888965a7b691ca0fed50b5d40ce8c64cf5b51e35070a016f789b4be8719f7b8a064c481ecea6f5b6f0d062a2b93316c4f848ea2e92b8f", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x3abb1cc7846be200d2b4538002ad5e29f7088ccf": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xec018c314ecbc0f937e29159d153f808fadf6097": { + "nonce": "0x01", + "balance": "0x3635c9adc5de99661e", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x01faf7", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xb92f71dd8863801ea6e71bdd823204d8f6fdad1413e19c408577b20e63f66dd0", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xa0f7d6d0baf7514d1199bbd993922332f14b4d9b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": {} + }, + "0x0fb5b04b1d5ea2130ebe7bc0fd5c3b6435eb680e": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xa0f7d6d0baf7514d1199bbd993922332f14b4d9b", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x0fb5b04b1d5ea2130ebe7bc0fd5c3b6435eb680e", + "secretKey": "0xf86cb26bb358ae608e4538a6a0f7d6d0baf7514d1199bbd993922332f14b4d9b" + }, + "post": { + "Prague": [ + { + "hash": "0x875281d5d464599f598c3f33a54dcaac566d84174808588c71209c3ef0f316d6", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a12094a0f7d6d0baf7514d1199bbd993922332f14b4d9b80a00000000000000000000000000000000000000000000000000000000000000000c001a0ea1021004dd193d0c764e13f6d567d0a3d4efae854975f1d975cf4c4ee95d706a05a3a9e9b16d2f04bc99893a23a938f52375badfb6166ee900f593ac0c6e1bf03", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xa0f7d6d0baf7514d1199bbd993922332f14b4d9b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x0fb5b04b1d5ea2130ebe7bc0fd5c3b6435eb680e": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x737e4ffde8261b70bac3b8487fd7905af09385607e494a99280757e9e3aee58f", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x18b4034d1c39fc9cb8997a3d620a21dc8d477ca8": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": {} + }, + "0x8d69434fa4182a2a30f0c3f78e703a4032f870bc": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x18b4034d1c39fc9cb8997a3d620a21dc8d477ca8", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x8d69434fa4182a2a30f0c3f78e703a4032f870bc", + "secretKey": "0x825645c53018422c54d6919f18b4034d1c39fc9cb8997a3d620a21dc8d477ca8" + }, + "post": { + "Prague": [ + { + "hash": "0xeeba353cf8e3bda8166037e7ada279e073d5c06c514c7f1a607733531c31f606", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a1209418b4034d1c39fc9cb8997a3d620a21dc8d477ca880a00000000000000000000000000000000000000000000000000000000000000000c001a0a8d020bc32ced4d575a20008265d816ae57fdcc18478cf93f3144eaf55fd1f29a0251bebee6e5f59cb661cfcccd07ba25dc6e70a50026a3a0a15305e4aa70d3d55", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x18b4034d1c39fc9cb8997a3d620a21dc8d477ca8": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x8d69434fa4182a2a30f0c3f78e703a4032f870bc": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x17f395133d91ab3ab0732161b09eb13b4d2e253d7a48583b740c01c238cc9783", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x3d5334fbdc98c4f40447b483205c0471e932f7e4": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": {} + }, + "0xd5d56dc68a22e57fd7b595918b7f796787f30166": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x3d5334fbdc98c4f40447b483205c0471e932f7e4", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0xd5d56dc68a22e57fd7b595918b7f796787f30166", + "secretKey": "0x5c7a9f81cd89e3d71806e6c63d5334fbdc98c4f40447b483205c0471e932f7e4" + }, + "post": { + "Prague": [ + { + "hash": "0xfde6eb5b95feb0ee19d298a1cd23110ad984b10d3b9160f214b901fdb520bdfc", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a120943d5334fbdc98c4f40447b483205c0471e932f7e480a00000000000000000000000000000000000000000000000000000000000000000c080a0f4171a6dddf42a6ab7c907a229e84a6c5f208a7aacd6da1300c9d0557485942da04da78e41aa0790ca8e9e5464e3b8a93f413c4cea3ba3e8c3e13a59427a8eb7a1", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x3d5334fbdc98c4f40447b483205c0471e932f7e4": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xd5d56dc68a22e57fd7b595918b7f796787f30166": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x4cf151b79949f56edb2edf085ce0f9822b5142418d1c0d249b083abd0fdca2fe", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf43b7b15b6a1ae97507efa2d851ba1219d612ec4": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": {} + }, + "0x6e77583cbdcb60b614d6b68d50e83990e79d55fb": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf43b7b15b6a1ae97507efa2d851ba1219d612ec4", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x6e77583cbdcb60b614d6b68d50e83990e79d55fb", + "secretKey": "0xe0cce3373d21f576d9d75178f43b7b15b6a1ae97507efa2d851ba1219d612ec4" + }, + "post": { + "Prague": [ + { + "hash": "0xd4558b91fa1f6557f1f74d969a45d3eb09b13421c41bfd866c3e3c10e11b9bda", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a12094f43b7b15b6a1ae97507efa2d851ba1219d612ec480a00000000000000000000000000000000000000000000000000000000000000000c001a0bc2dcacf33be34d4f2b9f1dd1a724c80e17b65e66ae8c52d1858c2e88a3af978a01a8480ec159808e622c6bf2de7c812ff5fef484681f04146c90cb8bae9d6b969", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf43b7b15b6a1ae97507efa2d851ba1219d612ec4": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x6e77583cbdcb60b614d6b68d50e83990e79d55fb": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x8e25ede6f8b82570fde430aa23a326c62539584bcec7b9671446417c1de77ca5", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_3]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x5b387e67da24ddf33eaa1397335ade283803ef57": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": {} + }, + "0x3235897b9c49a4b258a6d0dea33a0d1d4b66d05a": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x5b387e67da24ddf33eaa1397335ade283803ef57", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x3235897b9c49a4b258a6d0dea33a0d1d4b66d05a", + "secretKey": "0xc3b3d58544318b7fb39d8fbb5b387e67da24ddf33eaa1397335ade283803ef57" + }, + "post": { + "Prague": [ + { + "hash": "0x5ceb941e757ecf9c6ce670cb5ce877e9b0489d6d59a49b009ae45272c16ace30", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a120945b387e67da24ddf33eaa1397335ade283803ef5780a00000000000000000000000000000000000000000000000000000000000000000c080a0d5a119be6ba97a21aed2f95e6797cd26c5b338b15dcc24b13519c22f7124f324a013ec482eaf4cad61e7964055e51fced9a2b208ebdbf8c3ceba61ba0eb47a7d93", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x5b387e67da24ddf33eaa1397335ade283803ef57": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x3235897b9c49a4b258a6d0dea33a0d1d4b66d05a": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x6e88aea61237023a96cfa338c16c062336c7606e85195d9fb3bb3e370b63cc8d", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_4]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf56139584582e488113b4f499537595aec4d7c77": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": {} + }, + "0x91973419979efe0c3eea52a54756585b9a58f317": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf56139584582e488113b4f499537595aec4d7c77", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x91973419979efe0c3eea52a54756585b9a58f317", + "secretKey": "0xb92b3c700a0a543fd953b422f56139584582e488113b4f499537595aec4d7c77" + }, + "post": { + "Prague": [ + { + "hash": "0x35cac6f8597afc4d8ca6a33d05d2e8c6789adf80d2ce3d72a5ce4bbca381f6fe", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a12094f56139584582e488113b4f499537595aec4d7c7780a00000000000000000000000000000000000000000000000000000000000000000c080a050b0c80ab4eb549413f90862abf436df0695afbcea9fc940e5c4a7a6ba9f9437a00badaedb522672baab4e9ec1f35d0a62b8a646bf397680f923513a69f9048399", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf56139584582e488113b4f499537595aec4d7c77": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x91973419979efe0c3eea52a54756585b9a58f317": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x0e2eaf2a40fe2b178b61bfc2bf44397abb3ce50bcea59bfd497de6fd30a991a6", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_2-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x0c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": {} + }, + "0x0b6eac607bd3c1ca4fb6f0034d21f9f98d988cb3": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x0c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "sender": "0x0b6eac607bd3c1ca4fb6f0034d21f9f98d988cb3", + "secretKey": "0x9ccc0b92f8979a27fab68f550c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f" + }, + "post": { + "Prague": [ + { + "hash": "0x1135d5f852d56704e3c69ff52a1a9bf86152b38d155bb6fcbade1a9dc28b8764", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f883018080078307a120940c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f80a00000000000000000000000000000000000000000000000000000000000000000c080a0b2a9b7f98b63d7450453c9c512b5bc2c025d4617025003d16020bcea79f5b815a00834c8921ae5a807740f1f4e8fd2b6a8bc351444db2a0ef8d04811305ee21106", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x0c6fcb3e7d2938e0f1542a6ef698ab7cb5e4949f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x0b6eac607bd3c1ca4fb6f0034d21f9f98d988cb3": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9b6115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xb697aec142cf02ec30d6fd724721c5d6130452ecc2a9839d98840a48e28fcb4a", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xe2fcca65d798373cdb40f11c06b2b0dd9588286d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": {} + }, + "0xc529502530cfb3c184a07ce6a900472112baa33d": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xe2fcca65d798373cdb40f11c06b2b0dd9588286d", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed", + "0x0171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7", + "0x012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f", + "0x01d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d" + ], + "sender": "0xc529502530cfb3c184a07ce6a900472112baa33d", + "secretKey": "0x79a7ae1829e389c4bfe33baae2fcca65d798373cdb40f11c06b2b0dd9588286d" + }, + "post": { + "Prague": [ + { + "hash": "0x53638db7c975a28f5ed3d4131f05ddff8afb277640c9eb6eb1c6a0c9020bb706", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f901b0018080078307a12094e2fcca65d798373cdb40f11c06b2b0dd9588286d80a00000000000000000000000000000000000000000000000000000000000000000c00af90129a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4eda00171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7a0012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212fa001d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d01a0ff394fe5eb0484a12546c219392214f57fc31a1758abe0f7d24e156c6156e7f7a020ebbebe4d665eb74391a8c96efbed99189090591204a6d127fe1b5719a147f3", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe2fcca65d798373cdb40f11c06b2b0dd9588286d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xc529502530cfb3c184a07ce6a900472112baa33d": { + "nonce": "0x01", + "balance": "0x3635c9adc5de896115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x466017caf9f558b6889b44e8b2605d520a70fd73eb19e71ab3b907b8b96b47e7", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xaf8bacfd5942ce436bb98ba80f7a2be212fb6d1c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": {} + }, + "0x5e3133d4f9c3c2ddb21da97a734304d5bc45929b": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xaf8bacfd5942ce436bb98ba80f7a2be212fb6d1c", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed", + "0x0171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7", + "0x012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f", + "0x01d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d" + ], + "sender": "0x5e3133d4f9c3c2ddb21da97a734304d5bc45929b", + "secretKey": "0xc31ceee923ad37e97acd7362af8bacfd5942ce436bb98ba80f7a2be212fb6d1c" + }, + "post": { + "Prague": [ + { + "hash": "0x38b065873bcab4198c67f44993363c6f686286f0ffd733d1013a553cb7ef1867", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f901b0018080078307a12094af8bacfd5942ce436bb98ba80f7a2be212fb6d1c80a00000000000000000000000000000000000000000000000000000000000000000c00af90129a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4eda00171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7a0012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212fa001d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d01a074aec89e6f0e6fc987b5a43cb9e545ceaba47a45ec21cf21d612ef1af40d67dea007d78a0d826874288f1352711d056409ded0f0ea642f7786d73f16a5fa020924", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xaf8bacfd5942ce436bb98ba80f7a2be212fb6d1c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x5e3133d4f9c3c2ddb21da97a734304d5bc45929b": { + "nonce": "0x01", + "balance": "0x3635c9adc5de896115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xf9507abaad83271804f9e402515a2efefee94479204a54ba455dbe241dab5f99", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xcd917935cdbc0d0714ed558cc5c10f1fdbaf0471": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": {} + }, + "0x5f221096cdd310d45b02d3db984163a00d9c21e8": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xcd917935cdbc0d0714ed558cc5c10f1fdbaf0471", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed", + "0x0171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7", + "0x012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f", + "0x01d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d" + ], + "sender": "0x5f221096cdd310d45b02d3db984163a00d9c21e8", + "secretKey": "0x9903fa9dcc2c89e28f1da951cd917935cdbc0d0714ed558cc5c10f1fdbaf0471" + }, + "post": { + "Prague": [ + { + "hash": "0x2998d031155fc3946926289769fe19eb905c325e3e656775874a50ea55f16a00", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f901b0018080078307a12094cd917935cdbc0d0714ed558cc5c10f1fdbaf047180a00000000000000000000000000000000000000000000000000000000000000000c00af90129a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4eda00171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7a0012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212fa001d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d01a073133db3f6f88751246573d59cf16fbfb657fb48a10e533b5ffeeb9f0dbc44f6a0200bcbcb66b3785af4e29a5c715b85974102f5e9a9b8bba50a7deacf4a4fd9ef", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xcd917935cdbc0d0714ed558cc5c10f1fdbaf0471": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x5f221096cdd310d45b02d3db984163a00d9c21e8": { + "nonce": "0x01", + "balance": "0x3635c9adc5de896115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x86ffacb2325ff14381ab8715caa0021195c5c79bab37839d64bef433f89c3065", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf73e8edcaec3a4a48fcb9870b101d2124c54399b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": {} + }, + "0x114cea88d87787565d89d62c0e2445bbdfad9fc2": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf73e8edcaec3a4a48fcb9870b101d2124c54399b", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed", + "0x0171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7", + "0x012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f", + "0x01d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d" + ], + "sender": "0x114cea88d87787565d89d62c0e2445bbdfad9fc2", + "secretKey": "0xc82f9160a1147f38f2ab4f50f73e8edcaec3a4a48fcb9870b101d2124c54399b" + }, + "post": { + "Prague": [ + { + "hash": "0xae1d3501d27cfdebee28a9033c54f066ef25a6d19784172726992a1089e46f4a", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f901b0018080078307a12094f73e8edcaec3a4a48fcb9870b101d2124c54399b80a00000000000000000000000000000000000000000000000000000000000000000c00af90129a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4eda00171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7a0012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212fa001d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d01a0723735ef333bff1f4d6185c1a693b5f0dc6e6b98429628271594d492f47fd772a070d775b351aa954516bcf3e3a2b9da346e6a77bbe76a7af0480a333f0b5e579d", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf73e8edcaec3a4a48fcb9870b101d2124c54399b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x114cea88d87787565d89d62c0e2445bbdfad9fc2": { + "nonce": "0x01", + "balance": "0x3635c9adc5de896115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xb4b4209ab46fc2c7625eca4a6e26ec5fb8c2138278dab979d23fa3c55adf8d83", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_3]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xe5bb3e0a6a95ba9a9e46cd7954a237ec019512be": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": {} + }, + "0x73fa3751648ac9b0505bf1a28ee5440fb9af17b1": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xe5bb3e0a6a95ba9a9e46cd7954a237ec019512be", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed", + "0x0171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7", + "0x012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f", + "0x01d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d" + ], + "sender": "0x73fa3751648ac9b0505bf1a28ee5440fb9af17b1", + "secretKey": "0x273069ef3c2185de3ea5ddcde5bb3e0a6a95ba9a9e46cd7954a237ec019512be" + }, + "post": { + "Prague": [ + { + "hash": "0xcf2d78df3aac7a819c4c2a5199af858eab6b0e24e9b8481c04604e00da6232ad", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f901b0018080078307a12094e5bb3e0a6a95ba9a9e46cd7954a237ec019512be80a00000000000000000000000000000000000000000000000000000000000000000c00af90129a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4eda00171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7a0012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212fa001d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d01a0aa149e93516e6f7d8705384e16bbb342c20b93cc98d9845ec570d91ad7f5ebb2a024c0cc5265bc858a30cdf067deb0f673b16b21f48d4d8216fa6c072238aa9ca5", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe5bb3e0a6a95ba9a9e46cd7954a237ec019512be": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x73fa3751648ac9b0505bf1a28ee5440fb9af17b1": { + "nonce": "0x01", + "balance": "0x3635c9adc5de896115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xde1a028237182c597918f6d5da47fb862d0febe369e5bd6e2b0e704c6ddb2706", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_4]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x1f4691badb7d5abc66a931de25f6a833c37d28a3": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": {} + }, + "0xeee77c74ba3c8ede586107b06f5680ecc443a8d1": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x1f4691badb7d5abc66a931de25f6a833c37d28a3", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed", + "0x0171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7", + "0x012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f", + "0x01d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d" + ], + "sender": "0xeee77c74ba3c8ede586107b06f5680ecc443a8d1", + "secretKey": "0xd89d9a8b81645c19c230cc7c1f4691badb7d5abc66a931de25f6a833c37d28a3" + }, + "post": { + "Prague": [ + { + "hash": "0xb86d77ed92667fdd04c92a08fdafdf13f13c999ad33c8bf0bf6547e9e6ae6c9f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f901b0018080078307a120941f4691badb7d5abc66a931de25f6a833c37d28a380a00000000000000000000000000000000000000000000000000000000000000000c00af90129a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4eda00171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7a0012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212fa001d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d80a0ec5f67afb79acde83e71d1f79f81f18c159f63c0bf9a6ec16b5edde17c045934a0205d6cd4ca336450807b22622dd7f9b6a608dfe795233b26a56c8f82207a0792", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x1f4691badb7d5abc66a931de25f6a833c37d28a3": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xeee77c74ba3c8ede586107b06f5680ecc443a8d1": { + "nonce": "0x01", + "balance": "0x3635c9adc5de896115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x2d124dd4991e2e8b4b6a7f6d20bfa6f80afabeac03dd51dcd1f90c3be9b81702", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_3-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x0e0ecc6895426fc1f269fe93ae51682c682b47c9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": {} + }, + "0x3694b7d35fb43850932c1093c822949951aa69c2": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x0e0ecc6895426fc1f269fe93ae51682c682b47c9", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x01b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4f", + "0x015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6df", + "0x01878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681d", + "0x014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834", + "0x01a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bb", + "0x01a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4ed", + "0x0171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7", + "0x012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f", + "0x01d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d" + ], + "sender": "0x3694b7d35fb43850932c1093c822949951aa69c2", + "secretKey": "0x0b04251b61dbdf219ef523a50e0ecc6895426fc1f269fe93ae51682c682b47c9" + }, + "post": { + "Prague": [ + { + "hash": "0xb21f0ab5a3ce4c1158de966382404eda0cef14ed9316dc6e749f203b33bb3dcc", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f901b0018080078307a120940e0ecc6895426fc1f269fe93ae51682c682b47c980a00000000000000000000000000000000000000000000000000000000000000000c00af90129a001b8c5b09810b5fc07355d3da42e2c3a3e200c1d9a678491b7e8e256fc50cc4fa0015b4c8cc4f86aa2d2cf9e9ce97fca704a11a6c20f6b1d6c00a6e15f6d60a6dfa001878f80eaf10be1a6f618e6f8c071b10a6c14d9b89a3bf2a3f3cf2db6c5681da0014eb72b108d562c639faeb6f8c6f366a28b0381c7d30431117ec8c7bb89f834a001a9b2a6c3f3f0675b768d49b5f5dc5b5d988f88d55766247ba9e40b125f16bba001a4d4cde4aa01e57fb2c880d1d9c778c33bdf85e48ef4c4d4b4de51abccf4eda00171c9b8a0c72d38f5e5b5d08e5cb5ce5e23fb1bc5d75f9c29f7b94df0bceeb7a0012c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212fa001d78c25f8a1d6aa04d0e2e2a71cf8dfaa4239fa0f301eb57c249d1e6bfe3c3d01a00a32ef337c9ff67b7b4bb08381b68b8eee414880f9a12e772daaf17e11fcaad7a04130b24ee545e2214ce19a14c0f3f290a7d8839c89c7536983bfa350d0b5e250", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x0e0ecc6895426fc1f269fe93ae51682c682b47c9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x3694b7d35fb43850932c1093c822949951aa69c2": { + "nonce": "0x01", + "balance": "0x3635c9adc5de896115", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xdf698556ee8132d560bc25710ecc8ff9a484052f4e26517a4e45544130bd0cb8", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_4-state_test-blobhash_index_0]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x9a58e47007e166ab5182036d453602816ad8a3dc": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": {} + }, + "0x632f1699d9211ff9934b04cf5f754b1a37cc2d84": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x9a58e47007e166ab5182036d453602816ad8a3dc", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "authorizationList": [ + { + "chainId": "0x00", + "address": "0x0000000000000000000000000000000000000000", + "nonce": "0x00", + "v": "0x01", + "r": "0xf05cea4f2cf10addf0081242a4c3360c6bd54c667c87dc4b93dbad8d642139fd", + "s": "0x7454efa940f08d58ec9247654798af36d6d53443239918153b1c138d0a8339fd", + "signer": "0x82cc7f4dc2d0eefc9e1dfb0947c3c0584adb6488", + "yParity": "0x01" + } + ], + "sender": "0x632f1699d9211ff9934b04cf5f754b1a37cc2d84", + "secretKey": "0x5fb3ec240067132cd56c04299a58e47007e166ab5182036d453602816ad8a3dc" + }, + "post": { + "Prague": [ + { + "hash": "0xeb961a5e6aa5b0f952ada980ea9c57f8df8555b89f5478e75b2eae669ab66ab3", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x04f8e0018080078307a120949a58e47007e166ab5182036d453602816ad8a3dc80a00000000000000000000000000000000000000000000000000000000000000000c0f85cf85a809400000000000000000000000000000000000000008001a0f05cea4f2cf10addf0081242a4c3360c6bd54c667c87dc4b93dbad8d642139fda07454efa940f08d58ec9247654798af36d6d53443239918153b1c138d0a8339fd80a019a411231600e860adedac5165e0b2d51720637a9cdc47221023e5542d23bf099f9718ffdd6f97eaae611c86555e07777d590e932f527607e6c919a3ec7caddd", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x9a58e47007e166ab5182036d453602816ad8a3dc": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6000495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x632f1699d9211ff9934b04cf5f754b1a37cc2d84": { + "nonce": "0x01", + "balance": "0x3635c9adc5de98b57d", + "code": "0x", + "storage": {} + }, + "0x82cc7f4dc2d0eefc9e1dfb0947c3c0584adb6488": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x7cd2e1e4e36944597dd0d3064843d371728b08e4a6e5adc308e19a43fb1c8932", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_4-state_test-blobhash_index_115792089237316195423570985008687907853269984665640564039457584007913129639935]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x260d7a8954c3065cb056de5b1172b36fbacda7a9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": {} + }, + "0xf9c3d2e4e62041db8837832c492262e413f09009": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x260d7a8954c3065cb056de5b1172b36fbacda7a9", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "authorizationList": [ + { + "chainId": "0x00", + "address": "0x0000000000000000000000000000000000000000", + "nonce": "0x00", + "v": "0x01", + "r": "0x0905b74b52c71b504484313a588837e6925d7fee7118bd49b61caab1d926fef7", + "s": "0x266e26bfff53bd490ef0b156b04941bac84875744b17bfd29eedafe21980ed2f", + "signer": "0x7e153b08c070c5666b5037c0f10a894331ba7aac", + "yParity": "0x01" + } + ], + "sender": "0xf9c3d2e4e62041db8837832c492262e413f09009", + "secretKey": "0x6651871034fa3cf9010de9d3260d7a8954c3065cb056de5b1172b36fbacda7a9" + }, + "post": { + "Prague": [ + { + "hash": "0x1e95e91b9fb95e212ccb0eee929ebf6b9f9af79bbf39de6fe3bd869ba59dfaff", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x04f8e1018080078307a12094260d7a8954c3065cb056de5b1172b36fbacda7a980a00000000000000000000000000000000000000000000000000000000000000000c0f85cf85a809400000000000000000000000000000000000000008001a00905b74b52c71b504484313a588837e6925d7fee7118bd49b61caab1d926fef7a0266e26bfff53bd490ef0b156b04941bac84875744b17bfd29eedafe21980ed2f80a07f70888d7d9a0ee4549447af048a91705c43b9c8d0b2a26fcc6db8b45ae9447fa041b1e2809d85000136f86493dd36a8b6193e96ec72ba5f968c52c56a5f29b919", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x260d7a8954c3065cb056de5b1172b36fbacda7a9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xf9c3d2e4e62041db8837832c492262e413f09009": { + "nonce": "0x01", + "balance": "0x3635c9adc5de98b57d", + "code": "0x", + "storage": {} + }, + "0x7e153b08c070c5666b5037c0f10a894331ba7aac": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xe486f9098530c48f57efa4ae70ec4ecb36d01246df2ecdea81609de463cad9b8", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_4-state_test-blobhash_index_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x129e21eb3d0fab8d784e52402630a22913af5ae2": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": {} + }, + "0xa30fcc469173fe609db54e84c605d5cd3c0f5051": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x129e21eb3d0fab8d784e52402630a22913af5ae2", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "authorizationList": [ + { + "chainId": "0x00", + "address": "0x0000000000000000000000000000000000000000", + "nonce": "0x00", + "v": "0x01", + "r": "0x980db8ba378fef58ad9ec1c67c964b4593e1d26b80f6bf36e85f62ecd318b4ea", + "s": "0x3b7fa265a6f9c278a7f6666e8188f1d5b4c2cee6a19a4139629d4cb58f6b1021", + "signer": "0x1e3c059cd49608444b68e05e61123028535270f4", + "yParity": "0x01" + } + ], + "sender": "0xa30fcc469173fe609db54e84c605d5cd3c0f5051", + "secretKey": "0x468e10ac81bc4a0564b150ce129e21eb3d0fab8d784e52402630a22913af5ae2" + }, + "post": { + "Prague": [ + { + "hash": "0x5fb6befa2b3b98333f3fc8aa528ea9ac4854f983f26b482c0f6c9a8c9dd3a187", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x04f8e1018080078307a12094129e21eb3d0fab8d784e52402630a22913af5ae280a00000000000000000000000000000000000000000000000000000000000000000c0f85cf85a809400000000000000000000000000000000000000008001a0980db8ba378fef58ad9ec1c67c964b4593e1d26b80f6bf36e85f62ecd318b4eaa03b7fa265a6f9c278a7f6666e8188f1d5b4c2cee6a19a4139629d4cb58f6b102180a026a7bcb862a4c2027c986b36618bfa60e2a9a7649f97a937ce51a81f76b0b5c1a002c02993d6ec2d095dc701744c69ad8fed97ddb4b5b38496e8a289ad5890dcff", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x129e21eb3d0fab8d784e52402630a22913af5ae2": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6001495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xa30fcc469173fe609db54e84c605d5cd3c0f5051": { + "nonce": "0x01", + "balance": "0x3635c9adc5de98b57d", + "code": "0x", + "storage": {} + }, + "0x1e3c059cd49608444b68e05e61123028535270f4": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x67c1460ff56c5036bf0c567f1a60c2f6f36543a2894d3d29e855bb99de73450c", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_4-state_test-blobhash_index_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x48be3b23ac0784db7ea370fb6ec9043fa8c189c9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": {} + }, + "0x65493ac03c6a7c1a5effd8ba1729fb81bfc2f3d2": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x48be3b23ac0784db7ea370fb6ec9043fa8c189c9", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "authorizationList": [ + { + "chainId": "0x00", + "address": "0x0000000000000000000000000000000000000000", + "nonce": "0x00", + "v": "0x00", + "r": "0xca883ca5042d437aac6ff66e60f485219c764a1176e10397eb6de32976b1b6fc", + "s": "0x185248d67464b70ed5f5daddb4a68bf385c224fc16d1cbb51e1ea2574cb69ba2", + "signer": "0xfc979697ab47c33e39c12ffd0ad138843f00f1cc", + "yParity": "0x00" + } + ], + "sender": "0x65493ac03c6a7c1a5effd8ba1729fb81bfc2f3d2", + "secretKey": "0x8760152baedd9bd2f6a5734948be3b23ac0784db7ea370fb6ec9043fa8c189c9" + }, + "post": { + "Prague": [ + { + "hash": "0x6f43b47659586a9072e6c4f7684944e199582c06a71966eb67eb3046ba199fea", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x04f8e1018080078307a1209448be3b23ac0784db7ea370fb6ec9043fa8c189c980a00000000000000000000000000000000000000000000000000000000000000000c0f85cf85a809400000000000000000000000000000000000000008080a0ca883ca5042d437aac6ff66e60f485219c764a1176e10397eb6de32976b1b6fca0185248d67464b70ed5f5daddb4a68bf385c224fc16d1cbb51e1ea2574cb69ba280a05a83a28a5dacd8a922fc38dd1786b30290d0894820e54e574966e94f104db7b6a063a3b1d0bfa92dbaea9a0fd6d08eefd631eca6c8b6890d26ee2411e74cdee80c", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x48be3b23ac0784db7ea370fb6ec9043fa8c189c9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6002495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x65493ac03c6a7c1a5effd8ba1729fb81bfc2f3d2": { + "nonce": "0x01", + "balance": "0x3635c9adc5de98b57d", + "code": "0x", + "storage": {} + }, + "0xfc979697ab47c33e39c12ffd0ad138843f00f1cc": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x5b31e478e27f73aefd68afb89eb11bda2e8c3eee85324465f2c210343934a48a", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_4-state_test-blobhash_index_3]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xd3e12e439818e2cb45260739dc1956c602545888": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": {} + }, + "0xce28fcbb07dff07a04c833a637b8f78bf599ffb7": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xd3e12e439818e2cb45260739dc1956c602545888", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "authorizationList": [ + { + "chainId": "0x00", + "address": "0x0000000000000000000000000000000000000000", + "nonce": "0x00", + "v": "0x00", + "r": "0x724939191420614f38fb46436770310e4b090c0d7bb29a7416a5b28591c15cf2", + "s": "0x75d32a026701638d7d6285f3feb28094cfdf07e7c67c11932e3b3fa32a2feae0", + "signer": "0x6dbf97738641f60329ee777b1b907536ce065134", + "yParity": "0x00" + } + ], + "sender": "0xce28fcbb07dff07a04c833a637b8f78bf599ffb7", + "secretKey": "0xb214c3c159d6cae3b0fda54ed3e12e439818e2cb45260739dc1956c602545888" + }, + "post": { + "Prague": [ + { + "hash": "0x7c89296f47bd55cf2e62b449ec3f3b887fdc6a15da313eaef892234ecb7edf2c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x04f8e1018080078307a12094d3e12e439818e2cb45260739dc1956c60254588880a00000000000000000000000000000000000000000000000000000000000000000c0f85cf85a809400000000000000000000000000000000000000008080a0724939191420614f38fb46436770310e4b090c0d7bb29a7416a5b28591c15cf2a075d32a026701638d7d6285f3feb28094cfdf07e7c67c11932e3b3fa32a2feae080a057ce017465ea85808269c026b9e2cdd3c4d2e8475e9995d44454a2744975c6bda0725e1393182f9293d915ee79c7751a272427830b5b5704dd16a4c22034a28698", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd3e12e439818e2cb45260739dc1956c602545888": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6003495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0xce28fcbb07dff07a04c833a637b8f78bf599ffb7": { + "nonce": "0x01", + "balance": "0x3635c9adc5de98b57d", + "code": "0x", + "storage": {} + }, + "0x6dbf97738641f60329ee777b1b907536ce065134": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xc8fa132f8b6c6d0556ab363b4f01675c6fc7db12313ead1e7bbceeecd97a6f50", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_4-state_test-blobhash_index_4]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x09d1b6068895f48968d37eb688848d0657d76083": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": {} + }, + "0x40680a78fff1d2cc4370fc555b662f452cc1ee27": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x09d1b6068895f48968d37eb688848d0657d76083", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "authorizationList": [ + { + "chainId": "0x00", + "address": "0x0000000000000000000000000000000000000000", + "nonce": "0x00", + "v": "0x01", + "r": "0x2d66a871054f47dea4999f480c6646dd5098c6b7401caef016f66929080529e3", + "s": "0x6d55a51205b4878f10c69ddd880f6ec37f90c04f7a4de4f3026a2df0cd11d62e", + "signer": "0x9943ac83abd7105f681500b3627662c3c4d893ed", + "yParity": "0x01" + } + ], + "sender": "0x40680a78fff1d2cc4370fc555b662f452cc1ee27", + "secretKey": "0x4e3cf81c3ea21a1c7054ccfa09d1b6068895f48968d37eb688848d0657d76083" + }, + "post": { + "Prague": [ + { + "hash": "0x3cb34209770aea004103a80d4cdaad976d83d8d623899a5b6bc2a692f08b8dbe", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x04f8e1018080078307a1209409d1b6068895f48968d37eb688848d0657d7608380a00000000000000000000000000000000000000000000000000000000000000000c0f85cf85a809400000000000000000000000000000000000000008001a02d66a871054f47dea4999f480c6646dd5098c6b7401caef016f66929080529e3a06d55a51205b4878f10c69ddd880f6ec37f90c04f7a4de4f3026a2df0cd11d62e80a0518635321e47384d16f24bdae41c022a99c656f5ed5219b1884b186a33646f34a035f41c9846b9ba6aaeb09478bd2db70c0d9b0d84da1462a28340ee0cd2c9b319", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x09d1b6068895f48968d37eb688848d0657d76083": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a6004495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x40680a78fff1d2cc4370fc555b662f452cc1ee27": { + "nonce": "0x01", + "balance": "0x3635c9adc5de98b57d", + "code": "0x", + "storage": {} + }, + "0x9943ac83abd7105f681500b3627662c3c4d893ed": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xed5986a2a2402ab52a4392d471529434de43434cf324dc5d450275d73e9678fa", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode.py::test_blobhash_gas_cost[fork_Prague-tx_type_4-state_test-blobhash_index_72901072107898194510616918724280211781393090952923809435170590639787343028527]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x1bb8199cc6a1ff89ff763aa57af3036ee061a29f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": {} + }, + "0x02a0b9faa267fa1e0a84a6bde41e4362c53f8f6e": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x1bb8199cc6a1ff89ff763aa57af3036ee061a29f", + "value": [ + "0x00" + ], + "data": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "accessLists": [ + [] + ], + "authorizationList": [ + { + "chainId": "0x00", + "address": "0x0000000000000000000000000000000000000000", + "nonce": "0x00", + "v": "0x00", + "r": "0xe1f2bcb1a958669964e6e1fa887fa48da38819fc1e1e315465d1907ee809b981", + "s": "0x5fa67946f34eac6cd23326c7216f71da1e390a7623c07e32dc0403742d2a6f88", + "signer": "0xaf8a3791084949da8f7157487d6d49b5be74b1ff", + "yParity": "0x00" + } + ], + "sender": "0x02a0b9faa267fa1e0a84a6bde41e4362c53f8f6e", + "secretKey": "0x7a3a57c8db087607c9420b9d1bb8199cc6a1ff89ff763aa57af3036ee061a29f" + }, + "post": { + "Prague": [ + { + "hash": "0x4323a6e9e58b7083373b5676091a928e9efa58a4ef798661ee1be6823fdb58bb", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x04f8e1018080078307a120941bb8199cc6a1ff89ff763aa57af3036ee061a29f80a00000000000000000000000000000000000000000000000000000000000000000c0f85cf85a809400000000000000000000000000000000000000008080a0e1f2bcb1a958669964e6e1fa887fa48da38819fc1e1e315465d1907ee809b981a05fa67946f34eac6cd23326c7216f71da1e390a7623c07e32dc0403742d2a6f8880a09f8dc912dc6221f67a30c7bed412dfc54b658f90fee26a43fb013c4cdc8c3e51a07c3ebc0fe9221408e5f886aa235f831871b58d34ac74a1ea4b7b93934236124b", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x1bb8199cc6a1ff89ff763aa57af3036ee061a29f": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x5a7fa12c8b6a8b11410c7d98d790e1098f1ed6d93cb7a64711481aaab1848e13212f495a905090036005900360005500", + "storage": { + "0x00": "0x03" + } + }, + "0x02a0b9faa267fa1e0a84a6bde41e4362c53f8f6e": { + "nonce": "0x01", + "balance": "0x3635c9adc5de98b57d", + "code": "0x", + "storage": {} + }, + "0xaf8a3791084949da8f7157487d6d49b5be74b1ff": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x5a678a8df16bf87b3e2fef7712e8ec74e540b3321cf28f07df8a6de22c1cc1b2", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests `BLOBHASH` opcode gas cost using a variety of indexes.\n\n Asserts that the gas consumption of the `BLOBHASH` opcode is correct by\n ensuring it matches `HASH_OPCODE_GAS = 3`. Includes both valid and invalid\n random index sizes from the range `[0, 2**256-1]`, for tx types 2 and 3.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode.py#L175", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.json new file mode 100644 index 000000000..3a5c8bff2 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.json @@ -0,0 +1,2001 @@ +{ + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Cancun-state_test-on_CALLCODE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xb7dd658574bb91496ec4b79c21a4cd5b55343882": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xb7dd658574bb91496ec4b79c21a4cd5b55343982": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160005560016000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160015560026000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160025560036000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160035560046000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160045560056000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160055560066000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160065500", + "storage": {} + }, + "0xfbba745440b008424570ae3267e641eaa54969f6": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xb7dd658574bb91496ec4b79c21a4cd5b55343982", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020" + ], + "sender": "0xfbba745440b008424570ae3267e641eaa54969f6", + "secretKey": "0x702e39b02d759a6163647684b7dd658574bb91496ec4b79c21a4cd5b55343882" + }, + "post": { + "Cancun": [ + { + "hash": "0xac178b05b11c2a442a356cc534fa733e464bcfb46effa4640880ae9afa689b90", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9012c018080078307a12094b7dd658574bb91496ec4b79c21a4cd5b553439828080c00af8c6a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a0010000000000000000000000000000000000000000000000000000000000002001a080c15f4bb22dee66d42142e28176ed189856e4982293d42d0ed2bc3871e50075a06938bfc74935f26f5da8baf410299bbb534a292b5e38cd58acdd3918f65077b1", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xb7dd658574bb91496ec4b79c21a4cd5b55343882": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xb7dd658574bb91496ec4b79c21a4cd5b55343982": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160005560016000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160015560026000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160025560036000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160035560046000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160045560056000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160055560066000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160065500", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020" + } + }, + "0xfbba745440b008424570ae3267e641eaa54969f6": { + "nonce": "0x01", + "balance": "0x3635c9adc5de82f7ee", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x78c459705c591208c20fc686c7c0f5b87cc1570f1a146fd02bac2bcb0cd78551", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Cancun-state_test-on_CALL]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05b07": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05c07": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160005560016000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160015560026000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160025560036000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160035560046000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160045560056000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160055560066000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160065500", + "storage": {} + }, + "0xafd9088124e4b8bd5b1ff7d4f319fe9900081b68": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05c07", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020" + ], + "sender": "0xafd9088124e4b8bd5b1ff7d4f319fe9900081b68", + "secretKey": "0x1d4d0c8c3315ca740ef59701f1bdfe0a477db0a21565ac65a9e2794ff3a05b07" + }, + "post": { + "Cancun": [ + { + "hash": "0x5a69fe86a6a2b4c1c973401e1c95a7c778226695a2a164c3ba9d6e8a0e11b992", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9012c018080078307a12094f1bdfe0a477db0a21565ac65a9e2794ff3a05c078080c00af8c6a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a0010000000000000000000000000000000000000000000000000000000000002001a0ba49ef9ed71b461201add75d82a4739399380d0051a0ed1fb033a8d3245811c3a0244ca420c4042e0706db04dfd9b882d623e0b8a3297b13bcc4649d53f2f5c9e9", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05b07": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05c07": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160005560016000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160015560026000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160025560036000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160035560046000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160045560056000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160055560066000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160065500", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020" + } + }, + "0xafd9088124e4b8bd5b1ff7d4f319fe9900081b68": { + "nonce": "0x01", + "balance": "0x3635c9adc5de82f7ee", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x64144262091ab0b6d1b891d15d96d0a3cdaf5f95bde0b199a708f7a248cd7359", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Cancun-state_test-on_CREATE2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0x84adeee0d180e870bf19bca87c465bc8392697fb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065500", + "storage": {} + }, + "0x84adeee0d180e870bf19bca87c465bc8392698fb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x602b600060007384adeee0d180e870bf19bca87c465bc8392697fb3c6000602b60006000f550", + "storage": {} + }, + "0xcb7803ae168702e9d46755fb08c4e09c038615b6": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x84adeee0d180e870bf19bca87c465bc8392698fb", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020" + ], + "sender": "0xcb7803ae168702e9d46755fb08c4e09c038615b6", + "secretKey": "0xb16ddf7fb6be14df9e990a4884adeee0d180e870bf19bca87c465bc8392697fb" + }, + "post": { + "Cancun": [ + { + "hash": "0xcee3fc963eec075bec5b9e85809c3fb9ba9df1fa90da08c6665a501c643cefa5", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9012c018080078307a1209484adeee0d180e870bf19bca87c465bc8392698fb8080c00af8c6a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a0010000000000000000000000000000000000000000000000000000000000002001a0376dd30e637e3f6c101c55e3b732af4cc6e4cf5cf397dc798a77a6aed6122a96a014e3a2cf7f456b208f3243f4cddb4b5536834b604d29a5a4cfd8756e08345089", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x84adeee0d180e870bf19bca87c465bc8392697fb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065500", + "storage": {} + }, + "0x84adeee0d180e870bf19bca87c465bc8392698fb": { + "nonce": "0x02", + "balance": "0x00", + "code": "0x602b600060007384adeee0d180e870bf19bca87c465bc8392697fb3c6000602b60006000f550", + "storage": {} + }, + "0xcb7803ae168702e9d46755fb08c4e09c038615b6": { + "nonce": "0x01", + "balance": "0x3635c9adc5de7fa68d", + "code": "0x", + "storage": {} + }, + "0x8d5e1dda51db8d08c0bb1796a406d2657339bdf9": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xa4e001496986721e59b47b9a85d2b90305cdad754364bee5bec0390c41e349fc", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Cancun-state_test-on_CREATE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xd0ff56286573ac0e04be4744bb10931020554b0a": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065500", + "storage": {} + }, + "0xd0ff56286573ac0e04be4744bb10931020554c0a": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x602b6000600073d0ff56286573ac0e04be4744bb10931020554b0a3c602b60006000f050", + "storage": {} + }, + "0xb563917d6a0e1f1e8c6e31a61b97ae1051068a87": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xd0ff56286573ac0e04be4744bb10931020554c0a", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020" + ], + "sender": "0xb563917d6a0e1f1e8c6e31a61b97ae1051068a87", + "secretKey": "0xfbfdf36688f1130a20627e1dd0ff56286573ac0e04be4744bb10931020554b0a" + }, + "post": { + "Cancun": [ + { + "hash": "0xdc03d1b8779a75e215bc3c6fc4de6e814543799cdadf23d4bdcbd4e0a4c15742", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9012c018080078307a12094d0ff56286573ac0e04be4744bb10931020554c0a8080c00af8c6a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a0010000000000000000000000000000000000000000000000000000000000002080a0d20a0458e2bea9a224862b6954b4afcc70d2f42fccec97ef905217af58285acca0759bf559ccf94aaff2eee87d03b236438c48eaa032f51492f49beebe81725847", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd0ff56286573ac0e04be4744bb10931020554b0a": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065500", + "storage": {} + }, + "0xd0ff56286573ac0e04be4744bb10931020554c0a": { + "nonce": "0x02", + "balance": "0x00", + "code": "0x602b6000600073d0ff56286573ac0e04be4744bb10931020554b0a3c602b60006000f050", + "storage": {} + }, + "0xb563917d6a0e1f1e8c6e31a61b97ae1051068a87": { + "nonce": "0x01", + "balance": "0x3635c9adc5de7fa6f6", + "code": "0x", + "storage": {} + }, + "0xc076b01f9eb5743de866dedc632b10429325fb4b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x1822a1cb7d29fa102392e859648bc4a7729066b835d716e09d82f5554ac7fe41", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Cancun-state_test-on_DELEGATECALL]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0x5532f20758bc8b0059080fab171ead5bdd815e04": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065500", + "storage": {} + }, + "0x5532f20758bc8b0059080fab171ead5bdd815f04": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000366000735532f20758bc8b0059080fab171ead5bdd815e045af450", + "storage": {} + }, + "0x9e3e39196dbcbf4c840b6a2983e427f38b084487": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x5532f20758bc8b0059080fab171ead5bdd815f04", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020" + ], + "sender": "0x9e3e39196dbcbf4c840b6a2983e427f38b084487", + "secretKey": "0x164cd302ad080bf0cfb279ad5532f20758bc8b0059080fab171ead5bdd815e04" + }, + "post": { + "Cancun": [ + { + "hash": "0x7b389a149e016b25efc0b51b4951c6fb71fb087467d0e0e84605790a68e9a7bb", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9012c018080078307a120945532f20758bc8b0059080fab171ead5bdd815f048080c00af8c6a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a0010000000000000000000000000000000000000000000000000000000000002001a0bbe81a4059da91a8dee20d5d61bf050b861d62584571ae7d966f0160d84f79d9a040781440494ce0d3a9d9a6a2a3d6723bc3beffc113e716bbc78832c4f73c74f3", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x5532f20758bc8b0059080fab171ead5bdd815e04": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065500", + "storage": {} + }, + "0x5532f20758bc8b0059080fab171ead5bdd815f04": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000366000735532f20758bc8b0059080fab171ead5bdd815e045af450", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020" + } + }, + "0x9e3e39196dbcbf4c840b6a2983e427f38b084487": { + "nonce": "0x01", + "balance": "0x3635c9adc5de831289", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x8a10c7f6b6400739c836e91d12c281327d45e5c48a3ae2b479a6cdb033fdbb73", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Cancun-state_test-on_STATICCALL]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xc8ed759512f2948d3453a9ac6f9dbee227afdf55": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xc8ed759512f2948d3453a9ac6f9dbee227afe055": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516000556001600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516001556002600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516002556003600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516003556004600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516004556005600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516005556006600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa5060205160065500", + "storage": {} + }, + "0x41187c8f2068c2362e4d26b2e5208cea1aca2fae": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xc8ed759512f2948d3453a9ac6f9dbee227afe055", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020" + ], + "sender": "0x41187c8f2068c2362e4d26b2e5208cea1aca2fae", + "secretKey": "0xe5ffec7a466b31c3a81bad4ec8ed759512f2948d3453a9ac6f9dbee227afdf55" + }, + "post": { + "Cancun": [ + { + "hash": "0xc7ae9cddb2b72c044ee69bfacd4500c6f9b8ce0a76e9fac00d3feee6b1c5fbe2", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9012c018080078307a12094c8ed759512f2948d3453a9ac6f9dbee227afe0558080c00af8c6a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a0010000000000000000000000000000000000000000000000000000000000002001a0c06bda07415aa845f75ce78e24c0e072a14cb796b04cf98a1dc4476601a9f323a00fd7845a632eb07ded86879a3de1926b3a0b4f07ce595c99dd5d8bed98705f5c", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xc8ed759512f2948d3453a9ac6f9dbee227afdf55": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xc8ed759512f2948d3453a9ac6f9dbee227afe055": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516000556001600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516001556002600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516002556003600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516003556004600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516004556005600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516005556006600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa5060205160065500", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020" + } + }, + "0x41187c8f2068c2362e4d26b2e5208cea1aca2fae": { + "nonce": "0x01", + "balance": "0x3635c9adc5de82f881", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x167581f8ef6d9303e39919b4aeea98fff20d8cef8f853e1843dd618bf226a9af", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Cancun-state_test-on_max_value]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0x01c9fa552e42a8b58b219cc8c149c9512b08738b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5500", + "storage": {} + }, + "0x0b98e2defd27d523fa65c3f659f876e39188d5aa": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x01c9fa552e42a8b58b219cc8c149c9512b08738b", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020" + ], + "sender": "0x0b98e2defd27d523fa65c3f659f876e39188d5aa", + "secretKey": "0x16feb0494999ab00cfaff01601c9fa552e42a8b58b219cc8c149c9512b08738b" + }, + "post": { + "Cancun": [ + { + "hash": "0x412b0514e81a865ebc4e2f52ec192d315122f360ba614b7f6a8effebc5e8456a", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9012c018080078307a1209401c9fa552e42a8b58b219cc8c149c9512b08738b8080c00af8c6a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a0010000000000000000000000000000000000000000000000000000000000002080a0d4d427b1313ecfad5bebe9ffd474417815fcbe7c7401a484fc3467eda386ea19a03da0fe3825156b2f16ee328c1f6b8c7ba0ad7b051aeff472c068367d94880879", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x01c9fa552e42a8b58b219cc8c149c9512b08738b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5500", + "storage": {} + }, + "0x0b98e2defd27d523fa65c3f659f876e39188d5aa": { + "nonce": "0x01", + "balance": "0x3635c9adc5de918561", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x88a187846d06c9d0cce8ddf094eb303a96ad31cd1abd34092939fafa03de5838", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Cancun-state_test-on_top_level_call_stack]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0x9c56365723811e448139d092515100e3dbc913b2": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065500", + "storage": {} + }, + "0x8817aec195590d6ba3a82ddb7af6256ff7628431": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x9c56365723811e448139d092515100e3dbc913b2", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020" + ], + "sender": "0x8817aec195590d6ba3a82ddb7af6256ff7628431", + "secretKey": "0xfee59804c914ebf5870545019c56365723811e448139d092515100e3dbc913b2" + }, + "post": { + "Cancun": [ + { + "hash": "0xb792525ffc0e2904b9ea57bcb02fa7193a2b07a85a27795a20678419258dc1e3", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9012c018080078307a120949c56365723811e448139d092515100e3dbc913b28080c00af8c6a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a0010000000000000000000000000000000000000000000000000000000000002080a0d11d2113c208e8960d776f90fadfe36f217fbf3da4fb0b6b240ce652d72b2c2ba00939acc1975a3a3332ce4477b88fd06716d645f93308dad4f63d6ae4aa6821b3", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x9c56365723811e448139d092515100e3dbc913b2": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065500", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020" + } + }, + "0x8817aec195590d6ba3a82ddb7af6256ff7628431": { + "nonce": "0x01", + "balance": "0x3635c9adc5de835a1f", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x57b017f72d0e023f04f8ac5d4fcff537f0fbd7c97389573d0d5d96c2d93749a9", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Prague-state_test-on_CALLCODE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xb7dd658574bb91496ec4b79c21a4cd5b55343882": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xb7dd658574bb91496ec4b79c21a4cd5b55343982": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160005560016000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160015560026000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160025560036000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160035560046000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160045560056000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160055560066000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160065560076000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160075560086000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160085560096000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160095500", + "storage": {} + }, + "0xfbba745440b008424570ae3267e641eaa54969f6": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xb7dd658574bb91496ec4b79c21a4cd5b55343982", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x0100000000000000000000000000000000000000000000000000000000000100" + ], + "sender": "0xfbba745440b008424570ae3267e641eaa54969f6", + "secretKey": "0x702e39b02d759a6163647684b7dd658574bb91496ec4b79c21a4cd5b55343882" + }, + "post": { + "Prague": [ + { + "hash": "0xbeedce61b49031179323003e165d40f6aeff1a01c0408489e53301abbe5beb1c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f90190018080078307a12094b7dd658574bb91496ec4b79c21a4cd5b553439828080c00af90129a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a00100000000000000000000000000000000000000000000000000000000000020a00100000000000000000000000000000000000000000000000000000000000040a00100000000000000000000000000000000000000000000000000000000000080a0010000000000000000000000000000000000000000000000000000000000010001a0fbbd1ee6dc41984a741fb001954fd2f945fdbf8c587fb9e5a2d1f5d6b8a572bea04155a971531b3e79ad0476da666714393937afb7068e31782ba60823f022d4e6", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xb7dd658574bb91496ec4b79c21a4cd5b55343882": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xb7dd658574bb91496ec4b79c21a4cd5b55343982": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160005560016000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160015560026000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160025560036000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160035560046000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160045560056000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160055560066000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160065560076000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160075560086000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160085560096000526020602060206000600073b7dd658574bb91496ec4b79c21a4cd5b553438825af25060205160095500", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x06": "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x07": "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x08": "0x0100000000000000000000000000000000000000000000000000000000000100" + } + }, + "0xfbba745440b008424570ae3267e641eaa54969f6": { + "nonce": "0x01", + "balance": "0x3635c9adc5de75d596", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xe28fb120dd059bac9ff796e8adcbacbdbcb34adc485a2fbc12b1d2adf417fa69", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Prague-state_test-on_CALL]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05b07": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05c07": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160005560016000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160015560026000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160025560036000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160035560046000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160045560056000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160055560066000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160065560076000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160075560086000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160085560096000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160095500", + "storage": {} + }, + "0xafd9088124e4b8bd5b1ff7d4f319fe9900081b68": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05c07", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x0100000000000000000000000000000000000000000000000000000000000100" + ], + "sender": "0xafd9088124e4b8bd5b1ff7d4f319fe9900081b68", + "secretKey": "0x1d4d0c8c3315ca740ef59701f1bdfe0a477db0a21565ac65a9e2794ff3a05b07" + }, + "post": { + "Prague": [ + { + "hash": "0x5bc635fe172b2ab3c6c86aab12c7364987ea0e0c3e3c8dd309f446f8188ed3a4", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f90190018080078307a12094f1bdfe0a477db0a21565ac65a9e2794ff3a05c078080c00af90129a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a00100000000000000000000000000000000000000000000000000000000000020a00100000000000000000000000000000000000000000000000000000000000040a00100000000000000000000000000000000000000000000000000000000000080a0010000000000000000000000000000000000000000000000000000000000010001a0f61f7064a139b35f507c885c05f064cac30b780385d09ffe4e60845200e294cea025f0dcfe56466daacad34d5e13054e0f9f268aae9351ba73d5f37ee2579c336a", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05b07": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xf1bdfe0a477db0a21565ac65a9e2794ff3a05c07": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160005560016000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160015560026000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160025560036000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160035560046000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160045560056000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160055560066000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160065560076000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160075560086000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160085560096000526020602060206000600073f1bdfe0a477db0a21565ac65a9e2794ff3a05b075af15060205160095500", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x06": "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x07": "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x08": "0x0100000000000000000000000000000000000000000000000000000000000100" + } + }, + "0xafd9088124e4b8bd5b1ff7d4f319fe9900081b68": { + "nonce": "0x01", + "balance": "0x3635c9adc5de75d596", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x6269f89dd7a095859197200d7c8dace90099a5985692e6610a7af9f62bbc3bf5", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Prague-state_test-on_CREATE2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0x84adeee0d180e870bf19bca87c465bc8392697fb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065560074960075560084960085560094960095500", + "storage": {} + }, + "0x84adeee0d180e870bf19bca87c465bc8392698fb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x603d600060007384adeee0d180e870bf19bca87c465bc8392697fb3c6000603d60006000f550", + "storage": {} + }, + "0xcb7803ae168702e9d46755fb08c4e09c038615b6": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x84adeee0d180e870bf19bca87c465bc8392698fb", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x0100000000000000000000000000000000000000000000000000000000000100" + ], + "sender": "0xcb7803ae168702e9d46755fb08c4e09c038615b6", + "secretKey": "0xb16ddf7fb6be14df9e990a4884adeee0d180e870bf19bca87c465bc8392697fb" + }, + "post": { + "Prague": [ + { + "hash": "0x10381eba5ef598728c936cdab5921073ea8119bc16649c8e5aa8b22713646942", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f90190018080078307a1209484adeee0d180e870bf19bca87c465bc8392698fb8080c00af90129a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a00100000000000000000000000000000000000000000000000000000000000020a00100000000000000000000000000000000000000000000000000000000000040a00100000000000000000000000000000000000000000000000000000000000080a0010000000000000000000000000000000000000000000000000000000000010001a054ba143c6b5d45d9e41440a7b2c0b6f794330ca0a6932223ee14b2b29d292b9da02522950e31226cc3cd8b606b08cdc3c0c422aa02ccb8add8e070272e3041d62d", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x84adeee0d180e870bf19bca87c465bc8392697fb": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065560074960075560084960085560094960095500", + "storage": {} + }, + "0x84adeee0d180e870bf19bca87c465bc8392698fb": { + "nonce": "0x02", + "balance": "0x00", + "code": "0x603d600060007384adeee0d180e870bf19bca87c465bc8392697fb3c6000603d60006000f550", + "storage": {} + }, + "0xcb7803ae168702e9d46755fb08c4e09c038615b6": { + "nonce": "0x01", + "balance": "0x3635c9adc5de7290ec", + "code": "0x", + "storage": {} + }, + "0x739bccdf679e032294b4e29b2518230638a384af": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x06": "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x07": "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x08": "0x0100000000000000000000000000000000000000000000000000000000000100" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xf4f8e5f47f7a18c28b3f30f3481a9c2353462b78e2f4cc48b5e32872ac8a1396", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Prague-state_test-on_CREATE]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xd0ff56286573ac0e04be4744bb10931020554b0a": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065560074960075560084960085560094960095500", + "storage": {} + }, + "0xd0ff56286573ac0e04be4744bb10931020554c0a": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x603d6000600073d0ff56286573ac0e04be4744bb10931020554b0a3c603d60006000f050", + "storage": {} + }, + "0xb563917d6a0e1f1e8c6e31a61b97ae1051068a87": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xd0ff56286573ac0e04be4744bb10931020554c0a", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x0100000000000000000000000000000000000000000000000000000000000100" + ], + "sender": "0xb563917d6a0e1f1e8c6e31a61b97ae1051068a87", + "secretKey": "0xfbfdf36688f1130a20627e1dd0ff56286573ac0e04be4744bb10931020554b0a" + }, + "post": { + "Prague": [ + { + "hash": "0x1e8ae62a7f271b72dedd70214563dbd2a95e0613300ea31a6303b0a179635497", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f90190018080078307a12094d0ff56286573ac0e04be4744bb10931020554c0a8080c00af90129a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a00100000000000000000000000000000000000000000000000000000000000020a00100000000000000000000000000000000000000000000000000000000000040a00100000000000000000000000000000000000000000000000000000000000080a0010000000000000000000000000000000000000000000000000000000000010001a07ea2200fd237dbf687cc3405e7d9dac9311b17dc1e5d96a7585d158089d89110a00770bcd2299c377dffa7943b734ee03a6f754c7e3f316683776a01bea6caca15", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd0ff56286573ac0e04be4744bb10931020554b0a": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065560074960075560084960085560094960095500", + "storage": {} + }, + "0xd0ff56286573ac0e04be4744bb10931020554c0a": { + "nonce": "0x02", + "balance": "0x00", + "code": "0x603d6000600073d0ff56286573ac0e04be4744bb10931020554b0a3c603d60006000f050", + "storage": {} + }, + "0xb563917d6a0e1f1e8c6e31a61b97ae1051068a87": { + "nonce": "0x01", + "balance": "0x3635c9adc5de729155", + "code": "0x", + "storage": {} + }, + "0xc076b01f9eb5743de866dedc632b10429325fb4b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x06": "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x07": "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x08": "0x0100000000000000000000000000000000000000000000000000000000000100" + } + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x83706ad2cee60d1548b2b228245223cc167a8f269fb05c385f851febdeebdcd2", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Prague-state_test-on_DELEGATECALL]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0x5532f20758bc8b0059080fab171ead5bdd815e04": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065560074960075560084960085560094960095500", + "storage": {} + }, + "0x5532f20758bc8b0059080fab171ead5bdd815f04": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000366000735532f20758bc8b0059080fab171ead5bdd815e045af450", + "storage": {} + }, + "0x9e3e39196dbcbf4c840b6a2983e427f38b084487": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x5532f20758bc8b0059080fab171ead5bdd815f04", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x0100000000000000000000000000000000000000000000000000000000000100" + ], + "sender": "0x9e3e39196dbcbf4c840b6a2983e427f38b084487", + "secretKey": "0x164cd302ad080bf0cfb279ad5532f20758bc8b0059080fab171ead5bdd815e04" + }, + "post": { + "Prague": [ + { + "hash": "0xb36463238d1c062343922e5e4658116b753a88d18e628e810a7089582adafe43", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f90190018080078307a120945532f20758bc8b0059080fab171ead5bdd815f048080c00af90129a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a00100000000000000000000000000000000000000000000000000000000000020a00100000000000000000000000000000000000000000000000000000000000040a00100000000000000000000000000000000000000000000000000000000000080a0010000000000000000000000000000000000000000000000000000000000010080a0fc9bfc25c60879e87ecab84785a3df4ddd017c27460c6ec0b60d488c15f3b37fa00cb8f4f65ad767c6a12d307da035b6bef717dbaf7aea09cf618d923d547b06ef", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x5532f20758bc8b0059080fab171ead5bdd815e04": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065560074960075560084960085560094960095500", + "storage": {} + }, + "0x5532f20758bc8b0059080fab171ead5bdd815f04": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000366000735532f20758bc8b0059080fab171ead5bdd815e045af450", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x06": "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x07": "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x08": "0x0100000000000000000000000000000000000000000000000000000000000100" + } + }, + "0x9e3e39196dbcbf4c840b6a2983e427f38b084487": { + "nonce": "0x01", + "balance": "0x3635c9adc5de75fce8", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x23889f088c62d6e7874034eeaa6da44bbb54c5609356aa98b6cad2a7d4b46f72", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Prague-state_test-on_STATICCALL]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xc8ed759512f2948d3453a9ac6f9dbee227afdf55": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xc8ed759512f2948d3453a9ac6f9dbee227afe055": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516000556001600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516001556002600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516002556003600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516003556004600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516004556005600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516005556006600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516006556007600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516007556008600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516008556009600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa5060205160095500", + "storage": {} + }, + "0x41187c8f2068c2362e4d26b2e5208cea1aca2fae": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xc8ed759512f2948d3453a9ac6f9dbee227afe055", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x0100000000000000000000000000000000000000000000000000000000000100" + ], + "sender": "0x41187c8f2068c2362e4d26b2e5208cea1aca2fae", + "secretKey": "0xe5ffec7a466b31c3a81bad4ec8ed759512f2948d3453a9ac6f9dbee227afdf55" + }, + "post": { + "Prague": [ + { + "hash": "0xcb25a8650dabfa878148adff3d3503227ea9e13723f193a1e98b2fdb8464f32b", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f90190018080078307a12094c8ed759512f2948d3453a9ac6f9dbee227afe0558080c00af90129a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a00100000000000000000000000000000000000000000000000000000000000020a00100000000000000000000000000000000000000000000000000000000000040a00100000000000000000000000000000000000000000000000000000000000080a0010000000000000000000000000000000000000000000000000000000000010001a0e6d2688565146fe40e257dd982b1816481b7078019d79ed276fe3115a70b012ca062b0fbc2c30248ad70669b2ef34913b2acdbbaf6502c74ddf58683d476cd5f0d", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xc8ed759512f2948d3453a9ac6f9dbee227afdf55": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000354960005260206000f3", + "storage": {} + }, + "0xc8ed759512f2948d3453a9ac6f9dbee227afe055": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516000556001600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516001556002600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516002556003600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516003556004600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516004556005600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516005556006600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516006556007600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516007556008600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa506020516008556009600052602060206020600073c8ed759512f2948d3453a9ac6f9dbee227afdf555afa5060205160095500", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x06": "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x07": "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x08": "0x0100000000000000000000000000000000000000000000000000000000000100" + } + }, + "0x41187c8f2068c2362e4d26b2e5208cea1aca2fae": { + "nonce": "0x01", + "balance": "0x3635c9adc5de75d668", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x5ebfa957bd740f35b7005b90007a07467f589bf52db818384a30c7cfd3886ccb", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Prague-state_test-on_max_value]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0x01c9fa552e42a8b58b219cc8c149c9512b08738b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5500", + "storage": {} + }, + "0x0b98e2defd27d523fa65c3f659f876e39188d5aa": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x01c9fa552e42a8b58b219cc8c149c9512b08738b", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x0100000000000000000000000000000000000000000000000000000000000100" + ], + "sender": "0x0b98e2defd27d523fa65c3f659f876e39188d5aa", + "secretKey": "0x16feb0494999ab00cfaff01601c9fa552e42a8b58b219cc8c149c9512b08738b" + }, + "post": { + "Prague": [ + { + "hash": "0x715ae74fd03d0b7b4b5f1073c50be2d394dcf42420f55712d54b413b78d9a5a0", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f90190018080078307a1209401c9fa552e42a8b58b219cc8c149c9512b08738b8080c00af90129a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a00100000000000000000000000000000000000000000000000000000000000020a00100000000000000000000000000000000000000000000000000000000000040a00100000000000000000000000000000000000000000000000000000000000080a0010000000000000000000000000000000000000000000000000000000000010001a001e6bd10901ab68f621bc0c3106acc068d6ec027484a13a7861667f3873b9feaa02730221e406c3fd9a128533c4aec8bfbef12313e9d7c63d4d48b9692cfb8f39b", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x01c9fa552e42a8b58b219cc8c149c9512b08738b": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5500", + "storage": {} + }, + "0x0b98e2defd27d523fa65c3f659f876e39188d5aa": { + "nonce": "0x01", + "balance": "0x3635c9adc5de8b8561", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xfcacef4dee55f541e6f306b93feb909dd7349f8d188d1de61fc1381d24dd25bf", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts[fork_Prague-state_test-on_top_level_call_stack]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0x9c56365723811e448139d092515100e3dbc913b2": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065560074960075560084960085560094960095500", + "storage": {} + }, + "0x8817aec195590d6ba3a82ddb7af6256ff7628431": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x9c56365723811e448139d092515100e3dbc913b2", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x0a", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x0100000000000000000000000000000000000000000000000000000000000100" + ], + "sender": "0x8817aec195590d6ba3a82ddb7af6256ff7628431", + "secretKey": "0xfee59804c914ebf5870545019c56365723811e448139d092515100e3dbc913b2" + }, + "post": { + "Prague": [ + { + "hash": "0xb8aee088a3e63338e6967cdb2c2f9cc19cefa38133c3f9c4ebebdefc72fd382d", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f90190018080078307a120949c56365723811e448139d092515100e3dbc913b28080c00af90129a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000008a00100000000000000000000000000000000000000000000000000000000000010a00100000000000000000000000000000000000000000000000000000000000020a00100000000000000000000000000000000000000000000000000000000000040a00100000000000000000000000000000000000000000000000000000000000080a0010000000000000000000000000000000000000000000000000000000000010080a061a8077e540e582d7191b063c8fcf7542eb837f9ea801377637c2af5de74f6d6a05ecd6012c299675bba8de7560b0e9317a5d9996717ab32e64624a652c31be887", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x9c56365723811e448139d092515100e3dbc913b2": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005560014960015560024960025560034960035560044960045560054960055560064960065560074960075560084960085560094960095500", + "storage": { + "0x00": "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x01": "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x02": "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x03": "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x04": "0x0100000000000000000000000000000000000000000000000000000000000010", + "0x05": "0x0100000000000000000000000000000000000000000000000000000000000020", + "0x06": "0x0100000000000000000000000000000000000000000000000000000000000040", + "0x07": "0x0100000000000000000000000000000000000000000000000000000000000080", + "0x08": "0x0100000000000000000000000000000000000000000000000000000000000100" + } + }, + "0x8817aec195590d6ba3a82ddb7af6256ff7628431": { + "nonce": "0x01", + "balance": "0x3635c9adc5de76447e", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xa65266ecef16e5a0271c96cca3d996960bf8a4ba98cf9244488ddc33b8a32d4b", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L185", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py new file mode 100644 index 000000000..e8455cb8e --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py @@ -0,0 +1,329 @@ +""" +Tests `BLOBHASH` opcode in [EIP-4844: Shard Blob Transactions](https://eips.ethereum.org/EIPS/eip-4844). +""" + +from enum import Enum +from typing import Iterable, List + +import pytest + +from ethereum_test_forks import Fork +from ethereum_test_tools import ( + Account, + Address, + Alloc, + AuthorizationTuple, + Bytecode, + Hash, + StateTestFiller, + Transaction, + add_kzg_version, + compute_create_address, +) +from ethereum_test_tools import Opcodes as Op + +from .spec import Spec, ref_spec_4844 + +REFERENCE_SPEC_GIT_PATH = ref_spec_4844.git_path +REFERENCE_SPEC_VERSION = ref_spec_4844.version + +pytestmark = pytest.mark.valid_from("Cancun") + + +class BlobhashContext(Enum): + """ + A utility class for mapping common EVM opcodes in different contexts to + specific bytecode (with BLOBHASH), addresses and contracts. + """ + + BLOBHASH_SSTORE = "blobhash_sstore" + BLOBHASH_RETURN = "blobhash_return" + CALL = "call" + DELEGATECALL = "delegatecall" + CALLCODE = "callcode" + STATICCALL = "staticcall" + CREATE = "create" + CREATE2 = "create2" + INITCODE = "initcode" + + def code(self, *, indexes: Iterable[int]) -> Bytecode: + """ + Map opcode context to bytecode that utilizes the BLOBHASH opcode. + + Args: indexes: The indexes to request using the BLOBHASH opcode + """ + match self: + case BlobhashContext.BLOBHASH_SSTORE: + return ( + sum(Op.SSTORE(index, Op.BLOBHASH(index=index)) for index in indexes) + Op.STOP + ) + case BlobhashContext.BLOBHASH_RETURN: + return Op.MSTORE( + offset=0, value=Op.BLOBHASH(index=Op.CALLDATALOAD(offset=0)) + ) + Op.RETURN(offset=0, size=32) + case BlobhashContext.INITCODE: + return ( + sum(Op.SSTORE(index, Op.BLOBHASH(index=index)) for index in indexes) + Op.STOP + ) + case _: + raise ValueError(f"Invalid context: {self}") + + def deploy_contract( + self, + *, + pre: Alloc, + indexes: Iterable[int], + ) -> Address: + """ + Deploy a contract with the given context and indexes. + + Args: + pre: The pre state to deploy the contract on + indexes: The indexes to request using the BLOBHASH opcode + + """ + match self: + case BlobhashContext.BLOBHASH_SSTORE | BlobhashContext.BLOBHASH_RETURN: + return pre.deploy_contract(self.code(indexes=indexes)) + case BlobhashContext.CALL | BlobhashContext.CALLCODE | BlobhashContext.STATICCALL: + blobhash_return_address = BlobhashContext.BLOBHASH_RETURN.deploy_contract( + pre=pre, indexes=indexes + ) + call_opcode = ( + Op.CALL + if self == BlobhashContext.CALL + else (Op.CALLCODE if self == BlobhashContext.CALLCODE else Op.STATICCALL) + ) + bytecode = ( + sum( + Op.MSTORE(offset=0, value=index) + + Op.POP( + call_opcode( + address=blobhash_return_address, + args_offset=0, + args_size=32, + ret_offset=32, + ret_size=32, + ) + ) + + Op.SSTORE(index, Op.MLOAD(offset=32)) + for index in indexes + ) + + Op.STOP + ) + return pre.deploy_contract(bytecode) + case BlobhashContext.DELEGATECALL: + blobhash_sstore_address = pre.deploy_contract( + BlobhashContext.BLOBHASH_SSTORE.code(indexes=indexes) + ) + bytecode = Op.POP( + Op.DELEGATECALL( + address=blobhash_sstore_address, args_offset=0, args_size=Op.CALLDATASIZE() + ) + ) + return pre.deploy_contract(bytecode) + case BlobhashContext.CREATE | BlobhashContext.CREATE2: + initcode = BlobhashContext.INITCODE.code(indexes=indexes) + initcode_address = pre.deploy_contract(initcode) + create_opcode = Op.CREATE if self == BlobhashContext.CREATE else Op.CREATE2 + create_bytecode = Op.EXTCODECOPY( + address=initcode_address, dest_offset=0, offset=0, size=len(initcode) + ) + Op.POP( + create_opcode(value=0, offset=0, size=len(initcode), salt=0) + if create_opcode == Op.CREATE2 + else create_opcode(value=0, offset=0, size=len(initcode)) + ) + return pre.deploy_contract(create_bytecode) + + case _: + raise ValueError(f"Invalid context: {self}") + + +@pytest.fixture() +def simple_blob_hashes( + max_blobs_per_tx: int, +) -> List[Hash]: + """ + Return a simple list of blob versioned hashes ranging from bytes32(1 to 4). + """ + return add_kzg_version( + [(1 << x) for x in range(max_blobs_per_tx)], + Spec.BLOB_COMMITMENT_VERSION_KZG, + ) + + +@pytest.mark.parametrize( + "test_case", + [ + "on_top_level_call_stack", + "on_max_value", + "on_CALL", + "on_DELEGATECALL", + "on_STATICCALL", + "on_CALLCODE", + "on_CREATE", + "on_CREATE2", + ], + ids=lambda x: x, +) +def test_blobhash_opcode_contexts( + pre: Alloc, + test_case: str, + max_blobs_per_tx: int, + simple_blob_hashes: List[bytes], + fork: Fork, + state_test: StateTestFiller, +) -> None: + """ + Tests that the `BLOBHASH` opcode functions correctly when called in + different contexts. + + - `BLOBHASH` opcode on the top level of the call stack. + - `BLOBHASH` opcode on the max value. + - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and + `CALLCODE`. + - `BLOBHASH` opcode on Initcode. + - `BLOBHASH` opcode on `CREATE` and `CREATE2`. + - `BLOBHASH` opcode on transaction types 0, 1 and 2. + """ + tx_to: Address + post: dict[Address, Account] + + match test_case: + case "on_top_level_call_stack": + blobhash_sstore_address = BlobhashContext.BLOBHASH_SSTORE.deploy_contract( + pre=pre, indexes=range(max_blobs_per_tx + 1) + ) + tx_to = blobhash_sstore_address + post = { + blobhash_sstore_address: Account( + storage=dict( + zip( + range(len(simple_blob_hashes)), + simple_blob_hashes, + strict=False, + ) + ) + ), + } + case "on_max_value": + blobhash_sstore_address = BlobhashContext.BLOBHASH_SSTORE.deploy_contract( + pre=pre, indexes=[2**256 - 1] + ) + tx_to = blobhash_sstore_address + post = { + blobhash_sstore_address: Account(storage={}), + } + case "on_CALL" | "on_DELEGATECALL" | "on_STATICCALL" | "on_CALLCODE": + call_context: BlobhashContext + match test_case: + case "on_CALL": + call_context = BlobhashContext.CALL + case "on_DELEGATECALL": + call_context = BlobhashContext.DELEGATECALL + case "on_STATICCALL": + call_context = BlobhashContext.STATICCALL + case "on_CALLCODE": + call_context = BlobhashContext.CALLCODE + call_address = call_context.deploy_contract( + pre=pre, indexes=range(max_blobs_per_tx + 1) + ) + tx_to = call_address + post = { + call_address: Account( + storage=dict( + zip( + range(len(simple_blob_hashes)), + simple_blob_hashes, + strict=False, + ) + ) + ), + } + case "on_CREATE" | "on_CREATE2": + create_context: BlobhashContext + opcode: Op + match test_case: + case "on_CREATE": + create_context = BlobhashContext.CREATE + opcode = Op.CREATE + case "on_CREATE2": + create_context = BlobhashContext.CREATE2 + opcode = Op.CREATE2 + factory_address = create_context.deploy_contract( + pre=pre, indexes=range(max_blobs_per_tx + 1) + ) + created_contract_address = compute_create_address( + address=factory_address, + nonce=1, # the create contract will have nonce 1 for its first create + salt=0, + initcode=BlobhashContext.INITCODE.code(indexes=range(max_blobs_per_tx + 1)), + opcode=opcode, + ) + tx_to = factory_address + post = { + created_contract_address: Account( + storage=dict( + zip(range(len(simple_blob_hashes)), simple_blob_hashes, strict=False) + ) + ), + } + case _: + raise Exception(f"Unknown test case {test_case}") + + state_test( + pre=pre, + tx=Transaction( + ty=Spec.BLOB_TX_TYPE, + to=tx_to, + gas_limit=500_000, + max_fee_per_blob_gas=fork.min_base_fee_per_blob_gas() * 10, + blob_versioned_hashes=simple_blob_hashes, + sender=pre.fund_eoa(), + ), + post=post, + ) + + +@pytest.mark.with_all_tx_types(selector=lambda x: x != 3) +def test_blobhash_opcode_contexts_tx_types( + pre: Alloc, + tx_type: int, + state_test: StateTestFiller, +) -> None: + """ + Tests that the `BLOBHASH` opcode functions correctly when called in + different contexts. + + - `BLOBHASH` opcode on the top level of the call stack. + - `BLOBHASH` opcode on the max value. + - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and + `CALLCODE`. + - `BLOBHASH` opcode on Initcode. + - `BLOBHASH` opcode on `CREATE` and `CREATE2`. + - `BLOBHASH` opcode on transaction types 0, 1 and 2. + """ + blobhash_sstore_address = BlobhashContext.BLOBHASH_SSTORE.deploy_contract(pre=pre, indexes=[0]) + tx_kwargs = { + "ty": tx_type, + "to": blobhash_sstore_address, + "sender": pre.fund_eoa(), + "gas_limit": 500_000, + } + if tx_type == 4: + signer = pre.fund_eoa(amount=0) + tx_kwargs["authorization_list"] = [ + AuthorizationTuple( + signer=signer, + address=Address(0), + nonce=0, + ) + ] + + state_test( + pre=pre, + tx=Transaction(**tx_kwargs), + post={ + blobhash_sstore_address: Account(storage={0: 0}), + }, + ) diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts_tx_types.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts_tx_types.json new file mode 100644 index 000000000..8984f25c5 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts_tx_types.json @@ -0,0 +1,712 @@ +{ + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts_tx_types[fork_Cancun-tx_type_0-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xd87c17127410883a41191c7de9bc95c990b69517": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x85402fd979e7b5c1a88c696251cbae9985e70671": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xd87c17127410883a41191c7de9bc95c990b69517", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "sender": "0x85402fd979e7b5c1a88c696251cbae9985e70671", + "secretKey": "0x284e6f42fd8efd4e82f03bc4d87c17127410883a41191c7de9bc95c990b69517" + }, + "post": { + "Cancun": [ + { + "hash": "0x6f5071fc31e30d14dc84a03c0ff50517dd74411c5897809f9f1e888c25af710d", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a8307a12094d87c17127410883a41191c7de9bc95c990b69517808026a0b8b3da8f7757dd3036e3e144a4867d9e292a609d4ccac73c1df84f6622ce9a4ea0071c45edad108070f8ca9d1671fb083350194269410dea25991950a83255629a", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd87c17127410883a41191c7de9bc95c990b69517": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x85402fd979e7b5c1a88c696251cbae9985e70671": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9c7566", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x010ffb", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xf37c36b26295c81c57382e967df70b8f58bffd13f7245b76e9c121e5cea09243", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L329", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts_tx_types[fork_Cancun-tx_type_1-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xe196a2e4919626e6b0295a20d55a96270bcfe3c8": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x11566035619b56e79c140d99438757233b1d008a": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xe196a2e4919626e6b0295a20d55a96270bcfe3c8", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "sender": "0x11566035619b56e79c140d99438757233b1d008a", + "secretKey": "0x135bc786697482615a015f64e196a2e4919626e6b0295a20d55a96270bcfe3c8" + }, + "post": { + "Cancun": [ + { + "hash": "0x425838aadfa9bfbdd36c07cbef0a3b38b9b315922661a37221a592cf93e6a9c6", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f86201800a8307a12094e196a2e4919626e6b0295a20d55a96270bcfe3c88080c001a0aa9caf322beb69597dc13419cbb63a5de96e0072a711405d26602e3fac08f909a0491d2db23400927a61b585ba993324b1e72e9a68ab0db4db73fbd44aae4b54db", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe196a2e4919626e6b0295a20d55a96270bcfe3c8": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x11566035619b56e79c140d99438757233b1d008a": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9c7566", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x010ffb", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x271962433cbd0164cfe53e8fc31017ff4c48b47fd8949ea4f8ce2fda16870e2b", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L329", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts_tx_types[fork_Cancun-tx_type_2-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xd02514373ea7e8f86e42cb768b69e77c38e353f7": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x12ab36a397f87bb7213a82f617261c2f8c0af4e6": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xd02514373ea7e8f86e42cb768b69e77c38e353f7", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "sender": "0x12ab36a397f87bb7213a82f617261c2f8c0af4e6", + "secretKey": "0x5572cfd376c9569fbe2bd573d02514373ea7e8f86e42cb768b69e77c38e353f7" + }, + "post": { + "Cancun": [ + { + "hash": "0x04a232014fb1ce8116070607e0dc7c2b5160bd6df36075409fda2b11c66a1515", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f863018080078307a12094d02514373ea7e8f86e42cb768b69e77c38e353f78080c001a0da3b3eb4dd73620a43b06b050387f6c71fdba0f91353b86a78e621b43296d75fa01c99409665b9a1267b9a736d2f88328de03ec5efe5b876fc6de3c62f398cc411", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd02514373ea7e8f86e42cb768b69e77c38e353f7": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x12ab36a397f87bb7213a82f617261c2f8c0af4e6": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9d8561", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x6dd1ccfeb4952b50b0aa7bd8876ccd45309d171d12abdcf4bfc5efe5083d266e", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L329", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts_tx_types[fork_Prague-tx_type_0-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xd87c17127410883a41191c7de9bc95c990b69517": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x85402fd979e7b5c1a88c696251cbae9985e70671": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xd87c17127410883a41191c7de9bc95c990b69517", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "sender": "0x85402fd979e7b5c1a88c696251cbae9985e70671", + "secretKey": "0x284e6f42fd8efd4e82f03bc4d87c17127410883a41191c7de9bc95c990b69517" + }, + "post": { + "Prague": [ + { + "hash": "0x6f5071fc31e30d14dc84a03c0ff50517dd74411c5897809f9f1e888c25af710d", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a8307a12094d87c17127410883a41191c7de9bc95c990b69517808026a0b8b3da8f7757dd3036e3e144a4867d9e292a609d4ccac73c1df84f6622ce9a4ea0071c45edad108070f8ca9d1671fb083350194269410dea25991950a83255629a", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd87c17127410883a41191c7de9bc95c990b69517": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x85402fd979e7b5c1a88c696251cbae9985e70671": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9c7566", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x010ffb", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xbca836332cf83c80812b6bd1a6b041f7eb245771c33c513fd6247f6c34603f8d", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L329", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts_tx_types[fork_Prague-tx_type_1-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xe196a2e4919626e6b0295a20d55a96270bcfe3c8": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x11566035619b56e79c140d99438757233b1d008a": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x07a120" + ], + "to": "0xe196a2e4919626e6b0295a20d55a96270bcfe3c8", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "sender": "0x11566035619b56e79c140d99438757233b1d008a", + "secretKey": "0x135bc786697482615a015f64e196a2e4919626e6b0295a20d55a96270bcfe3c8" + }, + "post": { + "Prague": [ + { + "hash": "0x425838aadfa9bfbdd36c07cbef0a3b38b9b315922661a37221a592cf93e6a9c6", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x01f86201800a8307a12094e196a2e4919626e6b0295a20d55a96270bcfe3c88080c001a0aa9caf322beb69597dc13419cbb63a5de96e0072a711405d26602e3fac08f909a0491d2db23400927a61b585ba993324b1e72e9a68ab0db4db73fbd44aae4b54db", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe196a2e4919626e6b0295a20d55a96270bcfe3c8": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x11566035619b56e79c140d99438757233b1d008a": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9c7566", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x010ffb", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x615ac4e6dea86291d840c7931b0f0928b62c0c5e46351e5476df7d8a9dd52a2d", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L329", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts_tx_types[fork_Prague-tx_type_2-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0xd02514373ea7e8f86e42cb768b69e77c38e353f7": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x12ab36a397f87bb7213a82f617261c2f8c0af4e6": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0xd02514373ea7e8f86e42cb768b69e77c38e353f7", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "sender": "0x12ab36a397f87bb7213a82f617261c2f8c0af4e6", + "secretKey": "0x5572cfd376c9569fbe2bd573d02514373ea7e8f86e42cb768b69e77c38e353f7" + }, + "post": { + "Prague": [ + { + "hash": "0x04a232014fb1ce8116070607e0dc7c2b5160bd6df36075409fda2b11c66a1515", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x02f863018080078307a12094d02514373ea7e8f86e42cb768b69e77c38e353f78080c001a0da3b3eb4dd73620a43b06b050387f6c71fdba0f91353b86a78e621b43296d75fa01c99409665b9a1267b9a736d2f88328de03ec5efe5b876fc6de3c62f398cc411", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd02514373ea7e8f86e42cb768b69e77c38e353f7": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x12ab36a397f87bb7213a82f617261c2f8c0af4e6": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9d8561", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x6e3a771cf56506f5c0bb2c1df0957019ac007f6c821ed6268e14cc8daaa13b14", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L329", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py::test_blobhash_opcode_contexts_tx_types[fork_Prague-tx_type_4-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x140000" + }, + "pre": { + "0x8f1a5d152dcff12090b30ce4d2320d8be25c8d1d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x448e340224d40348140ae2f25ede75889ef7942e": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x07a120" + ], + "to": "0x8f1a5d152dcff12090b30ce4d2320d8be25c8d1d", + "value": [ + "0x00" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "authorizationList": [ + { + "chainId": "0x00", + "address": "0x0000000000000000000000000000000000000000", + "nonce": "0x00", + "v": "0x01", + "r": "0xb5a531aff2c6eb12ba42872d3d2359de135b58f6af6f14534b44a4d07b486a5a", + "s": "0x506059a0e0cb5ac8efe57e394b005f35377b563e7d356680346da70a048c8c58", + "signer": "0xa9bae7116b4a6c8d6d2dbe24b0573cdb25c17412", + "yParity": "0x01" + } + ], + "sender": "0x448e340224d40348140ae2f25ede75889ef7942e", + "secretKey": "0xca1ba16d9797be5b647b01188f1a5d152dcff12090b30ce4d2320d8be25c8d1d" + }, + "post": { + "Prague": [ + { + "hash": "0xc03276d6169a47b218470a525f927199e1c508c9ead33c055c9b085b783ebee9", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x04f8c1018080078307a120948f1a5d152dcff12090b30ce4d2320d8be25c8d1d8080c0f85cf85a809400000000000000000000000000000000000000008001a0b5a531aff2c6eb12ba42872d3d2359de135b58f6af6f14534b44a4d07b486a5aa0506059a0e0cb5ac8efe57e394b005f35377b563e7d356680346da70a048c8c5880a06ba57fd38052b8fd0ebf3ab2b58739b6eb0064a91598ee1d72701b7709b3027da07233cc9f738f0e4a5ed7e657b7d3cf4f9ced74700764544c41bdf291ace473eb", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x8f1a5d152dcff12090b30ce4d2320d8be25c8d1d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60004960005500", + "storage": {} + }, + "0x448e340224d40348140ae2f25ede75889ef7942e": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9ad9c9", + "code": "0x", + "storage": {} + }, + "0xa9bae7116b4a6c8d6d2dbe24b0573cdb25c17412": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x9af55a9c5ab4d832f04fb0ac9de22ed431e3960100e9d9ead730dcdc879468c7", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the `BLOBHASH` opcode functions correctly when called in\n different contexts.\n\n - `BLOBHASH` opcode on the top level of the call stack.\n - `BLOBHASH` opcode on the max value.\n - `BLOBHASH` opcode on `CALL`, `DELEGATECALL`, `STATICCALL`, and\n `CALLCODE`.\n - `BLOBHASH` opcode on Initcode.\n - `BLOBHASH` opcode on `CREATE` and `CREATE2`.\n - `BLOBHASH` opcode on transaction types 0, 1 and 2.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blobhash_opcode_contexts.py#L329", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_blob_hash_versioning_single_tx.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_blob_hash_versioning_single_tx.json new file mode 100644 index 000000000..2953a4b62 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_blob_hash_versioning_single_tx.json @@ -0,0 +1,724 @@ +{ + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_blob_hash_versioning_single_tx[fork_Cancun-state_test--multiple_blobs]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x69a6c806a7faf36a67a071dce1a8c6c9d0e03f67": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0xe420be01b422bcf098dcfe50b059c762ec0fef7e", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "sender": "0x69a6c806a7faf36a67a071dce1a8c6c9d0e03f67", + "secretKey": "0x9596a87589b6dd619c149bcddb800a4db4d446ba249dd650e3b9864906551e15" + }, + "post": { + "Cancun": [ + { + "hash": "0x4465cb912fd19f6e05a457772816f38392125f632b2fab579bda0f7cd2250cc1", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a70180800782520894e420be01b422bcf098dcfe50b059c762ec0fef7e0180c001f842a00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000101a01f40ecca15a26bf5df8f5789cd21dbecde1aa36802d2a60615b8ed8e04655de1a03668ec38ec67037335f18b8f9a9c24779fb038f40e1df3dcc6a5c276cf0f3dc3", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x69a6c806a7faf36a67a071dce1a8c6c9d0e03f67": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xac0b208cf55d217ef4fb5903f871bafaf1d046f67447c5780db66f38f8da5e85", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blob transactions with invalid blob hash version.\n\n - Transaction with single blob with invalid version\n - Transaction with multiple blobs all with invalid version\n - Transaction with multiple blobs either with invalid version", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L962", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_blob_hash_versioning_single_tx[fork_Cancun-state_test--multiple_blobs_single_bad_hash_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x855cf3a2a25851c63c716a6109045fcfaa5a20c1": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x90b6b60cd6e09aac00f5bf9474203b6acf1d0fcb", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "sender": "0x855cf3a2a25851c63c716a6109045fcfaa5a20c1", + "secretKey": "0x94a2b52d2f9d45841758a9cbafa38e6eb2be3efea10f368e19e75f95020dd3a9" + }, + "post": { + "Cancun": [ + { + "hash": "0x25bd2b115ac0f0916a082304b106d470b31d6ccbb75ed7a45676369a5317ccd4", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a7018080078252089490b6b60cd6e09aac00f5bf9474203b6acf1d0fcb0180c001f842a00100000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000280a05075eb5fcee7f08a7bd4a65af47bdbec7c9deff43a2122afb177b29b57f53191a00cf9458d8ade3f7a383ece1f1095b1a94ea0857ede5556d9c05bdca58fe1015b", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x855cf3a2a25851c63c716a6109045fcfaa5a20c1": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x65feda23af154a5a7b6c3dd6a03c716aa291b9ec7d6d1eb700519203aeda8df5", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blob transactions with invalid blob hash version.\n\n - Transaction with single blob with invalid version\n - Transaction with multiple blobs all with invalid version\n - Transaction with multiple blobs either with invalid version", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L962", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_blob_hash_versioning_single_tx[fork_Cancun-state_test--multiple_blobs_single_bad_hash_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x2552d0db73cd7fa15e66931f4d8f8d789f85efed": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x77afdaf70b72c785698eba378c1c827113cc97d8", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002" + ], + "sender": "0x2552d0db73cd7fa15e66931f4d8f8d789f85efed", + "secretKey": "0x4ac5e3bb2f26f718c93ee056e5ab8c4d9dac39bf6d7f5696e9cc8c2e76d4830c" + }, + "post": { + "Cancun": [ + { + "hash": "0x348897ee3ecbd367451cccf5c86aac24be7ee483895b50b918f3421f0659e97c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a7018080078252089477afdaf70b72c785698eba378c1c827113cc97d80180c001f842a00000000000000000000000000000000000000000000000000000000000000001a0010000000000000000000000000000000000000000000000000000000000000280a0647179327dfc2950b60ec9b6176197fb37998f2b5b41b968b499cee39ff689c6a00fd1f2b8b494ea72fee562e6d47ba5888a8eff3264d07e795a8d6e6fc84dceda", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x2552d0db73cd7fa15e66931f4d8f8d789f85efed": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x7d37f35b7d099738248030a6fbba40fd4a1ec6908fb0342deb7021d9506555ba", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blob transactions with invalid blob hash version.\n\n - Transaction with single blob with invalid version\n - Transaction with multiple blobs all with invalid version\n - Transaction with multiple blobs either with invalid version", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L962", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_blob_hash_versioning_single_tx[fork_Cancun-state_test--single_blob]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0xe71f21c237cb636f2fd9ddeaf11149b58111f792": { + "nonce": "0x00", + "balance": "0x043e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x24e9bffb09574f75f9489b137b343d49dddda5ac", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "sender": "0xe71f21c237cb636f2fd9ddeaf11149b58111f792", + "secretKey": "0x414d5b3cabdb39c3247467847598528b5945d6927c9018b5bfeb7d583eb23eb6" + }, + "post": { + "Cancun": [ + { + "hash": "0xb2a02ea52e922950f133e8065a0813a5c81ab9b98a87e49cc6fe9f32ca5c99e8", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f885018080078252089424e9bffb09574f75f9489b137b343d49dddda5ac0180c001e1a0000000000000000000000000000000000000000000000000000000000000000101a0ff4f6b1aebedb4d8a0e052435f08216919d8970df28825f13eddaabde52a6fa9a01354119e50b44036524cfd37d178bda5f5341be839f6096efbb8c0d7466a1d2c", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe71f21c237cb636f2fd9ddeaf11149b58111f792": { + "nonce": "0x00", + "balance": "0x043e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x5fcb067e24a9622ea29d9181bf1b8714a5221f7d0a03f71e3118b80ce52b5213", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blob transactions with invalid blob hash version.\n\n - Transaction with single blob with invalid version\n - Transaction with multiple blobs all with invalid version\n - Transaction with multiple blobs either with invalid version", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L962", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_blob_hash_versioning_single_tx[fork_Prague-state_test--multiple_blobs]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x69a6c806a7faf36a67a071dce1a8c6c9d0e03f67": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0xe420be01b422bcf098dcfe50b059c762ec0fef7e", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "sender": "0x69a6c806a7faf36a67a071dce1a8c6c9d0e03f67", + "secretKey": "0x9596a87589b6dd619c149bcddb800a4db4d446ba249dd650e3b9864906551e15" + }, + "post": { + "Prague": [ + { + "hash": "0x4465cb912fd19f6e05a457772816f38392125f632b2fab579bda0f7cd2250cc1", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a70180800782520894e420be01b422bcf098dcfe50b059c762ec0fef7e0180c001f842a00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000101a01f40ecca15a26bf5df8f5789cd21dbecde1aa36802d2a60615b8ed8e04655de1a03668ec38ec67037335f18b8f9a9c24779fb038f40e1df3dcc6a5c276cf0f3dc3", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x69a6c806a7faf36a67a071dce1a8c6c9d0e03f67": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x60b2c83ea64847453b0766b4c6d9dbc0166b01c2e0d806e98093db8d6dbe156f", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blob transactions with invalid blob hash version.\n\n - Transaction with single blob with invalid version\n - Transaction with multiple blobs all with invalid version\n - Transaction with multiple blobs either with invalid version", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L962", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_blob_hash_versioning_single_tx[fork_Prague-state_test--multiple_blobs_single_bad_hash_1]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x855cf3a2a25851c63c716a6109045fcfaa5a20c1": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x90b6b60cd6e09aac00f5bf9474203b6acf1d0fcb", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "sender": "0x855cf3a2a25851c63c716a6109045fcfaa5a20c1", + "secretKey": "0x94a2b52d2f9d45841758a9cbafa38e6eb2be3efea10f368e19e75f95020dd3a9" + }, + "post": { + "Prague": [ + { + "hash": "0x25bd2b115ac0f0916a082304b106d470b31d6ccbb75ed7a45676369a5317ccd4", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a7018080078252089490b6b60cd6e09aac00f5bf9474203b6acf1d0fcb0180c001f842a00100000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000280a05075eb5fcee7f08a7bd4a65af47bdbec7c9deff43a2122afb177b29b57f53191a00cf9458d8ade3f7a383ece1f1095b1a94ea0857ede5556d9c05bdca58fe1015b", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x855cf3a2a25851c63c716a6109045fcfaa5a20c1": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xefc8252e72b31102ec3793859e9544ac4a696840df764b035c64e61ba2a2f1e2", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blob transactions with invalid blob hash version.\n\n - Transaction with single blob with invalid version\n - Transaction with multiple blobs all with invalid version\n - Transaction with multiple blobs either with invalid version", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L962", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_blob_hash_versioning_single_tx[fork_Prague-state_test--multiple_blobs_single_bad_hash_2]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x2552d0db73cd7fa15e66931f4d8f8d789f85efed": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x77afdaf70b72c785698eba378c1c827113cc97d8", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002" + ], + "sender": "0x2552d0db73cd7fa15e66931f4d8f8d789f85efed", + "secretKey": "0x4ac5e3bb2f26f718c93ee056e5ab8c4d9dac39bf6d7f5696e9cc8c2e76d4830c" + }, + "post": { + "Prague": [ + { + "hash": "0x348897ee3ecbd367451cccf5c86aac24be7ee483895b50b918f3421f0659e97c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8a7018080078252089477afdaf70b72c785698eba378c1c827113cc97d80180c001f842a00000000000000000000000000000000000000000000000000000000000000001a0010000000000000000000000000000000000000000000000000000000000000280a0647179327dfc2950b60ec9b6176197fb37998f2b5b41b968b499cee39ff689c6a00fd1f2b8b494ea72fee562e6d47ba5888a8eff3264d07e795a8d6e6fc84dceda", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x2552d0db73cd7fa15e66931f4d8f8d789f85efed": { + "nonce": "0x00", + "balance": "0x063e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xd58e1eb4985dea58670c51a9c96e9d73e63f24e935de76deb7f69ad9371b7807", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blob transactions with invalid blob hash version.\n\n - Transaction with single blob with invalid version\n - Transaction with multiple blobs all with invalid version\n - Transaction with multiple blobs either with invalid version", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L962", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_blob_hash_versioning_single_tx[fork_Prague-state_test--single_blob]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0xe71f21c237cb636f2fd9ddeaf11149b58111f792": { + "nonce": "0x00", + "balance": "0x043e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x24e9bffb09574f75f9489b137b343d49dddda5ac", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "sender": "0xe71f21c237cb636f2fd9ddeaf11149b58111f792", + "secretKey": "0x414d5b3cabdb39c3247467847598528b5945d6927c9018b5bfeb7d583eb23eb6" + }, + "post": { + "Prague": [ + { + "hash": "0xb2a02ea52e922950f133e8065a0813a5c81ab9b98a87e49cc6fe9f32ca5c99e8", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f885018080078252089424e9bffb09574f75f9489b137b343d49dddda5ac0180c001e1a0000000000000000000000000000000000000000000000000000000000000000101a0ff4f6b1aebedb4d8a0e052435f08216919d8970df28825f13eddaabde52a6fa9a01354119e50b44036524cfd37d178bda5f5341be839f6096efbb8c0d7466a1d2c", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe71f21c237cb636f2fd9ddeaf11149b58111f792": { + "nonce": "0x00", + "balance": "0x043e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x6fdd49d405c9c9608d8f9ac6a87e8efd0be82b4665636744b7397764e4ba855a", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blob transactions with invalid blob hash version.\n\n - Transaction with single blob with invalid version\n - Transaction with multiple blobs all with invalid version\n - Transaction with multiple blobs either with invalid version", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L962", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_normal_gas.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_normal_gas.json new file mode 100644 index 000000000..dd8387175 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_normal_gas.json @@ -0,0 +1,181 @@ +{ + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_normal_gas[fork_Cancun-state_test-insufficient_max_fee_per_gas]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x4622fea0dff6e374167ef60ab091771f2dd4f070": { + "nonce": "0x00", + "balance": "0x03ec31", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x06", + "gasLimit": [ + "0x5208" + ], + "to": "0xab91ea4f3064fcb4f15d59433a2fce5d26279bfb", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x4622fea0dff6e374167ef60ab091771f2dd4f070", + "secretKey": "0x7d3d4fdae5205f314f90f108c43c276b87c4a09e88bde1acf28a2df664b20024" + }, + "post": { + "Cancun": [ + { + "hash": "0x37ab33da539b2d8a276560cbeb830f59429d8ce1c4be81d56d24189b5417cc47", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8850180800682520894ab91ea4f3064fcb4f15d59433a2fce5d26279bfb0180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a05dd00c2feff0afbe0f0ef98391174b29be3d8a534cee26e378360f22516dca4ca05a2254cea0ba55303c5427424fde9823adf8e60526f1a451f59b7c79c21e6c06", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x4622fea0dff6e374167ef60ab091771f2dd4f070": { + "nonce": "0x00", + "balance": "0x03ec31", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.INSUFFICIENT_MAX_FEE_PER_GAS" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x83e9b51783b5135a07d96633add6d4d61826364c03ade3aa8691761e46394141", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject an invalid blob transaction.\n\n - Sufficient max fee per blob gas, but insufficient max fee per gas", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L553", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_normal_gas[fork_Prague-state_test-insufficient_max_fee_per_gas]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x4622fea0dff6e374167ef60ab091771f2dd4f070": { + "nonce": "0x00", + "balance": "0x03ec31", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x06", + "gasLimit": [ + "0x5208" + ], + "to": "0xab91ea4f3064fcb4f15d59433a2fce5d26279bfb", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0x4622fea0dff6e374167ef60ab091771f2dd4f070", + "secretKey": "0x7d3d4fdae5205f314f90f108c43c276b87c4a09e88bde1acf28a2df664b20024" + }, + "post": { + "Prague": [ + { + "hash": "0x37ab33da539b2d8a276560cbeb830f59429d8ce1c4be81d56d24189b5417cc47", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8850180800682520894ab91ea4f3064fcb4f15d59433a2fce5d26279bfb0180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a05dd00c2feff0afbe0f0ef98391174b29be3d8a534cee26e378360f22516dca4ca05a2254cea0ba55303c5427424fde9823adf8e60526f1a451f59b7c79c21e6c06", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x4622fea0dff6e374167ef60ab091771f2dd4f070": { + "nonce": "0x00", + "balance": "0x03ec31", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.INSUFFICIENT_MAX_FEE_PER_GAS" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x28e10d2509d3729dbe489dc36ed7fc5911110a7dfba6cb100662d15589c19e38", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject an invalid blob transaction.\n\n - Sufficient max fee per blob gas, but insufficient max fee per gas", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L553", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_tx_blob_count.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_tx_blob_count.json new file mode 100644 index 000000000..04685b555 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_tx_blob_count.json @@ -0,0 +1,371 @@ +{ + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_tx_blob_count[fork_Cancun-too_few_blobs-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x20328188478d007e3806cc5bf07d8a458820b843": { + "nonce": "0x00", + "balance": "0x023e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x59e4a5cbe97bf55c9435cd1556c095e2324a540b", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [], + "sender": "0x20328188478d007e3806cc5bf07d8a458820b843", + "secretKey": "0x41891d5739499e581df3ca423145907e8b83f46d2920e381e3ce9759b176ca63" + }, + "post": { + "Cancun": [ + { + "hash": "0xd7f8227e9da3ec6cb71672dda76cc21d8e5c09a82822d82c8e6c02d031605e6d", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f864018080078252089459e4a5cbe97bf55c9435cd1556c095e2324a540b0180c001c080a0593fee2bfe30b1ef13080f30e98ba62fe819f7cf54721d445728ddd2ae5d7c04a0677c1f56b90b39255f6ae7ebc778de497e9cea239b24f90348851dd90c93f0ba", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x20328188478d007e3806cc5bf07d8a458820b843": { + "nonce": "0x00", + "balance": "0x023e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_ZERO_BLOBS" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x9d2eba468ba49c1918dd73819c349ad8b7f49d36d850fcb796f4238725461661", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blocks that include blob transactions with invalid blob counts.\n\n - `blob count == 0` in type 3 transaction\n - `blob count > MAX_BLOBS_PER_BLOCK` in type 3 transaction", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L931", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_tx_blob_count[fork_Cancun-too_many_blobs-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x0e0000" + }, + "pre": { + "0x3a55222c26d5ca125dc88252bf76f197983c7936": { + "nonce": "0x00", + "balance": "0x103e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0xff7a001e6635bac2c1107640c2ebef092a5f89d5", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000", + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000003", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000005", + "0x0100000000000000000000000000000000000000000000000000000000000006" + ], + "sender": "0x3a55222c26d5ca125dc88252bf76f197983c7936", + "secretKey": "0x2c24c177e38bab401758dd8bbd220ad92059d0a9b678ce866f77be9a8b169547" + }, + "post": { + "Cancun": [ + { + "hash": "0xdf6e2f04d5b238c186c88a70c6e6cf58b3ccbe4d2c632ea786d1881912218c43", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f9014c0180800782520894ff7a001e6635bac2c1107640c2ebef092a5f89d50180c001f8e7a00100000000000000000000000000000000000000000000000000000000000000a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000003a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000005a0010000000000000000000000000000000000000000000000000000000000000601a00d5eecd33ee7dfaf13e4aeafebb2bdf8439260f5626998e3e02770fe11b0ea7ca02eb1bd78a50f0961611e810afa2e25dbbb4b6cd9028a9ee4a36440bd243534b8", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x3a55222c26d5ca125dc88252bf76f197983c7936": { + "nonce": "0x00", + "balance": "0x103e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_MAX_BLOB_GAS_ALLOWANCE_EXCEEDED|TransactionException.TYPE_3_TX_BLOB_COUNT_EXCEEDED" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x21ead937fb3d0b1667791418c832bc9cd6346d48ab01797b2df1c5894e900bd7", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blocks that include blob transactions with invalid blob counts.\n\n - `blob count == 0` in type 3 transaction\n - `blob count > MAX_BLOBS_PER_BLOCK` in type 3 transaction", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L931", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_tx_blob_count[fork_Prague-too_few_blobs-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x20328188478d007e3806cc5bf07d8a458820b843": { + "nonce": "0x00", + "balance": "0x023e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x59e4a5cbe97bf55c9435cd1556c095e2324a540b", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [], + "sender": "0x20328188478d007e3806cc5bf07d8a458820b843", + "secretKey": "0x41891d5739499e581df3ca423145907e8b83f46d2920e381e3ce9759b176ca63" + }, + "post": { + "Prague": [ + { + "hash": "0xd7f8227e9da3ec6cb71672dda76cc21d8e5c09a82822d82c8e6c02d031605e6d", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f864018080078252089459e4a5cbe97bf55c9435cd1556c095e2324a540b0180c001c080a0593fee2bfe30b1ef13080f30e98ba62fe819f7cf54721d445728ddd2ae5d7c04a0677c1f56b90b39255f6ae7ebc778de497e9cea239b24f90348851dd90c93f0ba", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x20328188478d007e3806cc5bf07d8a458820b843": { + "nonce": "0x00", + "balance": "0x023e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_ZERO_BLOBS" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xfc1479b03f19166628aa8725620e69a04dd779421da4e5687cd2e7011a5b301e", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blocks that include blob transactions with invalid blob counts.\n\n - `blob count == 0` in type 3 transaction\n - `blob count > MAX_BLOBS_PER_BLOCK` in type 3 transaction", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L931", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_tx_blob_count[fork_Prague-too_many_blobs-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x080000" + }, + "pre": { + "0x3a55222c26d5ca125dc88252bf76f197983c7936": { + "nonce": "0x00", + "balance": "0x163e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0xff7a001e6635bac2c1107640c2ebef092a5f89d5", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000", + "0x0100000000000000000000000000000000000000000000000000000000000001", + "0x0100000000000000000000000000000000000000000000000000000000000002", + "0x0100000000000000000000000000000000000000000000000000000000000003", + "0x0100000000000000000000000000000000000000000000000000000000000004", + "0x0100000000000000000000000000000000000000000000000000000000000005", + "0x0100000000000000000000000000000000000000000000000000000000000006", + "0x0100000000000000000000000000000000000000000000000000000000000007", + "0x0100000000000000000000000000000000000000000000000000000000000008", + "0x0100000000000000000000000000000000000000000000000000000000000009" + ], + "sender": "0x3a55222c26d5ca125dc88252bf76f197983c7936", + "secretKey": "0x2c24c177e38bab401758dd8bbd220ad92059d0a9b678ce866f77be9a8b169547" + }, + "post": { + "Prague": [ + { + "hash": "0x0d7e209c642f5e75054b4dc1f6eb30b3bd4e928e8a3a92cfb3252d2015100303", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f901b00180800782520894ff7a001e6635bac2c1107640c2ebef092a5f89d50180c001f9014aa00100000000000000000000000000000000000000000000000000000000000000a00100000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000002a00100000000000000000000000000000000000000000000000000000000000003a00100000000000000000000000000000000000000000000000000000000000004a00100000000000000000000000000000000000000000000000000000000000005a00100000000000000000000000000000000000000000000000000000000000006a00100000000000000000000000000000000000000000000000000000000000007a00100000000000000000000000000000000000000000000000000000000000008a0010000000000000000000000000000000000000000000000000000000000000901a035c126a4c097992e7e3502d08abce21acf69e49ed1e797c8b794a09e063f6823a06fe03875d78c397d17fabae8fc9774d73e224fe35ee202ead5ef41658a36e69e", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x3a55222c26d5ca125dc88252bf76f197983c7936": { + "nonce": "0x00", + "balance": "0x163e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.TYPE_3_TX_MAX_BLOB_GAS_ALLOWANCE_EXCEEDED|TransactionException.TYPE_3_TX_BLOB_COUNT_EXCEEDED" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x5b98b9ec13e66b6a1d9f14ca1dedb6b402f64d99bdf8f71f757b3441a7660ee8", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject blocks that include blob transactions with invalid blob counts.\n\n - `blob count == 0` in type 3 transaction\n - `blob count > MAX_BLOBS_PER_BLOCK` in type 3 transaction", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L931", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_tx_max_fee_per_blob_gas_state.json b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_tx_max_fee_per_blob_gas_state.json new file mode 100644 index 000000000..270d28456 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip4844_blobs/test_invalid_tx_max_fee_per_blob_gas_state.json @@ -0,0 +1,360 @@ +{ + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_tx_max_fee_per_blob_gas_state[fork_Cancun-insufficient_max_fee_per_blob_gas-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x240000" + }, + "pre": { + "0xd65893f17a79f9bba7738d4c6dcb970d83a7e0a7": { + "nonce": "0x00", + "balance": "0x043e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0xb3612e175ee16c4476260f0b7a94b37d9be2eabb", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xd65893f17a79f9bba7738d4c6dcb970d83a7e0a7", + "secretKey": "0xeda750e5ed9ae6af65c34c436685f5de7ad0d1d85b85ec416a64a4076c95ad75" + }, + "post": { + "Cancun": [ + { + "hash": "0x89ed2f0492dfb11b140f937bf891a237f621d2df10af1a4c069c137c7e4141bd", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8850180800782520894b3612e175ee16c4476260f0b7a94b37d9be2eabb0180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0d804c68bde3ade8cbd0cd51fb12510aea4409f80c537e037b4d435cc4346ad5ea03fb520dad96b7b2143ea512d0cbb3b3a7fdd411ad3b466a25ecd8a45f2b85ba2", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd65893f17a79f9bba7738d4c6dcb970d83a7e0a7": { + "nonce": "0x00", + "balance": "0x043e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.INSUFFICIENT_MAX_FEE_PER_BLOB_GAS" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xb7238cfed87cf5e2511a6dc02ae4fa2cc356db9f953d1c247703066626e37ad3", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject an invalid blob transaction.\n\n - tx max_fee_per_blob_gas is barely not enough\n - tx max_fee_per_blob_gas is zero", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L526", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_tx_max_fee_per_blob_gas_state[fork_Cancun-invalid_max_fee_per_blob_gas-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xd3a3da6dcab83eae5c6affa5111e068d623c63c3": { + "nonce": "0x00", + "balance": "0x023e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x1d2e4fd5320e2627adf24fdfd16f556f35573688", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x00", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xd3a3da6dcab83eae5c6affa5111e068d623c63c3", + "secretKey": "0x751559c0dff152926b2227aae69021f211f1a60e448b27a900eeaebc40afffe7" + }, + "post": { + "Cancun": [ + { + "hash": "0xa7aad2cbf1162fe2162c29b5d65e6e37d36c377fcdb6b14094136ff6e06ede00", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f88501808007825208941d2e4fd5320e2627adf24fdfd16f556f355736880180c080e1a0010000000000000000000000000000000000000000000000000000000000000001a0fd53329919ee9219808f4a7a457c8a9ccbbd9ffcb944b037943c1cb099840a31a06b8f6dee2ef6d37d7b23c38741bc73b45030dcadb0dc5cefd20e40b2b5150a79", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd3a3da6dcab83eae5c6affa5111e068d623c63c3": { + "nonce": "0x00", + "balance": "0x023e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.INSUFFICIENT_MAX_FEE_PER_BLOB_GAS" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x9667e3655a173be869372ad46c610b29ec1240605e44ac5becc114378b79ccb0", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject an invalid blob transaction.\n\n - tx max_fee_per_blob_gas is barely not enough\n - tx max_fee_per_blob_gas is zero", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L526", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_tx_max_fee_per_blob_gas_state[fork_Prague-insufficient_max_fee_per_blob_gas-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x360000" + }, + "pre": { + "0xd65893f17a79f9bba7738d4c6dcb970d83a7e0a7": { + "nonce": "0x00", + "balance": "0x043e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0xb3612e175ee16c4476260f0b7a94b37d9be2eabb", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x01", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xd65893f17a79f9bba7738d4c6dcb970d83a7e0a7", + "secretKey": "0xeda750e5ed9ae6af65c34c436685f5de7ad0d1d85b85ec416a64a4076c95ad75" + }, + "post": { + "Prague": [ + { + "hash": "0x89ed2f0492dfb11b140f937bf891a237f621d2df10af1a4c069c137c7e4141bd", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f8850180800782520894b3612e175ee16c4476260f0b7a94b37d9be2eabb0180c001e1a0010000000000000000000000000000000000000000000000000000000000000001a0d804c68bde3ade8cbd0cd51fb12510aea4409f80c537e037b4d435cc4346ad5ea03fb520dad96b7b2143ea512d0cbb3b3a7fdd411ad3b466a25ecd8a45f2b85ba2", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd65893f17a79f9bba7738d4c6dcb970d83a7e0a7": { + "nonce": "0x00", + "balance": "0x043e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.INSUFFICIENT_MAX_FEE_PER_BLOB_GAS" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xbbb56fb3b00d3591428577626ed0a397a81af7e6b4f041b7a10b8c3adf7b4f51", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject an invalid blob transaction.\n\n - tx max_fee_per_blob_gas is barely not enough\n - tx max_fee_per_blob_gas is zero", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L526", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + }, + "tests/cancun/eip4844_blobs/test_blob_txs.py::test_invalid_tx_max_fee_per_blob_gas_state[fork_Prague-invalid_max_fee_per_blob_gas-state_test]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xd3a3da6dcab83eae5c6affa5111e068d623c63c3": { + "nonce": "0x00", + "balance": "0x023e39", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "maxPriorityFeePerGas": "0x00", + "maxFeePerGas": "0x07", + "gasLimit": [ + "0x5208" + ], + "to": "0x1d2e4fd5320e2627adf24fdfd16f556f35573688", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "accessLists": [ + [] + ], + "maxFeePerBlobGas": "0x00", + "blobVersionedHashes": [ + "0x0100000000000000000000000000000000000000000000000000000000000000" + ], + "sender": "0xd3a3da6dcab83eae5c6affa5111e068d623c63c3", + "secretKey": "0x751559c0dff152926b2227aae69021f211f1a60e448b27a900eeaebc40afffe7" + }, + "post": { + "Prague": [ + { + "hash": "0xa7aad2cbf1162fe2162c29b5d65e6e37d36c377fcdb6b14094136ff6e06ede00", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0x03f88501808007825208941d2e4fd5320e2627adf24fdfd16f556f355736880180c080e1a0010000000000000000000000000000000000000000000000000000000000000001a0fd53329919ee9219808f4a7a457c8a9ccbbd9ffcb944b037943c1cb099840a31a06b8f6dee2ef6d37d7b23c38741bc73b45030dcadb0dc5cefd20e40b2b5150a79", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xd3a3da6dcab83eae5c6affa5111e068d623c63c3": { + "nonce": "0x00", + "balance": "0x023e39", + "code": "0x", + "storage": {} + } + }, + "expectException": "TransactionException.INSUFFICIENT_MAX_FEE_PER_BLOB_GAS" + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x69a811e8f45f523aeea56ba23453d3517ead09052c4d3175d6d74c98947eb288", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Reject an invalid blob transaction.\n\n - tx max_fee_per_blob_gas is barely not enough\n - tx max_fee_per_blob_gas is zero", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip4844_blobs/test_blob_txs.py#L526", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md", + "reference-spec-version": "de2e4a46ad93fc04e6fe3174dc6e90a3307bdb5f" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_before_fork.json b/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_before_fork.json new file mode 100644 index 000000000..d146e9f98 --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_before_fork.json @@ -0,0 +1,102 @@ +{ + "tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_before_fork[fork_Shanghai-state_test-]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x1d4c", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07" + }, + "pre": { + "0xe9414e5ce1d6ddb22fdfc5fd3e9cde9368305aa0": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0xe9414e5ce1d6ddb22fdfc5fd3e9cde9368305ba0": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000600060006000600073e9414e5ce1d6ddb22fdfc5fd3e9cde9368305aa061fffff14755", + "storage": {} + }, + "0x1889ab4c0903004a7d4b724951c5513ab8750f00": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x0f4240" + ], + "to": "0xe9414e5ce1d6ddb22fdfc5fd3e9cde9368305ba0", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "sender": "0x1889ab4c0903004a7d4b724951c5513ab8750f00", + "secretKey": "0x8148cc0fcbbadfc388022f73e9414e5ce1d6ddb22fdfc5fd3e9cde9368305aa0" + }, + "post": { + "Shanghai": [ + { + "hash": "0xb2e54dfbe6bd0d19b27bfedf85aeb473a8881ebfe147ab76206b308eb7d022a5", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a830f424094e9414e5ce1d6ddb22fdfc5fd3e9cde9368305ba0018026a0c4e8c00ff360f90e6197d3f4b9c5da7563153025fd59c9ac6e2bf96efe74c746a0011e78f3dce16b8020134402281305dd9e57afa1f69202beb4bc717039318db9", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xe9414e5ce1d6ddb22fdfc5fd3e9cde9368305aa0": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0xe9414e5ce1d6ddb22fdfc5fd3e9cde9368305ba0": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x6000600060006000600073e9414e5ce1d6ddb22fdfc5fd3e9cde9368305aa061fffff14755", + "storage": {} + }, + "0x1889ab4c0903004a7d4b724951c5513ab8750f00": { + "nonce": "0x01", + "balance": "0x3635c9adc5de920f35", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x042ea3", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "chainid": "0x01" + }, + "_info": { + "hash": "0x921ad2aa23e9dfed873caeb943eb35001093adf58e28cebfdc79c6e6bbbae665", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the BLOBBASEFEE opcode results on exception when called before\n the fork.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py#L162", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7516.md", + "reference-spec-version": "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_out_of_gas.json b/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_out_of_gas.json new file mode 100644 index 000000000..29e6466ae --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_out_of_gas.json @@ -0,0 +1,448 @@ +{ + "tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_out_of_gas[fork_Cancun-state_test-enough_gas]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xc9bab4265d11c21d76a7facafa7f61f206afd68d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0xc9bab4265d11c21d76a7facafa7f61f206afd78d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000600060006000600073c9bab4265d11c21d76a7facafa7f61f206afd68d6002f14755", + "storage": {} + }, + "0xbba0cd937aa23af7175428a749479e016a0b0808": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x0f4240" + ], + "to": "0xc9bab4265d11c21d76a7facafa7f61f206afd78d", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "sender": "0xbba0cd937aa23af7175428a749479e016a0b0808", + "secretKey": "0x3ea1e971845bf70511e524b2c9bab4265d11c21d76a7facafa7f61f206afd68d" + }, + "post": { + "Cancun": [ + { + "hash": "0x857a6f88c6d1219cf39aa95709d1ce4be2d62747cf495637ce5ed53e2f205574", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a830f424094c9bab4265d11c21d76a7facafa7f61f206afd78d018025a08a3f04c1feecdfcd4ff75b0f296d9f3bb0903c213d73c13c27d94be76b0e9a2ba0786ad180bbcfb9ca5ff1cbfe336cdce9e297d99c9c9763a999d66e0c51e2b897", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xc9bab4265d11c21d76a7facafa7f61f206afd68d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0xc9bab4265d11c21d76a7facafa7f61f206afd78d": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x6000600060006000600073c9bab4265d11c21d76a7facafa7f61f206afd68d6002f14755", + "storage": { + "0x01": "0x01" + } + }, + "0xbba0cd937aa23af7175428a749479e016a0b0808": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9905bf", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x0217e0", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xce7f73869bbee65ebc9e6b84d084468209e6d6385c60f2ce7614a769bb138644", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the BLOBBASEFEE opcode fails with insufficient gas.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py#L129", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7516.md", + "reference-spec-version": "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + } + }, + "tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_out_of_gas[fork_Cancun-state_test-out_of_gas]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x28ab22d15214366b7b379868ec1646f2753ec58c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0x28ab22d15214366b7b379868ec1646f2753ec68c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x600060006000600060007328ab22d15214366b7b379868ec1646f2753ec58c6001f14755", + "storage": {} + }, + "0xf1b654e9c1c71087c1e121ba10a25d2dbef7ffcf": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x0f4240" + ], + "to": "0x28ab22d15214366b7b379868ec1646f2753ec68c", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "sender": "0xf1b654e9c1c71087c1e121ba10a25d2dbef7ffcf", + "secretKey": "0x81565f4b5381f7c8c95aa0b228ab22d15214366b7b379868ec1646f2753ec58c" + }, + "post": { + "Cancun": [ + { + "hash": "0xcee4643aaa343ccc92595c3beff96725b6478b5b8f00f9baaa3c428833203d26", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a830f42409428ab22d15214366b7b379868ec1646f2753ec68c018025a012ba051d5b03c1bd2fd79929ba6dfa6b2e0dc4aebd8673b086c890e921c815b5a030f8ac201460b05da3be3162ef56eb861fba98e64b3626dd80c8978c32d8cb0d", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x28ab22d15214366b7b379868ec1646f2753ec58c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0x28ab22d15214366b7b379868ec1646f2753ec68c": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x600060006000600060007328ab22d15214366b7b379868ec1646f2753ec58c6001f14755", + "storage": {} + }, + "0xf1b654e9c1c71087c1e121ba10a25d2dbef7ffcf": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9c0f21", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x012ea9", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x5c09db3fb92c43d69c2e803ffc1c8dac3a2740f2c438d607630eb52d28dc52b0", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the BLOBBASEFEE opcode fails with insufficient gas.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py#L129", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7516.md", + "reference-spec-version": "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + } + }, + "tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_out_of_gas[fork_Prague-state_test-enough_gas]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xc9bab4265d11c21d76a7facafa7f61f206afd68d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0xc9bab4265d11c21d76a7facafa7f61f206afd78d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000600060006000600073c9bab4265d11c21d76a7facafa7f61f206afd68d6002f14755", + "storage": {} + }, + "0xbba0cd937aa23af7175428a749479e016a0b0808": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x0f4240" + ], + "to": "0xc9bab4265d11c21d76a7facafa7f61f206afd78d", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "sender": "0xbba0cd937aa23af7175428a749479e016a0b0808", + "secretKey": "0x3ea1e971845bf70511e524b2c9bab4265d11c21d76a7facafa7f61f206afd68d" + }, + "post": { + "Prague": [ + { + "hash": "0x857a6f88c6d1219cf39aa95709d1ce4be2d62747cf495637ce5ed53e2f205574", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a830f424094c9bab4265d11c21d76a7facafa7f61f206afd78d018025a08a3f04c1feecdfcd4ff75b0f296d9f3bb0903c213d73c13c27d94be76b0e9a2ba0786ad180bbcfb9ca5ff1cbfe336cdce9e297d99c9c9763a999d66e0c51e2b897", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xc9bab4265d11c21d76a7facafa7f61f206afd68d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0xc9bab4265d11c21d76a7facafa7f61f206afd78d": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x6000600060006000600073c9bab4265d11c21d76a7facafa7f61f206afd68d6002f14755", + "storage": { + "0x01": "0x01" + } + }, + "0xbba0cd937aa23af7175428a749479e016a0b0808": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9905bf", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x0217e0", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x0e5beb9324291307850b64cfc5e6a89f6f6a9d24d9d9ad431eb25cf86e673256", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the BLOBBASEFEE opcode fails with insufficient gas.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py#L129", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7516.md", + "reference-spec-version": "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + } + }, + "tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_out_of_gas[fork_Prague-state_test-out_of_gas]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x28ab22d15214366b7b379868ec1646f2753ec58c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0x28ab22d15214366b7b379868ec1646f2753ec68c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x600060006000600060007328ab22d15214366b7b379868ec1646f2753ec58c6001f14755", + "storage": {} + }, + "0xf1b654e9c1c71087c1e121ba10a25d2dbef7ffcf": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x0f4240" + ], + "to": "0x28ab22d15214366b7b379868ec1646f2753ec68c", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "sender": "0xf1b654e9c1c71087c1e121ba10a25d2dbef7ffcf", + "secretKey": "0x81565f4b5381f7c8c95aa0b228ab22d15214366b7b379868ec1646f2753ec58c" + }, + "post": { + "Prague": [ + { + "hash": "0xcee4643aaa343ccc92595c3beff96725b6478b5b8f00f9baaa3c428833203d26", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a830f42409428ab22d15214366b7b379868ec1646f2753ec68c018025a012ba051d5b03c1bd2fd79929ba6dfa6b2e0dc4aebd8673b086c890e921c815b5a030f8ac201460b05da3be3162ef56eb861fba98e64b3626dd80c8978c32d8cb0d", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x28ab22d15214366b7b379868ec1646f2753ec58c": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a00", + "storage": {} + }, + "0x28ab22d15214366b7b379868ec1646f2753ec68c": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x600060006000600060007328ab22d15214366b7b379868ec1646f2753ec58c6001f14755", + "storage": {} + }, + "0xf1b654e9c1c71087c1e121ba10a25d2dbef7ffcf": { + "nonce": "0x01", + "balance": "0x3635c9adc5de9c0f21", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x012ea9", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0xd7ff770981d2a6b99a7d2870cbcb178496e4a6512e4bde4843b97a09578c267c", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the BLOBBASEFEE opcode fails with insufficient gas.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py#L129", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7516.md", + "reference-spec-version": "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_stack_overflow.json b/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_stack_overflow.json new file mode 100644 index 000000000..632f1b79b --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobbasefee_stack_overflow.json @@ -0,0 +1,448 @@ +{ + "tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_stack_overflow[fork_Cancun-state_test-no_stack_overflow]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf5bc49f3058a9669e95ad46689579226e3df5d9d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "storage": {} + }, + "0xf5bc49f3058a9669e95ad46689579226e3df5e9d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000600060006000600073f5bc49f3058a9669e95ad46689579226e3df5d9d61fffff14755", + "storage": {} + }, + "0x3acc196231bc3cdd6915dda3c31f1abb62cccf38": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x0f4240" + ], + "to": "0xf5bc49f3058a9669e95ad46689579226e3df5e9d", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "sender": "0x3acc196231bc3cdd6915dda3c31f1abb62cccf38", + "secretKey": "0x13dcb5f3e7058689df3ac45ff5bc49f3058a9669e95ad46689579226e3df5d9d" + }, + "post": { + "Cancun": [ + { + "hash": "0xe7f0d5a3133cfcc83bea80c340fe891ce100296fdc651f4a2e00e92eda7ca329", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a830f424094f5bc49f3058a9669e95ad46689579226e3df5e9d018025a0ade9e2ad721bb25cb47e9b996fd94b51083dd1faedb9fa03bd61a1458600975aa0686cbb652ee56ef2085a2bac5b09966ad00b6a5babe1d42d086bde456ecf198e", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf5bc49f3058a9669e95ad46689579226e3df5d9d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "storage": {} + }, + "0xf5bc49f3058a9669e95ad46689579226e3df5e9d": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x6000600060006000600073f5bc49f3058a9669e95ad46689579226e3df5d9d61fffff14755", + "storage": { + "0x01": "0x01" + } + }, + "0x3acc196231bc3cdd6915dda3c31f1abb62cccf38": { + "nonce": "0x01", + "balance": "0x3635c9adc5de98b5d3", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x022fda", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x7d4bdc29756343bc22f63b52c6e408077793b620f4c8ef4188b233e8f83e0a18", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the BLOBBASEFEE opcode produces a stack overflow by using it\n repeatedly.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py#L93", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7516.md", + "reference-spec-version": "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + } + }, + "tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_stack_overflow[fork_Cancun-state_test-stack_overflow]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x4a9577328319ef657add4da2bb7ead2f1bcb0205": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "storage": {} + }, + "0x4a9577328319ef657add4da2bb7ead2f1bcb0305": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000600060006000734a9577328319ef657add4da2bb7ead2f1bcb020561fffff14755", + "storage": {} + }, + "0x106f1bf462aec10d708f9882963061b9ec58bdb1": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x0f4240" + ], + "to": "0x4a9577328319ef657add4da2bb7ead2f1bcb0305", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "sender": "0x106f1bf462aec10d708f9882963061b9ec58bdb1", + "secretKey": "0x9b52243980ec4f0e3d8349b84a9577328319ef657add4da2bb7ead2f1bcb0205" + }, + "post": { + "Cancun": [ + { + "hash": "0xeb63f5bfb369869c265763dfa79a24efb3cdaa02d8c3004fd69aa9d760297a6f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a830f4240944a9577328319ef657add4da2bb7ead2f1bcb0305018025a06e94e064e224dc6486b42b4baa5a395692c48869e771070146243469f27959a7a02935977e87e3815798cd9d20e0811439b34ec757d3f418ef63c76f5bcbc802e6", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x4a9577328319ef657add4da2bb7ead2f1bcb0205": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "storage": {} + }, + "0x4a9577328319ef657add4da2bb7ead2f1bcb0305": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x60006000600060006000734a9577328319ef657add4da2bb7ead2f1bcb020561fffff14755", + "storage": {} + }, + "0x106f1bf462aec10d708f9882963061b9ec58bdb1": { + "nonce": "0x01", + "balance": "0x3635c9adc5de920f35", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x042ea3", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x499f8acb8031ce8ade96ef6f88fa3a3fcfa150186682eb1aa0b0dc5d45b307e1", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the BLOBBASEFEE opcode produces a stack overflow by using it\n repeatedly.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py#L93", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7516.md", + "reference-spec-version": "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + } + }, + "tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_stack_overflow[fork_Prague-state_test-no_stack_overflow]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0xf5bc49f3058a9669e95ad46689579226e3df5d9d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "storage": {} + }, + "0xf5bc49f3058a9669e95ad46689579226e3df5e9d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x6000600060006000600073f5bc49f3058a9669e95ad46689579226e3df5d9d61fffff14755", + "storage": {} + }, + "0x3acc196231bc3cdd6915dda3c31f1abb62cccf38": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x0f4240" + ], + "to": "0xf5bc49f3058a9669e95ad46689579226e3df5e9d", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "sender": "0x3acc196231bc3cdd6915dda3c31f1abb62cccf38", + "secretKey": "0x13dcb5f3e7058689df3ac45ff5bc49f3058a9669e95ad46689579226e3df5d9d" + }, + "post": { + "Prague": [ + { + "hash": "0xe7f0d5a3133cfcc83bea80c340fe891ce100296fdc651f4a2e00e92eda7ca329", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a830f424094f5bc49f3058a9669e95ad46689579226e3df5e9d018025a0ade9e2ad721bb25cb47e9b996fd94b51083dd1faedb9fa03bd61a1458600975aa0686cbb652ee56ef2085a2bac5b09966ad00b6a5babe1d42d086bde456ecf198e", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0xf5bc49f3058a9669e95ad46689579226e3df5d9d": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "storage": {} + }, + "0xf5bc49f3058a9669e95ad46689579226e3df5e9d": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x6000600060006000600073f5bc49f3058a9669e95ad46689579226e3df5d9d61fffff14755", + "storage": { + "0x01": "0x01" + } + }, + "0x3acc196231bc3cdd6915dda3c31f1abb62cccf38": { + "nonce": "0x01", + "balance": "0x3635c9adc5de98b5d3", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x022fda", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x2d1893769d6064512b034061fda1e0c7d5ee83160a5d333cc0d333d57fcfa66a", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the BLOBBASEFEE opcode produces a stack overflow by using it\n repeatedly.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py#L93", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7516.md", + "reference-spec-version": "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + } + }, + "tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py::test_blobbasefee_stack_overflow[fork_Prague-state_test-stack_overflow]": { + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentGasLimit": "0x07270e00", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentDifficulty": "0x00", + "currentBaseFee": "0x07", + "currentExcessBlobGas": "0x00" + }, + "pre": { + "0x4a9577328319ef657add4da2bb7ead2f1bcb0205": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "storage": {} + }, + "0x4a9577328319ef657add4da2bb7ead2f1bcb0305": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x60006000600060006000734a9577328319ef657add4da2bb7ead2f1bcb020561fffff14755", + "storage": {} + }, + "0x106f1bf462aec10d708f9882963061b9ec58bdb1": { + "nonce": "0x00", + "balance": "0x3635c9adc5dea00000", + "code": "0x", + "storage": {} + } + }, + "transaction": { + "nonce": "0x00", + "gasPrice": "0x0a", + "gasLimit": [ + "0x0f4240" + ], + "to": "0x4a9577328319ef657add4da2bb7ead2f1bcb0305", + "value": [ + "0x01" + ], + "data": [ + "0x" + ], + "sender": "0x106f1bf462aec10d708f9882963061b9ec58bdb1", + "secretKey": "0x9b52243980ec4f0e3d8349b84a9577328319ef657add4da2bb7ead2f1bcb0205" + }, + "post": { + "Prague": [ + { + "hash": "0xeb63f5bfb369869c265763dfa79a24efb3cdaa02d8c3004fd69aa9d760297a6f", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes": "0xf860800a830f4240944a9577328319ef657add4da2bb7ead2f1bcb0305018025a06e94e064e224dc6486b42b4baa5a395692c48869e771070146243469f27959a7a02935977e87e3815798cd9d20e0811439b34ec757d3f418ef63c76f5bcbc802e6", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "state": { + "0x4a9577328319ef657add4da2bb7ead2f1bcb0205": { + "nonce": "0x01", + "balance": "0x00", + "code": "0x4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "storage": {} + }, + "0x4a9577328319ef657add4da2bb7ead2f1bcb0305": { + "nonce": "0x01", + "balance": "0x01", + "code": "0x60006000600060006000734a9577328319ef657add4da2bb7ead2f1bcb020561fffff14755", + "storage": {} + }, + "0x106f1bf462aec10d708f9882963061b9ec58bdb1": { + "nonce": "0x01", + "balance": "0x3635c9adc5de920f35", + "code": "0x", + "storage": {} + }, + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": { + "nonce": "0x00", + "balance": "0x042ea3", + "code": "0x", + "storage": {} + } + } + } + ] + }, + "config": { + "blobSchedule": { + "Cancun": { + "target": "0x03", + "max": "0x06", + "baseFeeUpdateFraction": "0x32f0ed" + }, + "Prague": { + "target": "0x06", + "max": "0x09", + "baseFeeUpdateFraction": "0x4c6964" + } + }, + "chainid": "0x01" + }, + "_info": { + "hash": "0x2077f601c5a1a055aa9f532fb12f0245b6fe7bd93f0acc3c08835b1fc503fcd6", + "comment": "`execution-specs` generated test", + "filling-transition-tool": "2.18.0rc6", + "description": "Tests that the BLOBBASEFEE opcode produces a stack overflow by using it\n repeatedly.", + "url": "https://github.com/ethereum/execution-specs/blob/tests-v5.4.0/tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py#L93", + "fixture-format": "state_test", + "reference-spec": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7516.md", + "reference-spec-version": "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + } + } +} \ No newline at end of file diff --git a/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py b/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py new file mode 100644 index 000000000..8f59dc79e --- /dev/null +++ b/tests/evm_spec_test/state_tests/cancun/eip7516_blobgasfee/test_blobgasfee_opcode.py @@ -0,0 +1,241 @@ +""" +BLOBBASEFEE opcode tests. + +Tests for [EIP-7516: BLOBBASEFEE opcode](https://eips.ethereum.org/EIPS/eip-7516). +""" + +from itertools import count + +import pytest + +from ethereum_test_tools import ( + Account, + Address, + Alloc, + Block, + BlockchainTestFiller, + Bytecode, + Environment, + StateTestFiller, + Storage, + Transaction, +) +from ethereum_test_tools import Opcodes as Op + +REFERENCE_SPEC_GIT_PATH = "EIPS/eip-7516.md" +REFERENCE_SPEC_VERSION = "dcd2f4ede58a6ed908acd3cc2c198e9f605cbf3b" + +BLOBBASEFEE_GAS = 2 + + +@pytest.fixture +def call_gas() -> int: + """Amount of gas to use when calling the callee code.""" + return 0xFFFF + + +@pytest.fixture +def callee_code() -> Bytecode: + """Bytecode under test, by default, only call the BLOBBASEFEE opcode.""" + return Op.BLOBBASEFEE + Op.STOP + + +@pytest.fixture +def callee_address(pre: Alloc, callee_code: Bytecode) -> Address: + """Address of the account containing the bytecode under test.""" + return pre.deploy_contract(callee_code) + + +@pytest.fixture +def caller_code( + call_gas: int, + callee_address: Address, +) -> Bytecode: + """Bytecode used to call the bytecode containing the BLOBBASEFEE opcode.""" + return Op.SSTORE(Op.SELFBALANCE, Op.CALL(gas=call_gas, address=callee_address)) + + +@pytest.fixture +def caller_pre_storage() -> Storage: + """ + Storage of the account containing the bytecode that calls the test + contract. + """ + return Storage() + + +@pytest.fixture +def caller_address(pre: Alloc, caller_code: Bytecode, caller_pre_storage: Storage) -> Address: + """ + Address of the account containing the bytecode that calls the test + contract. + """ + return pre.deploy_contract(caller_code) + + +@pytest.fixture +def tx(pre: Alloc, caller_address: Address) -> Transaction: + """ + Prepare test transaction, by setting the destination account, the + transaction value, the transaction gas limit, and the transaction data. + """ + return Transaction( + sender=pre.fund_eoa(), + gas_limit=1_000_000, + to=caller_address, + value=1, + ) + + +@pytest.mark.parametrize( + "callee_code,call_fails", + [ + pytest.param(Op.BLOBBASEFEE * 1024, False, id="no_stack_overflow"), + pytest.param(Op.BLOBBASEFEE * 1025, True, id="stack_overflow"), + ], +) +@pytest.mark.valid_from("Cancun") +def test_blobbasefee_stack_overflow( + state_test: StateTestFiller, + pre: Alloc, + caller_address: Address, + callee_address: Address, + tx: Transaction, + call_fails: bool, +) -> None: + """ + Tests that the BLOBBASEFEE opcode produces a stack overflow by using it + repeatedly. + """ + post = { + caller_address: Account( + storage={1: 0 if call_fails else 1}, + ), + callee_address: Account( + balance=0, + ), + } + state_test( + env=Environment(), + pre=pre, + tx=tx, + post=post, + ) + + +@pytest.mark.parametrize( + "call_gas,call_fails", + [ + pytest.param(BLOBBASEFEE_GAS, False, id="enough_gas"), + pytest.param(BLOBBASEFEE_GAS - 1, True, id="out_of_gas"), + ], +) +@pytest.mark.valid_from("Cancun") +def test_blobbasefee_out_of_gas( + state_test: StateTestFiller, + pre: Alloc, + caller_address: Address, + callee_address: Address, + tx: Transaction, + call_fails: bool, +) -> None: + """Tests that the BLOBBASEFEE opcode fails with insufficient gas.""" + post = { + caller_address: Account( + storage={1: 0 if call_fails else 1}, + ), + callee_address: Account( + balance=0, + ), + } + state_test( + env=Environment(), + pre=pre, + tx=tx, + post=post, + ) + + +@pytest.mark.parametrize("caller_pre_storage", [{1: 1}], ids=[""]) +@pytest.mark.valid_at_transition_to("Cancun") +def test_blobbasefee_before_fork( + state_test: StateTestFiller, + pre: Alloc, + caller_address: Address, + callee_address: Address, + tx: Transaction, +) -> None: + """ + Tests that the BLOBBASEFEE opcode results on exception when called before + the fork. + """ + # Fork happens at timestamp 15_000 + timestamp = 7_500 + post = { + caller_address: Account( + storage={1: 0}, + ), + callee_address: Account( + balance=0, + ), + } + state_test( + env=Environment( + timestamp=timestamp, + ), + pre=pre, + tx=tx, + post=post, + ) + + +timestamps = [7_500, 14_999, 15_000] + + +@pytest.mark.parametrize( + "caller_pre_storage", + [{block_number: 0xFF for block_number, _ in enumerate(timestamps, start=1)}], + ids=[""], +) +@pytest.mark.valid_at_transition_to("Cancun") +def test_blobbasefee_during_fork( + blockchain_test: BlockchainTestFiller, + pre: Alloc, + caller_address: Address, + callee_address: Address, + tx: Transaction, +) -> None: + """ + Tests that the BLOBBASEFEE opcode results on exception when called before + the fork and succeeds when called after the fork. + """ + code_caller_post_storage = Storage() + + nonce = count(0) + + blocks = [] + + for block_number, timestamp in enumerate(timestamps, start=1): + blocks.append( + Block( + txs=[tx.with_nonce(next(nonce))], + timestamp=timestamp, + ), + ) + # pre-set storage just to make sure we detect the change + code_caller_post_storage[block_number] = 0 if timestamp < 15_000 else 1 + + post = { + caller_address: Account( + storage=code_caller_post_storage, + ), + callee_address: Account( + balance=0, + ), + } + blockchain_test( + genesis_environment=Environment(), + pre=pre, + blocks=blocks, + post=post, + ) From aa320b9c2164397cafe33160906348f0f2aaaf81 Mon Sep 17 00:00:00 2001 From: LNTUyhy <1261137940@qq.com> Date: Thu, 22 Jan 2026 12:04:05 +0000 Subject: [PATCH 2/2] chore(other): remove evmone submodule configuration --- evmone | 1 - 1 file changed, 1 deletion(-) delete mode 160000 evmone diff --git a/evmone b/evmone deleted file mode 160000 index 67adeb2b0..000000000 --- a/evmone +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 67adeb2b035d20b7f371335123c54424871a77ff