From 60feeaa84d200142df5f4ceef67a984a26dba653 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 16 Jun 2022 18:01:42 -0400 Subject: [PATCH 01/56] adding first filler tests --- .../stExample/01_tloadBeginningTxn.json | 75 +++++++++++++++++ .../stExample/02_tloadAfterStore.json | 75 +++++++++++++++++ .../stExample/03_tloadAfterStoreIs0.json | 75 +++++++++++++++++ GeneralStateTests/stExample/mergeTest.json | 81 ------------------- .../stExample/01_tloadBeginningTxnFiller.yml | 58 +++++++++++++ .../stExample/02_tloadAfterStoreFiller.yml | 57 +++++++++++++ .../stExample/03_tloadAfterStoreIs0Filler.yml | 58 +++++++++++++ .../stExample/04_tloadAfterCallFiller.yml | 70 ++++++++++++++++ .../stExample/mergeTestFiller.yml | 69 ---------------- 9 files changed, 468 insertions(+), 150 deletions(-) create mode 100644 GeneralStateTests/stExample/01_tloadBeginningTxn.json create mode 100644 GeneralStateTests/stExample/02_tloadAfterStore.json create mode 100644 GeneralStateTests/stExample/03_tloadAfterStoreIs0.json delete mode 100644 GeneralStateTests/stExample/mergeTest.json create mode 100644 src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml create mode 100644 src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml create mode 100644 src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml create mode 100644 src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml delete mode 100644 src/GeneralStateTestsFiller/stExample/mergeTestFiller.yml diff --git a/GeneralStateTests/stExample/01_tloadBeginningTxn.json b/GeneralStateTests/stExample/01_tloadBeginningTxn.json new file mode 100644 index 00000000000..1f62e0ff7ef --- /dev/null +++ b/GeneralStateTests/stExample/01_tloadBeginningTxn.json @@ -0,0 +1,75 @@ +{ + "01_tloadBeginningTxn" : { + "_info" : { + "comment" : "load arbitrary value is 0 at beginning of transaction", + "filling-rpc-server" : "evm version 1.10.17-unstable-c89e983e-20220222", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "4b0e1a84249b508196c06dabb638bd919b977f1d93cdb0fe51aad5c89081adf3", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml", + "sourceHash" : "9cd55332a0b1dd66a171122802bb26f3402daf804a6e95b9d52e43fbe4ae3ea3" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x297109162753d4499c48c764cc6b9520ca43b777fed9a81d3f4192578cbb42b9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d0871000000000000094000000000000000000000000000000000000000a8080c001a0371c3eaf9c37702b54b3c60b876db06cb3b1696aad73a1c75e69f5ec6be3b948a01bca3cd059fd1a07106a68a75a6deca879c6d9aecda55a68bcb0163c67b7e787" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b3600155", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x10000000000000" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/02_tloadAfterStore.json b/GeneralStateTests/stExample/02_tloadAfterStore.json new file mode 100644 index 00000000000..2b94db59c53 --- /dev/null +++ b/GeneralStateTests/stExample/02_tloadAfterStore.json @@ -0,0 +1,75 @@ +{ + "02_tloadAfterStore" : { + "_info" : { + "comment" : "load after storing returns correct value", + "filling-rpc-server" : "evm version 1.10.17-unstable-c89e983e-20220222", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "b334b1e0e07f84a0cfbe9734a379e8bcc2b5001bf273683fecf6a40754939558", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml", + "sourceHash" : "d28bd8c4c4d53044a5f0ec279d9174865aed4f81d964a41514ab09a2c04a8a90" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x51d09a8e311448b6b506532b358cd3271c568ac7a56a521582eb72792f7a11fc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f869018080820fa0871000000000000094000000000000000000000000000000000000000a8080c001a0265982b28582156178323a10f893819c0198e299d3563732d1ab953071309fa1a00e5e9711949eb422c3d73b15f1a7cdbb1ae105002f6b6b792607803576577e91" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6058600155", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x10000000000000" + ], + "maxFeePerGas" : "0x0fa0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json b/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json new file mode 100644 index 00000000000..4b427a4c044 --- /dev/null +++ b/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json @@ -0,0 +1,75 @@ +{ + "03_tloadAfterStoreIs0" : { + "_info" : { + "comment" : "Loading any other slot after storing to a slot returns 0.", + "filling-rpc-server" : "evm version 1.10.17-unstable-c89e983e-20220222", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "7931e5ad42ab02d3566337cdff9840e586f68de508e37afdc12fa339ce759dc6", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml", + "sourceHash" : "8cfb6796d6cbc32f6aa0955081c63045c8d6107902ca4021c6d2fba4ffb39d19" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0xa7d850d1cc240ece4cb0976e866e10c11c84f622f3d94de5aa41c9ea290378aa", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x601e6000b46001b3600055", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/mergeTest.json b/GeneralStateTests/stExample/mergeTest.json deleted file mode 100644 index 977c490747d..00000000000 --- a/GeneralStateTests/stExample/mergeTest.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "mergeTest" : { - "_info" : { - "comment" : "Example of PoS merge state test", - "filling-rpc-server" : "evm version 1.10.17-unstable-c9c4a1a4-20220316", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.764be094.Linux.g++", - "generatedTestHash" : "d638e1010c6da687b7f8f58893b768a16649c9407a8774bafd834f71f89dc7c0", - "lllcversion" : "Version: 0.5.14-develop.2021.11.27+commit.401d5358.Linux.g++", - "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/mergeTestFiller.yml", - "sourceHash" : "eec9a80e11e6821f9501f4fa3d896f582dd40a7655366f0d40c55e005efa7384" - }, - "env" : { - "currentBaseFee" : "0x03e8", - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", - "currentGasLimit" : "0x01000000", - "currentNumber" : "0x01", - "currentRandom" : "0x1500000000000000000000000000000000000000000000000000000000000000", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" - }, - "post" : { - "Merge" : [ - { - "hash" : "0xd4f2185ab82a4ae3b8d82179153697aa6fde5c6cf829d3ef563a9e97fb0429c8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - }, - "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "txbytes" : "0x02f8c101010a8207d0833d090094cccccccccccccccccccccccccccccccccccccccc8000f85bf85994ccccccccccccccccccccccccccccccccccccccccf842a00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000180a0d671815898b8dd34321adbba4cb6a57baa7017323c26946f3719b00e70c755c2a03528b9efe3be57ea65a933d1e6bbf3b7d0c78830138883c1201e0c641fee6464" - } - ] - }, - "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } - }, - "0xcccccccccccccccccccccccccccccccccccccccc" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x3a600055486001554460025500", - "nonce" : "0x01", - "storage" : { - } - } - }, - "transaction" : { - "accessLists" : [ - [ - { - "address" : "0xcccccccccccccccccccccccccccccccccccccccc", - "storageKeys" : [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ] - } - ] - ], - "data" : [ - "0x00" - ], - "gasLimit" : [ - "0x3d0900" - ], - "maxFeePerGas" : "0x07d0", - "maxPriorityFeePerGas" : "0x0a", - "nonce" : "0x01", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "to" : "0xcccccccccccccccccccccccccccccccccccccccc", - "value" : [ - "0x00" - ] - } - } -} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml b/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml new file mode 100644 index 00000000000..6a75f80f531 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml @@ -0,0 +1,58 @@ +# 01 +# Loading an arbitrary value is 0 at beginning of transaction: TLOAD(x) is 0 +# +# Expect storage slot 1 to have value 0. +# Bytecode generated with etk. + +01_tloadBeginningTxn: + _info: + comment: load arbitrary value is 0 at beginning of transaction + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: :raw 0x6000b3600155 + storage: {} + + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: 0x + accessList: [] + gasLimit: + - 0x10000000000000 + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + # The result we expect + 0x01: 0 diff --git a/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml new file mode 100644 index 00000000000..3a1241bf323 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml @@ -0,0 +1,57 @@ +# 02 +# Loading after storing returns the stored value: TSTORE(x, y), TLOAD(x) returns y +# +# Expect storage slot 1 to have value 88 + +02_tloadAfterStore: + _info: + comment: load after storing returns correct value + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: :raw 0x60586000b46000b3600155 + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: 0x + accessList: [] + gasLimit: + - 0x10000000000000 + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 4000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + # The result we expect + 0x01: 88 diff --git a/src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml b/src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml new file mode 100644 index 00000000000..5692b35d785 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml @@ -0,0 +1,58 @@ +# 03 +# Loading any other slot after storing to a slot returns 0: TSTORE(x, y), TLOAD(x + n) where n > 0 returns 0 +# +# Expect storage slot 0 to have value 0 +# Ex 1) stores 30 at slot 0, loads from slot 1, expects storage slot 0 to have 0 + +03_tloadAfterStoreIs0: + _info: + comment: Loading any other slot after storing to a slot returns 0. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: :raw 0x601e6000b46001b3600055 + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: 0x + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + # The result we expect + 0x00: 0 diff --git a/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml b/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml new file mode 100644 index 00000000000..1c1c988649c --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml @@ -0,0 +1,70 @@ +# 04 +# Contracts have separate transient storage. +# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# +# Expect addressA to load correct value. Expect addressA call to succeed. +# Expect addressB to load 0. + +04_tloadAfterCall: + _info: + comment: Loading a slot after a call to another contract is 0. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: :raw 0x600a6000b4600060006020600060007f000000000000000000000000000000000000000000000000000000000000000b61fffff16001556000b3600055 + storage: {} + 000000000000000000000000000000000000000B: + balance: 1000000000000000000 + nonce: 0 + code: :raw 0x6000b3600055 + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: 0x + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + # expect 10 at slot 0 + # expect 1 (successful call) at slot 1 + 0x00: 10 + 0x01: 1 + 000000000000000000000000000000000000000B: + storage: + # expect 0 + 0x00: 0 diff --git a/src/GeneralStateTestsFiller/stExample/mergeTestFiller.yml b/src/GeneralStateTestsFiller/stExample/mergeTestFiller.yml deleted file mode 100644 index 027500e29c9..00000000000 --- a/src/GeneralStateTestsFiller/stExample/mergeTestFiller.yml +++ /dev/null @@ -1,69 +0,0 @@ -mergeTest: - _info: - comment: Example of PoS merge state test - - env: - currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba - currentNumber: 1 - currentTimestamp: 1000 - currentGasLimit: 0x1000000 - previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 - currentBaseFee: 1000 - currentRandom: 0x1500000000000000000000000000000000000000000000000000000000000000 - - pre: - cccccccccccccccccccccccccccccccccccccccc: - balance: '1000000000000000000' - code: | - { - (sstore 0 (gasprice)) - (sstore 1 (basefee)) - (sstore 2 (difficulty)) - } - nonce: 1 - storage: {} - - - a94f5374fce5edbc8e2a8697c15331677e6ebf0b: - balance: '1000000000000000000' - code: '0x' - nonce: 1 - storage: {} - - - transaction: - data: - - data: :raw 0x00 - accessList: - - address: 0xcccccccccccccccccccccccccccccccccccccccc - storageKeys: - - 0x00 - - 0x01 - gasLimit: - - 4000000 - nonce: 1 - to: cccccccccccccccccccccccccccccccccccccccc - value: - - 0 - secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" - - # New in London because of EIP 1559 - maxPriorityFeePerGas: 10 - maxFeePerGas: 2000 - - - expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: - - 'Merge' - result: - cccccccccccccccccccccccccccccccccccccccc: - nonce: 1 - storage: - 0x00: 1010 # GASPRICE - 0x01: 1000 # BASEFEE - 0x02: 0x1500000000000000000000000000000000000000000000000000000000000000 # Difficulty (Random) From c80e8ec8036d724d157d1bfdce44a5ade7bb89b8 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 23 Jun 2022 16:48:01 -0400 Subject: [PATCH 02/56] replace bytecode with yul --- .../stExample/01_tloadBeginningTxn.json | 10 +- .../stExample/02_tloadAfterStore.json | 10 +- .../stExample/03_tloadAfterStoreIs0.json | 10 +- .../stExample/04_tloadAfterCall.json | 82 ++++++++++++++ .../stExample/05_tloadReentrancy.json | 75 +++++++++++++ .../stExample/01_tloadBeginningTxnFiller.yml | 7 +- .../stExample/02_tloadAfterStoreFiller.yml | 9 +- .../stExample/03_tloadAfterStoreIs0Filler.yml | 7 +- .../stExample/04_tloadAfterCallFiller.yml | 19 +++- .../stExample/05_tloadReentrancyFiller.yml | 100 ++++++++++++++++++ 10 files changed, 306 insertions(+), 23 deletions(-) create mode 100644 GeneralStateTests/stExample/04_tloadAfterCall.json create mode 100644 GeneralStateTests/stExample/05_tloadReentrancy.json create mode 100644 src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml diff --git a/GeneralStateTests/stExample/01_tloadBeginningTxn.json b/GeneralStateTests/stExample/01_tloadBeginningTxn.json index 1f62e0ff7ef..e5ee79d972c 100644 --- a/GeneralStateTests/stExample/01_tloadBeginningTxn.json +++ b/GeneralStateTests/stExample/01_tloadBeginningTxn.json @@ -2,13 +2,13 @@ "01_tloadBeginningTxn" : { "_info" : { "comment" : "load arbitrary value is 0 at beginning of transaction", - "filling-rpc-server" : "evm version 1.10.17-unstable-c89e983e-20220222", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "4b0e1a84249b508196c06dabb638bd919b977f1d93cdb0fe51aad5c89081adf3", + "generatedTestHash" : "dc22126f9e87dda04f196fff7a9314c102c42f67d2dd2615e9ef3fc06ec32bcc", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml", - "sourceHash" : "9cd55332a0b1dd66a171122802bb26f3402daf804a6e95b9d52e43fbe4ae3ea3" + "sourceHash" : "efe26a9788fce1c49b3bdda1f1cec009c01ccaab35ae74dd1897a5f83bfa7c8a" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x297109162753d4499c48c764cc6b9520ca43b777fed9a81d3f4192578cbb42b9", + "hash" : "0xb13e237dec791ae37f8d6759c36d876bc6b1865c91f9217d7ae28c108d5761ab", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000b3600155", + "code" : "0x6000b38060015550", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stExample/02_tloadAfterStore.json b/GeneralStateTests/stExample/02_tloadAfterStore.json index 2b94db59c53..24f74428d16 100644 --- a/GeneralStateTests/stExample/02_tloadAfterStore.json +++ b/GeneralStateTests/stExample/02_tloadAfterStore.json @@ -2,13 +2,13 @@ "02_tloadAfterStore" : { "_info" : { "comment" : "load after storing returns correct value", - "filling-rpc-server" : "evm version 1.10.17-unstable-c89e983e-20220222", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "b334b1e0e07f84a0cfbe9734a379e8bcc2b5001bf273683fecf6a40754939558", + "generatedTestHash" : "f9d52c77e7cfdba8d40afa2579d591016b07ccce837750e24ba9b637122945c8", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml", - "sourceHash" : "d28bd8c4c4d53044a5f0ec279d9174865aed4f81d964a41514ab09a2c04a8a90" + "sourceHash" : "0eb77be219bc07e1be5d552ad724237a20dc7ea1fb3ac764f25fed015d61d660" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x51d09a8e311448b6b506532b358cd3271c568ac7a56a521582eb72792f7a11fc", + "hash" : "0xe2b2388de256ec2cc82b7c93909c1e99bd4f637e5c02dc31c4fb524e6eb030fc", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6058600155", + "code" : "0x60586000b46000b38060015550", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json b/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json index 4b427a4c044..e4fea0276e4 100644 --- a/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json +++ b/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json @@ -2,13 +2,13 @@ "03_tloadAfterStoreIs0" : { "_info" : { "comment" : "Loading any other slot after storing to a slot returns 0.", - "filling-rpc-server" : "evm version 1.10.17-unstable-c89e983e-20220222", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "7931e5ad42ab02d3566337cdff9840e586f68de508e37afdc12fa339ce759dc6", + "generatedTestHash" : "f5cfc970b2739e231f796adb72c9f5d277ab2542be5514e1728abbf9ab450f03", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml", - "sourceHash" : "8cfb6796d6cbc32f6aa0955081c63045c8d6107902ca4021c6d2fba4ffb39d19" + "sourceHash" : "9613c12ffafd8d626a5e1d976ca819ae22d28f6c139d086f38166bbb70c4feb5" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0xa7d850d1cc240ece4cb0976e866e10c11c84f622f3d94de5aa41c9ea290378aa", + "hash" : "0x7f62165f889fdd180c75e0c8257c0a56c5b947ab44386adc108fe8dde90921c5", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x601e6000b46001b3600055", + "code" : "0x601e6000b46001b38060005550", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stExample/04_tloadAfterCall.json b/GeneralStateTests/stExample/04_tloadAfterCall.json new file mode 100644 index 00000000000..e8997e68fa3 --- /dev/null +++ b/GeneralStateTests/stExample/04_tloadAfterCall.json @@ -0,0 +1,82 @@ +{ + "04_tloadAfterCall" : { + "_info" : { + "comment" : "Loading a slot after a call to another contract is 0.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "286a13c0e135cc7650793a82bac2965bdd2af944c6940bbcdc184b50b7325903", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml", + "sourceHash" : "41f1288832a90866db73b3c1a90fb5f4783e3a296612e3d71f7df89576178f34" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0xde1d365bb125f5af4368671808f82faba1f30d152a6e51d7d513a0cd8f3defeb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600a6000b460006000602060006000600b61fffff16000b380600055816001555050", + "nonce" : "0x00", + "storage" : { + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b38060005550", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/05_tloadReentrancy.json b/GeneralStateTests/stExample/05_tloadReentrancy.json new file mode 100644 index 00000000000..9e58598f199 --- /dev/null +++ b/GeneralStateTests/stExample/05_tloadReentrancy.json @@ -0,0 +1,75 @@ +{ + "05_tloadReentrancy" : { + "_info" : { + "comment" : "Reentrant calls access the same transient storage.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "a79920e782bf3968c1ca37382dbe721155942a861a4965fc59b8161df174b03b", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml", + "sourceHash" : "e4954814ef5c336e49a09ccdcda52d8a91f91ce91bf46700e5e9c40ce124a0e4" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x828251f6e8b607ffcab6a85916545bd78ce5a08efd9b988217d0617409901152", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6005608c565b6343ac1c398114602257633f3716928114602c5760006002556033565b60286038565b6033565b60326043565b5b5060b8565b6000b380600155505b565b60506000b47f43ac1c390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b3806000558160025550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x3f371692" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml b/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml index 6a75f80f531..95b4951c80a 100644 --- a/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml @@ -2,7 +2,6 @@ # Loading an arbitrary value is 0 at beginning of transaction: TLOAD(x) is 0 # # Expect storage slot 1 to have value 0. -# Bytecode generated with etk. 01_tloadBeginningTxn: _info: @@ -20,7 +19,11 @@ 000000000000000000000000000000000000000A: balance: 1000000000000000000 nonce: 0 - code: :raw 0x6000b3600155 + code: | + :yul { + let val := verbatim_1i_1o(hex"b3", 0) + sstore(1, val) + } storage: {} a94f5374fce5edbc8e2a8697c15331677e6ebf0b: diff --git a/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml index 3a1241bf323..ebc22621750 100644 --- a/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml @@ -20,7 +20,14 @@ 000000000000000000000000000000000000000A: balance: 1000000000000000000 nonce: 0 - code: :raw 0x60586000b46000b3600155 + code: | + :yul { + // tstore + verbatim_2i_0o(hex"b4", 0, 88) + // tload + let val := verbatim_1i_1o(hex"b3", 0) + sstore(1, val) + } storage: {} a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 diff --git a/src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml b/src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml index 5692b35d785..3064667dea5 100644 --- a/src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml +++ b/src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml @@ -21,7 +21,12 @@ 000000000000000000000000000000000000000A: balance: 1000000000000000000 nonce: 0 - code: :raw 0x601e6000b46001b3600055 + code: | + :yul { + verbatim_2i_0o(hex"b4", 0, 30) + let val := verbatim_1i_1o(hex"b3", 1) + sstore(0, val) + } storage: {} a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 diff --git a/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml b/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml index 1c1c988649c..169d07d5fb5 100644 --- a/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml @@ -2,8 +2,8 @@ # Contracts have separate transient storage. # Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 # -# Expect addressA to load correct value. Expect addressA call to succeed. -# Expect addressB to load 0. +# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). +# Expect storage slot 0 of address a to be 0. 04_tloadAfterCall: _info: @@ -22,12 +22,23 @@ 000000000000000000000000000000000000000A: balance: 1000000000000000000 nonce: 0 - code: :raw 0x600a6000b4600060006020600060007f000000000000000000000000000000000000000000000000000000000000000b61fffff16001556000b3600055 + code: | + :yul { + verbatim_2i_0o(hex"b4", 0, 10) + let success := call(0xffff, 0x000000000000000000000000000000000000000B, 0, 0, 32, 0, 0) + let val := verbatim_1i_1o(hex"b3", 0) + sstore(0, val) + sstore(1, success) + } storage: {} 000000000000000000000000000000000000000B: balance: 1000000000000000000 nonce: 0 - code: :raw 0x6000b3600055 + code: | + :yul { + let val := verbatim_1i_1o(hex"b3", 0) + sstore(0, val) + } storage: {} a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 diff --git a/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml new file mode 100644 index 00000000000..2ee4f76d84c --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml @@ -0,0 +1,100 @@ +# 05 +# Reentrant calls access the same transient storage: TSTORE(x, y), CALL(self, ...), TLOAD(x) returns y. +# +# Expect slot 0 to have 80 from the first tstore & tload. +# Expect slot 1 to have 80 from the re-entered call. +# Expect slot 2 to have 1 (for successful call). + +05_tloadReentrancy: + _info: + comment: Reentrant calls access the same transient storage. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + // doLoad() + case 0x43ac1c39 { + doLoad() + } + + // doReenter() + case 0x3f371692 { + doReenter() + } + + default { + sstore(2, 0) + } + + function doLoad() { + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + + function doReenter() { + // tstore + verbatim_2i_0o(hex"b4", 0, 80) + mstore(0, hex"43ac1c39") + let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + // tload + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + sstore(2, success) + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doReenter() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + # expect 80 at slot 0 + # expect 1 (successful call) at slot 1 + 0x00: 80 + 0x01: 80 + 0x02: 1 From d5f1958d826a64cdb44e6971e03163cc42571b40 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 24 Jun 2022 12:54:34 -0400 Subject: [PATCH 03/56] reentrancy tests --- .../06_tloadBeforeReentrancyStore.json | 75 ++++++++++++ .../07_tloadAfterReentrancyStore.json | 75 ++++++++++++ .../06_tloadBeforeReentrancyStoreFiller.yml | 113 +++++++++++++++++ .../07_tloadAfterReentrancyStoreFiller.yml | 114 ++++++++++++++++++ 4 files changed, 377 insertions(+) create mode 100644 GeneralStateTests/stExample/06_tloadBeforeReentrancyStore.json create mode 100644 GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json create mode 100644 src/GeneralStateTestsFiller/stExample/06_tloadBeforeReentrancyStoreFiller.yml create mode 100644 src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml diff --git a/GeneralStateTests/stExample/06_tloadBeforeReentrancyStore.json b/GeneralStateTests/stExample/06_tloadBeforeReentrancyStore.json new file mode 100644 index 00000000000..3b5eb27f847 --- /dev/null +++ b/GeneralStateTests/stExample/06_tloadBeforeReentrancyStore.json @@ -0,0 +1,75 @@ +{ + "06_tloadBeforeReentrancyStore" : { + "_info" : { + "comment" : "Reentrant calls access the same transient storage.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "039278916551ecac93337f3ec94653463fa6eaa7dd55c9e2da287a7a46601041", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/06_tloadBeforeReentrancyStoreFiller.yml", + "sourceHash" : "c624ca48f1e5231397a5c020b5081eb0465add522e85b3e8c097dfc91cd25ce3" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x3c362ee2d340d71c675842a45ccec5abc0729343a4702cbdf92166cca68325fd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560ae565b630accf7398114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c605a565b6047565b60466065565b5b5060da565b605a6000b46057605a565b5b565b6000b380600155505b565b60506000b46000b3806000557f0accf7390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060025550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x3f371692" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json b/GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json new file mode 100644 index 00000000000..9757ef121df --- /dev/null +++ b/GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json @@ -0,0 +1,75 @@ +{ + "07_tloadAfterReentrancyStore" : { + "_info" : { + "comment" : "Reentrant calls access the same transient storage.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "301b46dba2bcfd3701d01cb22f67a6042512f5a04ea561f0be41e3297ec7df9c", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml", + "sourceHash" : "7cbb4725d632675a52a43675a2ee344feca09916f2877902aaf4c5227c99fdb9" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x9fdb16e888093ae3ab6ae149e5864753f4a0f438f0e63a2cf0f6944bd05841d0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560ae565b6362fdb9be8114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c6054565b6047565b6046605f565b5b5060da565b604e6000b45b565b6000b380600155505b565b60376000b46000b3806000557f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060025560a96054565b50505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x3f371692" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExample/06_tloadBeforeReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/06_tloadBeforeReentrancyStoreFiller.yml new file mode 100644 index 00000000000..b060378d72c --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/06_tloadBeforeReentrancyStoreFiller.yml @@ -0,0 +1,113 @@ +# 06 +# Reentrant calls can manipulate the same transient storage: TSTORE(x, y), CALL(self, ...), TSTORE(x, z), TLOAD(x) returns z +# +# Expect slot 0 to have 80 from the first tstore & tload. +# Expect slot 1 to have 90 from the re-entered call. +# Expect slot 2 to have 1 (for successful call). + +06_tloadBeforeReentrancyStore: + _info: + comment: Reentrant calls access the same transient storage. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + // doStoreAndLoad() { + case 0x0accf739 { + doStoreAndLoad() + } + + // doLoad() + case 0x43ac1c39 { + doLoad() + } + + // doReenter() + case 0x3f371692 { + doReenter() + } + + default { + sstore(2, 0) + } + + function doStoreAndLoad() { + verbatim_2i_0o(hex"b4", 0, 90) + doLoad() + } + + function doLoad() { + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + + function doReenter() { + // tstore + verbatim_2i_0o(hex"b4", 0, 80) + + // tload + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + + mstore(0, hex"0accf739") + let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + sstore(2, success) + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doReenter() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + # expect 80 at slot 0 + # expect 90 at slot 1 + # expect 1 (successful call) at slot 1 + 0x00: 80 + 0x01: 90 + 0x02: 1 diff --git a/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml new file mode 100644 index 00000000000..e1cd2d04c46 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml @@ -0,0 +1,114 @@ +# 06 +# Reentrant calls can manipulate the same transient storage: TSTORE(x, y), CALL(self, ...), TSTORE(x, z), TLOAD(x) returns z +# +# Expect slot 0 to have 55 from the first tstore & tload. +# Expect slot 1 to have 78 after the return from the call. +# Expect slot 2 to have 1 (for successful call). + +07_tloadAfterReentrancyStore: + _info: + comment: Reentrant calls access the same transient storage. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + // doStore() { + case 0x62fdb9be { + doStore() + } + + // doLoad() + case 0x43ac1c39 { + doLoad() + } + + // doReenter() + case 0x3f371692 { + doReenter() + } + + default { + sstore(2, 0) + } + + function doStore() { + verbatim_2i_0o(hex"b4", 0, 78) + } + + function doLoad() { + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + + function doReenter() { + // tstore + verbatim_2i_0o(hex"b4", 0, 55) + + // tload + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + + mstore(0, hex"62fdb9be") + let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + sstore(2, success) + + doLoad() + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doReenter() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + # expect 80 at slot 0 + # expect 90 at slot 1 + # expect 1 (successful call) at slot 1 + 0x00: 55 + 0x01: 78 + 0x02: 1 From d8595b07260e32e29b3546e23d98107634b04462 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 24 Jun 2022 13:54:09 -0400 Subject: [PATCH 04/56] cleanup and revert test --- .gitignore | 1 + .../stExample/02_tloadAfterStore.json | 2 +- .../stExample/05_tloadReentrancy.json | 2 +- ...re.json => 06_tstoreInReentrancyCall.json} | 8 +- .../08_revertUndoesTransientStore.json | 75 ++++++++++++ .../stExample/02_tloadAfterStoreFiller.yml | 2 + .../stExample/05_tloadReentrancyFiller.yml | 2 + ...ml => 06_tstoreInReentrancyCallFiller.yml} | 4 +- .../07_tloadAfterReentrancyStoreFiller.yml | 4 +- .../08_revertUndoesTransientStoreFiller.yml | 115 ++++++++++++++++++ 10 files changed, 205 insertions(+), 10 deletions(-) rename GeneralStateTests/stExample/{06_tloadBeforeReentrancyStore.json => 06_tstoreInReentrancyCall.json} (92%) create mode 100644 GeneralStateTests/stExample/08_revertUndoesTransientStore.json rename src/GeneralStateTestsFiller/stExample/{06_tloadBeforeReentrancyStoreFiller.yml => 06_tstoreInReentrancyCallFiller.yml} (98%) create mode 100644 src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml diff --git a/.gitignore b/.gitignore index 0320a22a8a9..a2ee3800e04 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ src/GenStateTestAsBcTemp/ /BlockchainTests/InvalidBlocks/bcExpectSection* /BlockchainTests/GeneralStateTests/stExpectSection* /GeneralStateTests/stExpectSection* +config/ diff --git a/GeneralStateTests/stExample/02_tloadAfterStore.json b/GeneralStateTests/stExample/02_tloadAfterStore.json index 24f74428d16..dc376f790c7 100644 --- a/GeneralStateTests/stExample/02_tloadAfterStore.json +++ b/GeneralStateTests/stExample/02_tloadAfterStore.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml", - "sourceHash" : "0eb77be219bc07e1be5d552ad724237a20dc7ea1fb3ac764f25fed015d61d660" + "sourceHash" : "85cc4da4e4c95ab2549af5d12838097bc7039736696ca49adfe0b6dd616e1fdb" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stExample/05_tloadReentrancy.json b/GeneralStateTests/stExample/05_tloadReentrancy.json index 9e58598f199..4806f7d938f 100644 --- a/GeneralStateTests/stExample/05_tloadReentrancy.json +++ b/GeneralStateTests/stExample/05_tloadReentrancy.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml", - "sourceHash" : "e4954814ef5c336e49a09ccdcda52d8a91f91ce91bf46700e5e9c40ce124a0e4" + "sourceHash" : "2264d32eac66059436357018131e3991a767bdfba2e9225689e83572cd22779f" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stExample/06_tloadBeforeReentrancyStore.json b/GeneralStateTests/stExample/06_tstoreInReentrancyCall.json similarity index 92% rename from GeneralStateTests/stExample/06_tloadBeforeReentrancyStore.json rename to GeneralStateTests/stExample/06_tstoreInReentrancyCall.json index 3b5eb27f847..d83cd1fdec6 100644 --- a/GeneralStateTests/stExample/06_tloadBeforeReentrancyStore.json +++ b/GeneralStateTests/stExample/06_tstoreInReentrancyCall.json @@ -1,14 +1,14 @@ { - "06_tloadBeforeReentrancyStore" : { + "06_tstoreInReentrancyCall" : { "_info" : { "comment" : "Reentrant calls access the same transient storage.", "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "039278916551ecac93337f3ec94653463fa6eaa7dd55c9e2da287a7a46601041", + "generatedTestHash" : "078841639a73b0523759fa0e3087a20e32b8c9e2cb264229f4e53991d06af501", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/06_tloadBeforeReentrancyStoreFiller.yml", - "sourceHash" : "c624ca48f1e5231397a5c020b5081eb0465add522e85b3e8c097dfc91cd25ce3" + "source" : "src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml", + "sourceHash" : "efc734a2c21672c9f4d4598603de1e1cf7b163b49fdb53e74ccedb4a98f203d9" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stExample/08_revertUndoesTransientStore.json b/GeneralStateTests/stExample/08_revertUndoesTransientStore.json new file mode 100644 index 00000000000..174d0352478 --- /dev/null +++ b/GeneralStateTests/stExample/08_revertUndoesTransientStore.json @@ -0,0 +1,75 @@ +{ + "08_revertUndoesTransientStore" : { + "_info" : { + "comment" : "Revert undoes the transient storage writes from a call.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "0168d8aee678c8036264d678217ec4bea4ed1257273105700c1fc9219a1fa069", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml", + "sourceHash" : "00d7d817ce9b95474cf10acf91be3086ccc4fc2bb189fed40c47e26c08247a77" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x6ed625f68028b57986a8370ffc8390fcddbc25e8a75e5804025a227509597cc7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560b3565b63e2da2eb08114602c576343ac1c398114603657633f371692811460405760016002556047565b6032604c565b6047565b603c6059565b6047565b60466064565b5b5060df565b600b6000b460006000fd5b565b6000b380600155505b565b600a6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060025560ae6059565b50505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x3f371692" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml index ebc22621750..682cdbdc7c3 100644 --- a/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml @@ -24,8 +24,10 @@ :yul { // tstore verbatim_2i_0o(hex"b4", 0, 88) + // tload let val := verbatim_1i_1o(hex"b3", 0) + sstore(1, val) } storage: {} diff --git a/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml index 2ee4f76d84c..64376b5a214 100644 --- a/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml @@ -48,8 +48,10 @@ function doReenter() { // tstore verbatim_2i_0o(hex"b4", 0, 80) + mstore(0, hex"43ac1c39") let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + // tload let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) diff --git a/src/GeneralStateTestsFiller/stExample/06_tloadBeforeReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml similarity index 98% rename from src/GeneralStateTestsFiller/stExample/06_tloadBeforeReentrancyStoreFiller.yml rename to src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml index b060378d72c..bb0fb85efa5 100644 --- a/src/GeneralStateTestsFiller/stExample/06_tloadBeforeReentrancyStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml @@ -5,7 +5,7 @@ # Expect slot 1 to have 90 from the re-entered call. # Expect slot 2 to have 1 (for successful call). -06_tloadBeforeReentrancyStore: +06_tstoreInReentrancyCall: _info: comment: Reentrant calls access the same transient storage. @@ -62,7 +62,7 @@ // tload let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) - + mstore(0, hex"0accf739") let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) sstore(2, success) diff --git a/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml index e1cd2d04c46..d90af523026 100644 --- a/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml @@ -1,5 +1,5 @@ -# 06 -# Reentrant calls can manipulate the same transient storage: TSTORE(x, y), CALL(self, ...), TSTORE(x, z), TLOAD(x) returns z +# 07 +# Successfully returned calls do not revert transient storage writes: TSTORE(x, y), CALL(self, ...), TSTORE(x, z), RETURN, TLOAD(x) returns z # # Expect slot 0 to have 55 from the first tstore & tload. # Expect slot 1 to have 78 after the return from the call. diff --git a/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml new file mode 100644 index 00000000000..95e03d89a49 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml @@ -0,0 +1,115 @@ +# 08 +# Revert undoes the transient storage write from the failed call: TSTORE(x, y), CALL(self, ...), TSTORE(x, z), REVERT, TLOAD(x) returns y +# +# Expect slot 0 to have 10 from the first tstore & tload. +# Expect slot 1 to have 10 after the return from the call. +# Expect slot 2 to have 0 (for unsuccessful call). + +08_revertUndoesTransientStore: + _info: + comment: Revert undoes the transient storage writes from a call. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + // doStoreAndRevert() { + case 0xe2da2eb0 { + doStoreAndRevert() + } + + // doLoad() + case 0x43ac1c39 { + doLoad() + } + + // doReenter() + case 0x3f371692 { + doReenter() + } + + default { + sstore(2, 1) + } + + function doStoreAndRevert() { + verbatim_2i_0o(hex"b4", 0, 11) + revert(0, 0) + } + + function doLoad() { + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + + function doReenter() { + // tstore + verbatim_2i_0o(hex"b4", 0, 10) + + // tload + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + + mstore(0, hex"e2da2eb0") + let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + sstore(2, success) + + doLoad() + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doReenter() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + # expect 10 at slot 0 + # expect 10 at slot 1 + # expect 0 (unsuccessful call) at slot 0 + 0x00: 10 + 0x01: 10 + 0x02: 0 From 065efd849e9c04c7d7ca36a375b7fc584438c937 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 24 Jun 2022 17:30:18 -0400 Subject: [PATCH 05/56] revert after return --- .../10_revertUndoesStoreAfterReturn.json | 75 ++++++++++++ .../10_revertUndoesStoreAfterReturnFiller.yml | 113 ++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json create mode 100644 src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml diff --git a/GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json new file mode 100644 index 00000000000..19a9ba8bc03 --- /dev/null +++ b/GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json @@ -0,0 +1,75 @@ +{ + "10_revertUndoesStoreAfterReturn" : { + "_info" : { + "comment" : "Revert undoes the transient storage writes after a successful call.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "9bd2fe55aa144c47057895d24e12d68a3148b9dd7569b64c1d9a6c8af4727e92", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml", + "sourceHash" : "b3502f05a96d5034d2aba363be4d3225090bb0c93e397df21121058239646d89" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x1b0fd1417c19251e31263b362efaf7c4bdbc5d68f468432bfc64780f600c905b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a808470ac643ec001a00d8dd48064b8cff55ab4b25edcee6337b0dee8daaa15a2e3c5a416e6c265a1fea02aeaf3d4c05ddb89967fffd70789db63e4ce3e7c12afdf6dbf61011771f7dd57" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6100076100ff565b6370ac643e8114610032576376b85d23811461003f57634ccca553811461004c576001600255610055565b61003a61005b565b610055565b6100476100a1565b610055565b6100546100d9565b5b5061012b565b60056000b46000b3806000556100907f76b85d23000000000000000000000000000000000000000000000000000000006100e1565b806001556000b3806002555050505b565b6100ca7f4ccca553000000000000000000000000000000000000000000000000000000006100e1565b6000b360035560006000fd505b565b60066000b45b565b60008160005260006000602060006000600a61fffff190505b919050565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x70ac643e" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml new file mode 100644 index 00000000000..fffcb355511 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml @@ -0,0 +1,113 @@ +# 10 +# Revert undoes transient storage writes from inner calls that successfully returned: TSTORE(x, y), CALL(self, ...), CALL(self, ...), TSTORE(x, y + 1), RETURN, REVERT, TLOAD(x) returns y +# +# Expect slot 0 to have 5 from the first tstore & tload. +# Expect slot 1 to have 0 (for unsuccessful call). +# Expect slot 2 to have 5 (original value). + +10_revertUndoesStoreAfterReturn: + _info: + comment: Revert undoes the transient storage writes after a successful call. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + case 0x70ac643e { // doFirstCall() + doFirstCall() + } + + case 0x76b85d23 { // doCallThenRevert() + doCallThenRevert() + } + + case 0x4ccca553 { // doSuccessfulStore() + doSuccessfulStore() + } + + default { + sstore(2, 1) + } + + function doFirstCall() { + verbatim_2i_0o(hex"b4", 0, 5) + + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + + let success := doReenter(hex"76b85d23") // calls doCallThenRevert() + sstore(1, success) // should be 0 (revert) + + let val := verbatim_1i_1o(hex"b3", 0) + sstore(2, val) + } + + + function doCallThenRevert() { + let s := doReenter(hex"4ccca553") // calls doSuccessfulStore() + sstore(3, verbatim_1i_1o(hex"b3", 0)) + revert(0, 0) + } + + function doSuccessfulStore() { + verbatim_2i_0o(hex"b4", 0, 6) + } + + function doReenter(fs) -> f { + mstore(0, fs) + f := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doFirstCall() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 5 + 0x01: 0 + 0x02: 5 From 5f6ff2814d06f50682bacc2f783a6847d1a44683 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Mon, 27 Jun 2022 14:27:22 -0400 Subject: [PATCH 06/56] staticcall& dos --- .../14_revertAfterNestedStaticcall.json | 75 ++++++++++++ .../stExample/15_tstoreCannotBeDosd.json | 75 ++++++++++++ .../14_revertAfterNestedStaticcallFiller.yml | 111 ++++++++++++++++++ .../stExample/15_tstoreCannotBeDosdFiller.yml | 95 +++++++++++++++ 4 files changed, 356 insertions(+) create mode 100644 GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json create mode 100644 GeneralStateTests/stExample/15_tstoreCannotBeDosd.json create mode 100644 src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml create mode 100644 src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml diff --git a/GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json b/GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json new file mode 100644 index 00000000000..4c870d451be --- /dev/null +++ b/GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json @@ -0,0 +1,75 @@ +{ + "14_revertAfterNestedStaticcall" : { + "_info" : { + "comment" : "Transient storage can't be manipulated from nested staticcall.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "eca6dec86f321c6742f553d5f7fde94c8c0b8bcc74527ca4b8f26358670b2bcf", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml", + "sourceHash" : "1c3bd5f340b5ed147e0ebd56e805d0129546760d13865329f62761d48c58541f" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x0a0422a2a594f972a8de8b399f34dd97226b010aa701e2888297799d1f6a51a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a8084f5f40590c001a04fcf5da7b3c5d51b292299a0fdf0e70b1beb43cdb254ec7cc3cff449849ede7ea006e4cf180aba2b2418ce18dd4743e70e15f64cd7d75d50e1a7bf67071bbbf1d1" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6100076100ee565b63f5f4059081146100325763f8dfc2d0811461003f576362fdb9be811461004c576001600255610055565b61003a61005b565b610055565b6100476100aa565b610055565b6100546100e6565b5b5061011a565b600a6000b46000b3806000557ff8dfc2d0000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa806002556000b3806003555050505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff180600155505b565b600b6000b45b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0xf5f40590" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json b/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json new file mode 100644 index 00000000000..487e033a5aa --- /dev/null +++ b/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json @@ -0,0 +1,75 @@ +{ + "15_tstoreCannotBeDosd" : { + "_info" : { + "comment" : "Transient storage cannot be DOS’d.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "14ab52cc26f1ce9b0a674c1248ac6f41be74d6b8b289374126dee740469a9cde", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml", + "sourceHash" : "fd66c97992ef9323bc2bf86edd772a02b70d0d5d82beca0e27b7d65109de3673" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x44df55eca26543ffedece775039949be8c2433ea55b53d913374192866a22710", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8890180808207d083061a8094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000000100c080a03ea36e759463c5c57dd0c712344e5c55d76184d447026cfdb58049b455615906a018eff4e729847c498281bf65f41e410dd7b1169b5b79b77048e92dc8fc5724ba" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560c8565b63883264e8811460225763f7d6c0eb81146050576005600055605c565b7c010000000000000000000000000000000000000000000000000000000060203504604b816061565b50605c565b602035605a8160aa565b505b5060f4565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260006000604060006000600a61fffff1806000556000b3806001555050505b565b60005b8181101560c357603081b45b60018101905060ad565b50505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x883264e80000000000000000000000000000000000000000000000000000000000000100" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml new file mode 100644 index 00000000000..d113031958e --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml @@ -0,0 +1,111 @@ +# 14 +# Transient storage cannot be manipulated in a nested static context: TSTORE(x, y), STATICCALL(self, ...), CALL(self, ...), TSTORE(x, z) reverts +# +# Expect slot 0 to have 10 from the first tstore & tload. +# Expect slot 1 to have 0 (for revert). +# Expect slot 2 to have 0 (for revert). +# Expect slot 3 to have 10 (original value). + +14_revertAfterNestedStaticcall: + _info: + comment: Transient storage can't be manipulated from nested staticcall. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + case 0xf5f40590 { // doStoreAndStaticCall() + doStoreAndStaticCall() + } + + case 0xf8dfc2d0 { // doCallToStore() + doCallToStore() + } + + case 0x62fdb9be { // doStore() + doStore() + } + + default { + sstore(2, 1) + } + + function doStoreAndStaticCall() { + verbatim_2i_0o(hex"b4", 0, 10) + + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + + mstore(0, hex"f8dfc2d0") + let success := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 0) + sstore(2, success) // should be 0 (revert) + + let val := verbatim_1i_1o(hex"b3", 0) + sstore(3, val) + } + + + function doCallToStore() { + mstore(0, hex"62fdb9be") + let f := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + sstore(1, f) // should revert + } + + function doStore() { + verbatim_2i_0o(hex"b4", 0, 11) + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doStoreAndStaticCall() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 10 + 0x01: 0 + 0x02: 0 + 0x03: 10 diff --git a/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml new file mode 100644 index 00000000000..8dc27f99081 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml @@ -0,0 +1,95 @@ +# 15 +# Transient storage cannot be DOS’d: CALL(self, ...), TSTORE(x, y), TSTORE(x + 1, y), TSTORE(x + 2, y), ... ,TSTORE(x + n, y), REVERT, TLOAD(x) returns 0 and runs in under 15 seconds +# +# Expect slot 0 to have 0 (from revert). + +15_tstoreCannotBeDosd: + _info: + comment: Transient storage cannot be DOS’d. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + case 0x883264e8 { // doCall(uint), do the call to nstores + let n:= div(calldataload(32), 0x100000000000000000000000000000000000000000000000000000000) + doCall(n) + } + + case 0xf7d6c0eb { // doNStores(n) + let n := calldataload(32) + doNStores(n) + } + + default { + sstore(0, 5) + } + + function doCall(n) { + mstore(0, hex"f7d6c0eb") + mstore(32, n) + let t := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 0) + sstore(0, t) // should revert + + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + + function doNStores(n) { + for { let i := 0 } lt(i, n) { i := add(i, 1) } { + verbatim_2i_0o(hex"b4", i, 48) + } + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doCall(uint) 0x100 + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 0 + 0x01: 0 From ba030bf1a517f6de5587d19cf5f20c787927d12a Mon Sep 17 00:00:00 2001 From: Emily Williams Date: Fri, 24 Jun 2022 13:55:41 -0400 Subject: [PATCH 07/56] tstore tests 8,9,11,12,13 --- .../stExample/05_tloadReentrancy.json | 2 +- .../08_revertUndoesTransientStore.json | 2 +- .../stExample/09_revertUndoesAll.json | 72 ++++++++++++++ .../stExample/11_tstoreDelegateCall.json | 79 +++++++++++++++ .../stExample/12_tloadDelegateCall.json | 79 +++++++++++++++ .../stExample/13_tloadStaticCall.json | 79 +++++++++++++++ .../08_revertUndoesTransientStoreFiller.yml | 4 +- .../stExample/09_revertUndoesAllFiller.yml | 93 ++++++++++++++++++ .../stExample/11_tstoreDelegateCallFiller.yml | 75 ++++++++++++++ .../stExample/12_tloadDelegateCallFiller.yml | 64 ++++++++++++ .../stExample/13_tloadStaticCallFiller.yml | 97 +++++++++++++++++++ 11 files changed, 642 insertions(+), 4 deletions(-) create mode 100644 GeneralStateTests/stExample/09_revertUndoesAll.json create mode 100644 GeneralStateTests/stExample/11_tstoreDelegateCall.json create mode 100644 GeneralStateTests/stExample/12_tloadDelegateCall.json create mode 100644 GeneralStateTests/stExample/13_tloadStaticCall.json create mode 100644 src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml create mode 100644 src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml create mode 100644 src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml create mode 100644 src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml diff --git a/GeneralStateTests/stExample/05_tloadReentrancy.json b/GeneralStateTests/stExample/05_tloadReentrancy.json index 4806f7d938f..ffb2c05a1d7 100644 --- a/GeneralStateTests/stExample/05_tloadReentrancy.json +++ b/GeneralStateTests/stExample/05_tloadReentrancy.json @@ -72,4 +72,4 @@ ] } } -} \ No newline at end of file +} diff --git a/GeneralStateTests/stExample/08_revertUndoesTransientStore.json b/GeneralStateTests/stExample/08_revertUndoesTransientStore.json index 174d0352478..ed423a93a0a 100644 --- a/GeneralStateTests/stExample/08_revertUndoesTransientStore.json +++ b/GeneralStateTests/stExample/08_revertUndoesTransientStore.json @@ -72,4 +72,4 @@ ] } } -} \ No newline at end of file +} diff --git a/GeneralStateTests/stExample/09_revertUndoesAll.json b/GeneralStateTests/stExample/09_revertUndoesAll.json new file mode 100644 index 00000000000..80beb3c691c --- /dev/null +++ b/GeneralStateTests/stExample/09_revertUndoesAll.json @@ -0,0 +1,72 @@ +{ + "09_revertUndoesAll" : { + "_info" : { + "comment" : "Loading a slot after a call to another contract is 0.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", + "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", + "generatedTestHash" : "f32f425a57a545f198f654b1776fc3df38ab216daea6b1750b11fe2a4591f61a", + "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml", + "sourceHash" : "6113fedc27b5d9816888b8bfffa2c0257385b4d21edffed5f7b90c0d2a6851ed" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0xd621fe5318f61fe79abdfb587f6200532cc2d212405889d479bade85d1045271", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6005608e565b63578290e58114601d57633f3716928114602757602e565b60236033565b602e565b602d6045565b5b5060ba565b60056000b460066000b460006000fd5b565b60046000b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b3816000558060015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x3f371692" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/11_tstoreDelegateCall.json b/GeneralStateTests/stExample/11_tstoreDelegateCall.json new file mode 100644 index 00000000000..c5d91d4a0a6 --- /dev/null +++ b/GeneralStateTests/stExample/11_tstoreDelegateCall.json @@ -0,0 +1,79 @@ +{ + "11_tstoreDelegateCall" : { + "_info" : { + "comment" : "Loading a slot after a call to another contract is 0.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", + "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", + "generatedTestHash" : "f36e31fa82a7f40015db8a915ac77c454f9097978ef17a99c0c9dac19f049583", + "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml", + "sourceHash" : "7fd3e946794f30c9a09d79bff8f8e6dd2a7934ddb7053d40dad21a8d22dea4e5" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0xd3efb38ef9041d469dc81cc63bf34e867bd3da99184492442c33f33baafcbf9e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016000b46000600060206000600b61fffff46000b381600055806001555050", + "nonce" : "0x00", + "storage" : { + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60026000b4", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/12_tloadDelegateCall.json b/GeneralStateTests/stExample/12_tloadDelegateCall.json new file mode 100644 index 00000000000..0a3d144f52c --- /dev/null +++ b/GeneralStateTests/stExample/12_tloadDelegateCall.json @@ -0,0 +1,79 @@ +{ + "12_tloadDelegateCall" : { + "_info" : { + "comment" : "Loading a slot after a call to another contract is 0.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", + "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", + "generatedTestHash" : "3b0afe177e53bd6c1f13a7abeaaba2dcc22660b328a5b741de6d6ace6421165b", + "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml", + "sourceHash" : "ea5bc7f2204aaeb793bc0a0b6276363c9d4a48eaa0683eb01615679b4c25bf87" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x901803d6874ee9b0f4654823fb57d6506aa7c8ebe78b14d0525a326a55f671e7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016000b46000600060206000600b61fffff48060005550", + "nonce" : "0x00", + "storage" : { + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b38060015550", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/13_tloadStaticCall.json b/GeneralStateTests/stExample/13_tloadStaticCall.json new file mode 100644 index 00000000000..b452a885760 --- /dev/null +++ b/GeneralStateTests/stExample/13_tloadStaticCall.json @@ -0,0 +1,79 @@ +{ + "13_tloadStaticCall" : { + "_info" : { + "comment" : "Loading a slot after a call to another contract is 0.", + "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", + "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", + "generatedTestHash" : "b9a4259a1d134a2c2dc212e80c08d9f22ce97288f0a7c6b0d7b5e6bc7570a6a9", + "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml", + "sourceHash" : "a0070a46218fd4eaa423adb69ebefe76777e41a0a72d5c2c870869f52f0fa575" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x6a85260186ecef8e1a304c356c4042427d58fc171bec33881a199acaa5a0a5b3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6005607e565b633f3716928114601d5763743fedaf8114602757602e565b6023603b565b602e565b602d6033565b5b5060aa565b60026000b45b565b60016000b47f743fedaf000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa6000b38060005550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b38060015550", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x3f371692" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml index 95e03d89a49..a8d891f6fd1 100644 --- a/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml @@ -30,7 +30,7 @@ case 0xe2da2eb0 { doStoreAndRevert() } - + // doLoad() case 0x43ac1c39 { doLoad() @@ -68,7 +68,7 @@ sstore(2, success) doLoad() - } + } function selector() -> s { let value := calldataload(0) diff --git a/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml new file mode 100644 index 00000000000..3b5482a4c25 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml @@ -0,0 +1,93 @@ +# 04 +# Contracts have separate transient storage. +# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# +# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). +# Expect storage slot 0 of address a to be 0. + +09_revertUndoesAll: + _info: + comment: Loading a slot after a call to another contract is 0. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + case 0x3f371692 { // doReenter() + doReenter() + } + + case 0x578290e5 { // storeTwiceAndRevert() + storeTwiceAndRevert() + } + + default {} + + function storeTwiceAndRevert() { + verbatim_2i_0o(hex"b4", 0, 5) + verbatim_2i_0o(hex"b4", 0, 6) + revert(0,0) + } + + function doReenter() { + verbatim_2i_0o(hex"b4", 0, 4) + mstore(0, hex"578290e5") + let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, success) + sstore(1, v) + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doReenter() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 0 + 0x01: 4 diff --git a/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml new file mode 100644 index 00000000000..42951c76bd2 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml @@ -0,0 +1,75 @@ +# 04 +# Contracts have separate transient storage. +# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# +# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). +# Expect storage slot 0 of address a to be 0. + +11_tstoreDelegateCall: + _info: + comment: Loading a slot after a call to another contract is 0. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + verbatim_2i_0o(hex"b4", 0, 1) + let success := delegatecall(0xffff, 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, success) + sstore(1, v) + } + + storage: {} + 000000000000000000000000000000000000000B: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + verbatim_2i_0o(hex"b4", 0, 2) + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: 0x + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 1 + 0x01: 2 diff --git a/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml new file mode 100644 index 00000000000..4a89ba16905 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml @@ -0,0 +1,64 @@ +# 04 +# Contracts have separate transient storage. +# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# +# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). +# Expect storage slot 0 of address a to be 0. + +13_tloadStaticCallFiller0: + _info: + comment: Loading a slot after a call to another contract is 0. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + verbatim_2i_0o(hex"b4", 0, 1) + let success := delegatecall(0xffff, 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) + sstore(0, success) + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: 0x + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 1 + 0x01: 1 diff --git a/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml new file mode 100644 index 00000000000..e89b49869a1 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml @@ -0,0 +1,97 @@ +# 04 +# Contracts have separate transient storage. +# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# +# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). +# Expect storage slot 0 of address a to be 0. + +13_tloadStaticCall: + _info: + comment: Loading a slot after a call to another contract is 0. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + case 0x3f371692 { // doReenter() + doReenter() + } + + case 0x743fedaf { // tstore2() + tstore2() + } + + default {} + + function tstore2() { + verbatim_2i_0o(hex"b4", 0, 2) + } + + function doReenter() { + verbatim_2i_0o(hex"b4", 0, 1) + mstore(0, hex"743fedaf") + let success := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 0) + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: {} + 000000000000000000000000000000000000000B: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doReenter() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 1 From 557a358e5c08a0a0b3b4fdbf64d24ea66203aa9e Mon Sep 17 00:00:00 2001 From: Emily Williams Date: Mon, 27 Jun 2022 11:04:17 -0400 Subject: [PATCH 08/56] cleanup tests --- .../stExample/09_revertUndoesAll.json | 10 +++---- .../stExample/12_tloadDelegateCall.json | 10 +++---- .../stExample/13_tloadStaticCall.json | 17 ++++------- .../stExample/09_revertUndoesAllFiller.yml | 2 +- .../stExample/11_tstoreDelegateCallFiller.yml | 2 +- .../stExample/12_tloadDelegateCallFiller.yml | 17 ++++++++--- .../stExample/13_tloadStaticCallFiller.yml | 29 +++++++------------ 7 files changed, 41 insertions(+), 46 deletions(-) diff --git a/GeneralStateTests/stExample/09_revertUndoesAll.json b/GeneralStateTests/stExample/09_revertUndoesAll.json index 80beb3c691c..c132b3b87be 100644 --- a/GeneralStateTests/stExample/09_revertUndoesAll.json +++ b/GeneralStateTests/stExample/09_revertUndoesAll.json @@ -1,13 +1,13 @@ { "09_revertUndoesAll" : { "_info" : { - "comment" : "Loading a slot after a call to another contract is 0.", + "comment" : "Revert undoes all the transient storage writes to the same key from the failed call.", "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "f32f425a57a545f198f654b1776fc3df38ab216daea6b1750b11fe2a4591f61a", + "generatedTestHash" : "bc1c48b3fca0e98d7f795176a13cea421a40b86a899c34e6b18fccbcd2aeee0b", "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml", - "sourceHash" : "6113fedc27b5d9816888b8bfffa2c0257385b4d21edffed5f7b90c0d2a6851ed" + "sourceHash" : "77da6611fc78c48efe8013b7940a7fe3605f4f6a200dc78a779eafb3d0669e06" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "post" : { "London" : [ { - "hash" : "0xd621fe5318f61fe79abdfb587f6200532cc2d212405889d479bade85d1045271", + "hash" : "0x1467810b2e0dac42c19bf41971db891277b14660d36d7fc6e54e82b58f358cad", "indexes" : { "data" : 0, "gas" : 0, @@ -35,7 +35,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6005608e565b63578290e58114601d57633f3716928114602757602e565b60236033565b602e565b602d6045565b5b5060ba565b60056000b460066000b460006000fd5b565b60046000b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b3816000558060015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6005608e565b633f3716928114601d5763578290e58114602757602e565b60236045565b602e565b602d6033565b5b5060ba565b60056000b460066000b460006000fd5b565b60046000b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b3816000558060015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stExample/12_tloadDelegateCall.json b/GeneralStateTests/stExample/12_tloadDelegateCall.json index 0a3d144f52c..efed43cdc04 100644 --- a/GeneralStateTests/stExample/12_tloadDelegateCall.json +++ b/GeneralStateTests/stExample/12_tloadDelegateCall.json @@ -1,13 +1,13 @@ { "12_tloadDelegateCall" : { "_info" : { - "comment" : "Loading a slot after a call to another contract is 0.", + "comment" : "delegatecall reads transient storage in the context of the current address", "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "3b0afe177e53bd6c1f13a7abeaaba2dcc22660b328a5b741de6d6ace6421165b", + "generatedTestHash" : "167a8cba1e4fa492c0c26e5cf3a55f19887f062c1a34d8670741081e8a91bb1d", "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml", - "sourceHash" : "ea5bc7f2204aaeb793bc0a0b6276363c9d4a48eaa0683eb01615679b4c25bf87" + "sourceHash" : "cada66c9783f3e4a2bb4211d6a9d6ab44c8880c2057343489dfbb796d888e6ea" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "post" : { "London" : [ { - "hash" : "0x901803d6874ee9b0f4654823fb57d6506aa7c8ebe78b14d0525a326a55f671e7", + "hash" : "0x04a21983615fd856a6b8c588fb09d0ff639cd9b6fa0f0512f5ab325baf8b526a", "indexes" : { "data" : 0, "gas" : 0, @@ -35,7 +35,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016000b46000600060206000600b61fffff48060005550", + "code" : "0x60026000b46000600060206000600b61fffff48060005550", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stExample/13_tloadStaticCall.json b/GeneralStateTests/stExample/13_tloadStaticCall.json index b452a885760..63a2e6fb17b 100644 --- a/GeneralStateTests/stExample/13_tloadStaticCall.json +++ b/GeneralStateTests/stExample/13_tloadStaticCall.json @@ -1,13 +1,13 @@ { "13_tloadStaticCall" : { "_info" : { - "comment" : "Loading a slot after a call to another contract is 0.", + "comment" : "Transient storage cannot be manipulated in a static context, tstore reverts.", "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "b9a4259a1d134a2c2dc212e80c08d9f22ce97288f0a7c6b0d7b5e6bc7570a6a9", + "generatedTestHash" : "1e62acf31694b2d56e19e2a52a4d75ecb1ca7501fd3487af01bfd10d7da9098d", "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml", - "sourceHash" : "a0070a46218fd4eaa423adb69ebefe76777e41a0a72d5c2c870869f52f0fa575" + "sourceHash" : "6063a3086223a4e98992d57ca5844f6527e9da5f2c6ee350179d29a058efe1d5" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "post" : { "London" : [ { - "hash" : "0x6a85260186ecef8e1a304c356c4042427d58fc171bec33881a199acaa5a0a5b3", + "hash" : "0x0051faf69c2d0aaddc35eec4c167d06a3cd257b347a00453b8f93832ff4c426c", "indexes" : { "data" : 0, "gas" : 0, @@ -35,14 +35,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6005607e565b633f3716928114601d5763743fedaf8114602757602e565b6023603b565b602e565b602d6033565b5b5060aa565b60026000b45b565b60016000b47f743fedaf000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa6000b38060005550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", - "nonce" : "0x00", - "storage" : { - } - }, - "0x000000000000000000000000000000000000000b" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000b38060015550", + "code" : "0x60056082565b633f3716928114601d5763611e535a8114602757602e565b6023603b565b602e565b602d6033565b5b5060ae565b60036000b45b565b60026000b47f611e535a000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa6000b3816000558060015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml index 3b5482a4c25..02c58e47ed6 100644 --- a/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml @@ -7,7 +7,7 @@ 09_revertUndoesAll: _info: - comment: Loading a slot after a call to another contract is 0. + comment: Revert undoes all the transient storage writes to the same key from the failed call. env: currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba diff --git a/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml index 42951c76bd2..83ee34c2a41 100644 --- a/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml @@ -7,7 +7,7 @@ 11_tstoreDelegateCall: _info: - comment: Loading a slot after a call to another contract is 0. + comment: delegatecall manipulates transient storage in the context of the current address. env: currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba diff --git a/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml index 4a89ba16905..6186b51424a 100644 --- a/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml @@ -5,9 +5,9 @@ # Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). # Expect storage slot 0 of address a to be 0. -13_tloadStaticCallFiller0: +12_tloadDelegateCall: _info: - comment: Loading a slot after a call to another contract is 0. + comment: delegatecall reads transient storage in the context of the current address env: currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba @@ -24,11 +24,20 @@ nonce: 0 code: | :yul { - verbatim_2i_0o(hex"b4", 0, 1) + verbatim_2i_0o(hex"b4", 0, 2) let success := delegatecall(0xffff, 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) sstore(0, success) } storage: {} + 000000000000000000000000000000000000000B: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + storage: {} a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" @@ -61,4 +70,4 @@ 000000000000000000000000000000000000000A: storage: 0x00: 1 - 0x01: 1 + 0x01: 2 diff --git a/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml index e89b49869a1..6ffcd48b54e 100644 --- a/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml @@ -7,7 +7,7 @@ 13_tloadStaticCall: _info: - comment: Loading a slot after a call to another contract is 0. + comment: Transient storage cannot be manipulated in a static context, tstore reverts. env: currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba @@ -30,22 +30,23 @@ doReenter() } - case 0x743fedaf { // tstore2() - tstore2() + case 0x611e535a { // tstore3() + tstore3() } default {} - function tstore2() { - verbatim_2i_0o(hex"b4", 0, 2) + function tstore3() { + verbatim_2i_0o(hex"b4", 0, 3) } function doReenter() { - verbatim_2i_0o(hex"b4", 0, 1) - mstore(0, hex"743fedaf") + verbatim_2i_0o(hex"b4", 0, 2) + mstore(0, hex"611e535a") let success := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 0) let v := verbatim_1i_1o(hex"b3", 0) - sstore(0, v) + sstore(0, success) + sstore(1, v) } function selector() -> s { @@ -54,15 +55,6 @@ } } storage: {} - 000000000000000000000000000000000000000B: - balance: 1000000000000000000 - nonce: 0 - code: | - :yul { - let v := verbatim_1i_1o(hex"b3", 0) - sstore(1, v) - } - storage: {} a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" @@ -94,4 +86,5 @@ result: 000000000000000000000000000000000000000A: storage: - 0x00: 1 + 0x00: 0 + 0x01: 2 From 81ed591387d8548baf99794a631a926ef1c81542 Mon Sep 17 00:00:00 2001 From: Emily Williams Date: Mon, 27 Jun 2022 16:12:04 -0400 Subject: [PATCH 09/56] trying to calc gas --- .../stExample/16_tloadGasFiller.yml | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml diff --git a/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml new file mode 100644 index 00000000000..324cac51d38 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml @@ -0,0 +1,78 @@ +# 04 +# Contracts have separate transient storage. +# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# +# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). +# Expect storage slot 0 of address a to be 0. + +16_tloadGas: + _info: + comment: tload costs 100 gas same as a warm sload + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + let extraOpcodes := 14 + + // calculate warm sload gas + let s := sload(5) + mstore(0, gas()) + let s2 := sload(5) + mstore(0x20, gas()) + sstore(0, sub(sub(mload(0), mload(0x20)), extraOpcodes)) + + // calculate tload gas + verbatim_2i_0o(hex"b4", 0, 2) + mstore(0, gas()) + let t := verbatim_1i_1o(hex"b3", 0) + mstore(0x20, gas()) + sstore(1, sub(sub(mload(0), mload(0x20)), extraOpcodes)) + } + storage: + 0x05: 5 + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: 0x + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 100 + 0x01: 100 + 0x05: 5 From 8cfb8949e9b3b5950536b41615b8ca213421d914 Mon Sep 17 00:00:00 2001 From: Emily Williams Date: Mon, 27 Jun 2022 16:42:26 -0400 Subject: [PATCH 10/56] fix tload gas tests --- GeneralStateTests/stExample/16_tloadGas.json | 73 +++++++++++++++++++ .../stExample/16_tloadGasFiller.yml | 14 ++-- 2 files changed, 80 insertions(+), 7 deletions(-) create mode 100644 GeneralStateTests/stExample/16_tloadGas.json diff --git a/GeneralStateTests/stExample/16_tloadGas.json b/GeneralStateTests/stExample/16_tloadGas.json new file mode 100644 index 00000000000..bdb38d997b9 --- /dev/null +++ b/GeneralStateTests/stExample/16_tloadGas.json @@ -0,0 +1,73 @@ +{ + "16_tloadGas" : { + "_info" : { + "comment" : "tload costs 100 gas same as a warm sload", + "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", + "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", + "generatedTestHash" : "7da25216f33a5331c79e117292aefa41e87311c94b940f243044ab9d89ec5bcc", + "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml", + "sourceHash" : "4bdb7b0bc28cc7d896822626e7f5f2e0a8ee5b7129799df3156825a29b6a87b2" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x92bab376723c3b771b20aab2ce9dac7645391aee978af9ecc9841c9b34e9ee16", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60106005545a600052600554505a60205281602051600051030360005560026000b45a6040526000b3505a6060528160605160405103036001555050", + "nonce" : "0x00", + "storage" : { + "0x05" : "0x05" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml index 324cac51d38..7b00a993d8d 100644 --- a/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml @@ -24,21 +24,21 @@ nonce: 0 code: | :yul { - let extraOpcodes := 14 + let extraOpcodesGas := 16 // calculate warm sload gas let s := sload(5) mstore(0, gas()) - let s2 := sload(5) + pop(sload(5)) mstore(0x20, gas()) - sstore(0, sub(sub(mload(0), mload(0x20)), extraOpcodes)) + sstore(0, sub(sub(mload(0), mload(0x20)), extraOpcodesGas)) // calculate tload gas verbatim_2i_0o(hex"b4", 0, 2) - mstore(0, gas()) - let t := verbatim_1i_1o(hex"b3", 0) - mstore(0x20, gas()) - sstore(1, sub(sub(mload(0), mload(0x20)), extraOpcodes)) + mstore(0x40, gas()) + pop(verbatim_1i_1o(hex"b3", 0)) + mstore(0x60, gas()) + sstore(1, sub(sub(mload(0x40), mload(0x60)), extraOpcodesGas)) } storage: 0x05: 5 From db74679571a4f8446cea8cfd0cb5add868f2cee8 Mon Sep 17 00:00:00 2001 From: Emily Williams Date: Mon, 27 Jun 2022 17:02:25 -0400 Subject: [PATCH 11/56] less opcode noise in gas test --- GeneralStateTests/stExample/16_tloadGas.json | 8 ++++---- .../stExample/16_tloadGasFiller.yml | 18 +++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/GeneralStateTests/stExample/16_tloadGas.json b/GeneralStateTests/stExample/16_tloadGas.json index bdb38d997b9..b404a7e1521 100644 --- a/GeneralStateTests/stExample/16_tloadGas.json +++ b/GeneralStateTests/stExample/16_tloadGas.json @@ -4,10 +4,10 @@ "comment" : "tload costs 100 gas same as a warm sload", "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "7da25216f33a5331c79e117292aefa41e87311c94b940f243044ab9d89ec5bcc", + "generatedTestHash" : "31552cc6bf88b402952caccc9549f449641d39f7c31815e57b219ad55a9f7687", "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml", - "sourceHash" : "4bdb7b0bc28cc7d896822626e7f5f2e0a8ee5b7129799df3156825a29b6a87b2" + "sourceHash" : "1c2294d3de6f275c546b376780f2caf244f382599ef882528855427865ce989d" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "post" : { "London" : [ { - "hash" : "0x92bab376723c3b771b20aab2ce9dac7645391aee978af9ecc9841c9b34e9ee16", + "hash" : "0xd156caff2fd9a51f493e8ab451f89becb82170f0a94a74f51bcf0de147373133", "indexes" : { "data" : 0, "gas" : 0, @@ -35,7 +35,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60106005545a600052600554505a60205281602051600051030360005560026000b45a6040526000b3505a6060528160605160405103036001555050", + "code" : "0x60056005545a6005545a848184030360005560026000b45a6000b35a87818403036001555050505050505050", "nonce" : "0x00", "storage" : { "0x05" : "0x05" diff --git a/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml index 7b00a993d8d..f9292b2bf80 100644 --- a/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml @@ -24,21 +24,21 @@ nonce: 0 code: | :yul { - let extraOpcodesGas := 16 + let extraOpcodesGas := 5 // calculate warm sload gas let s := sload(5) - mstore(0, gas()) - pop(sload(5)) - mstore(0x20, gas()) - sstore(0, sub(sub(mload(0), mload(0x20)), extraOpcodesGas)) + let g1 := gas() + let s2 := sload(5) + let g2 := gas() + sstore(0, sub(sub(g1, g2), extraOpcodesGas)) // calculate tload gas verbatim_2i_0o(hex"b4", 0, 2) - mstore(0x40, gas()) - pop(verbatim_1i_1o(hex"b3", 0)) - mstore(0x60, gas()) - sstore(1, sub(sub(mload(0x40), mload(0x60)), extraOpcodesGas)) + let g3 := gas() + let t := verbatim_1i_1o(hex"b3", 0) + let g4 := gas() + sstore(1, sub(sub(g3, g4), extraOpcodesGas)) } storage: 0x05: 5 From 2504891e4a1e2261281c962c9254ce04aa306df9 Mon Sep 17 00:00:00 2001 From: Emily Williams Date: Mon, 27 Jun 2022 17:21:23 -0400 Subject: [PATCH 12/56] update comments --- GeneralStateTests/stExample/16_tloadGas.json | 8 ++++---- .../stExample/09_revertUndoesAllFiller.yml | 10 +++++----- .../stExample/11_tstoreDelegateCallFiller.yml | 10 +++++----- .../stExample/12_tloadDelegateCallFiller.yml | 10 +++++----- .../stExample/13_tloadStaticCallFiller.yml | 10 +++++----- .../stExample/16_tloadGasFiller.yml | 13 ++++++++----- 6 files changed, 32 insertions(+), 29 deletions(-) diff --git a/GeneralStateTests/stExample/16_tloadGas.json b/GeneralStateTests/stExample/16_tloadGas.json index b404a7e1521..b4481e9a3ff 100644 --- a/GeneralStateTests/stExample/16_tloadGas.json +++ b/GeneralStateTests/stExample/16_tloadGas.json @@ -4,10 +4,10 @@ "comment" : "tload costs 100 gas same as a warm sload", "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "31552cc6bf88b402952caccc9549f449641d39f7c31815e57b219ad55a9f7687", + "generatedTestHash" : "3e7c1adedd1d12aa8b689debc9f81d6eeea38721989fa50e9fb46f798a21da23", "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml", - "sourceHash" : "1c2294d3de6f275c546b376780f2caf244f382599ef882528855427865ce989d" + "sourceHash" : "cf8d122d1bf7e64455f2b0bfe5d73dfc289cc713a6192ae021fda79a1af84c73" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "post" : { "London" : [ { - "hash" : "0xd156caff2fd9a51f493e8ab451f89becb82170f0a94a74f51bcf0de147373133", + "hash" : "0x2a428f68bc2a956f50a3806246d2b4eea5e92574fa92431d08bdd09f1949e95b", "indexes" : { "data" : 0, "gas" : 0, @@ -35,7 +35,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60056005545a6005545a848184030360005560026000b45a6000b35a87818403036001555050505050505050", + "code" : "0x60056005545a6005545a848184030360005560026000b45a6000b35a8781840303600155808303848703146002555050505050505050", "nonce" : "0x00", "storage" : { "0x05" : "0x05" diff --git a/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml index 02c58e47ed6..7d648565e98 100644 --- a/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml @@ -1,9 +1,9 @@ -# 04 -# Contracts have separate transient storage. -# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# 09 +# Revert undoes all the transient storage writes to the same key from a failed call. +# TSTORE(x, y), CALL(self, ...), TSTORE(x, z), TSTORE(x, z + 1) REVERT, TLOAD(x) returns y # -# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). -# Expect storage slot 0 of address a to be 0. +# Expect storage slot 0 of address a to be 0. Call failed. +# Expect storage slot 1 of address a to be 4. The original value in transient storage before failed call. 09_revertUndoesAll: _info: diff --git a/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml index 83ee34c2a41..622fec366e2 100644 --- a/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml @@ -1,9 +1,9 @@ -# 04 -# Contracts have separate transient storage. -# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# 11 +# Delegatecall manipulates transient storage in the context of the current address. +# TSTORE(x, y), DELEGATECALL(a, ...), TSTORE(x, z), RETURN, TLOAD(x) returns z # -# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). -# Expect storage slot 0 of address a to be 0. +# Expect storage slot 0 of address a to be 1. Delegatecall was successful. +# Expect storage slot 0 of address a to be 2. The updated transient storage value from the delegatecall. 11_tstoreDelegateCall: _info: diff --git a/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml index 6186b51424a..92c850436e5 100644 --- a/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml @@ -1,9 +1,9 @@ -# 04 -# Contracts have separate transient storage. -# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# 12 +# Delegatecall reads transient storage in the context of the current address. +# TSTORE(x, y), DELEGATECALL(a, ...), TLOAD(x) returns y # -# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). -# Expect storage slot 0 of address a to be 0. +# Expect storage slot 0 of address a to be 1. Delegatecall was successful. +# Expect storage slot 0 of address a to be 2. The value stored in transient storage outside the delegatecall context. 12_tloadDelegateCall: _info: diff --git a/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml index 6ffcd48b54e..c6eab52843e 100644 --- a/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml @@ -1,9 +1,9 @@ -# 04 -# Contracts have separate transient storage. -# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# 13 +# Transient storage cannot be manipulated in a static context:. +# TSTORE(x, y), STATICCALL(self, ...), TSTORE(x, z) reverts # -# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). -# Expect storage slot 0 of address a to be 0. +# Expect storage slot 0 of address a to be 0. staticcall was unsuccessful. +# Expect storage slot 1 of address a to be 2. The original tstore value before the staticcall. 13_tloadStaticCall: _info: diff --git a/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml index f9292b2bf80..cd9b66acecc 100644 --- a/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml @@ -1,9 +1,9 @@ -# 04 -# Contracts have separate transient storage. -# Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# 16 +# TLOAD(x) should cost 100 gas, same as SLOAD(x) # -# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). -# Expect storage slot 0 of address a to be 0. +# Expect storage slot 0 of address a to be 100, representing the gas of sload. +# Expect storage slot 1 of address a to be 100, representing the gas of tload. +# Expect storage slot 2 of address a to be 1, representing sload and tload have equal gas. 16_tloadGas: _info: @@ -39,6 +39,8 @@ let t := verbatim_1i_1o(hex"b3", 0) let g4 := gas() sstore(1, sub(sub(g3, g4), extraOpcodesGas)) + + sstore(2, eq(sub(g1, g2), sub(g3, g4))) } storage: 0x05: 5 @@ -75,4 +77,5 @@ storage: 0x00: 100 0x01: 100 + 0x02: 1 0x05: 5 From e6d799672597793b84f85037c3c00dc1b4dcbe48 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Mon, 27 Jun 2022 20:10:39 -0400 Subject: [PATCH 13/56] comment cleanup and tstore gas test --- .../stExample/02_tloadAfterStore.json | 2 +- .../stExample/05_tloadReentrancy.json | 8 +- .../stExample/15_tstoreCannotBeDosd.json | 10 +-- GeneralStateTests/stExample/17_tstoreGas.json | 76 +++++++++++++++++ .../stExample/01_tloadBeginningTxnFiller.yml | 1 - .../stExample/02_tloadAfterStoreFiller.yml | 5 -- .../stExample/04_tloadAfterCallFiller.yml | 5 +- .../stExample/05_tloadReentrancyFiller.yml | 11 +-- .../stExample/15_tstoreCannotBeDosdFiller.yml | 5 +- .../stExample/17_tstoreGasFiller.yml | 81 +++++++++++++++++++ 10 files changed, 175 insertions(+), 29 deletions(-) create mode 100644 GeneralStateTests/stExample/17_tstoreGas.json create mode 100644 src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml diff --git a/GeneralStateTests/stExample/02_tloadAfterStore.json b/GeneralStateTests/stExample/02_tloadAfterStore.json index dc376f790c7..683f0598bfb 100644 --- a/GeneralStateTests/stExample/02_tloadAfterStore.json +++ b/GeneralStateTests/stExample/02_tloadAfterStore.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml", - "sourceHash" : "85cc4da4e4c95ab2549af5d12838097bc7039736696ca49adfe0b6dd616e1fdb" + "sourceHash" : "a17644ff8a1843858b082b8720104f7bb847d830385604907ef4424587691d3a" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stExample/05_tloadReentrancy.json b/GeneralStateTests/stExample/05_tloadReentrancy.json index 4806f7d938f..2ecb9d0c832 100644 --- a/GeneralStateTests/stExample/05_tloadReentrancy.json +++ b/GeneralStateTests/stExample/05_tloadReentrancy.json @@ -2,13 +2,13 @@ "05_tloadReentrancy" : { "_info" : { "comment" : "Reentrant calls access the same transient storage.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "a79920e782bf3968c1ca37382dbe721155942a861a4965fc59b8161df174b03b", + "generatedTestHash" : "5bc094538cc79510a0649bef8928e00341c9ab287c1a5a5938411b2b15fe2139", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml", - "sourceHash" : "2264d32eac66059436357018131e3991a767bdfba2e9225689e83572cd22779f" + "sourceHash" : "4c6fe15e78cf72032e8c67ae2117df443126885408d974cfcb7eb382be98a158" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x828251f6e8b607ffcab6a85916545bd78ce5a08efd9b988217d0617409901152", + "hash" : "0x65227e3e413d922337fbe1f7a4afedafa2cc5ed07c7666f76ec972cd7e11176d", "indexes" : { "data" : 0, "gas" : 0, diff --git a/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json b/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json index 487e033a5aa..71b8ce7c5c0 100644 --- a/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json @@ -2,13 +2,13 @@ "15_tstoreCannotBeDosd" : { "_info" : { "comment" : "Transient storage cannot be DOS’d.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "14ab52cc26f1ce9b0a674c1248ac6f41be74d6b8b289374126dee740469a9cde", + "generatedTestHash" : "dba02bd13e72696ad68e6d2f6b4f1f7098b535a2c7ca3e076d5a44b19217cdf0", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "fd66c97992ef9323bc2bf86edd772a02b70d0d5d82beca0e27b7d65109de3673" + "sourceHash" : "452289fcfe4123543a9d34f0449412e488bc094b9ac00739b10b5a4d4fe2c512" }, "env" : { "currentBaseFee" : "0x0a", @@ -30,7 +30,7 @@ "value" : 0 }, "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "txbytes" : "0x02f8890180808207d083061a8094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000000100c080a03ea36e759463c5c57dd0c712344e5c55d76184d447026cfdb58049b455615906a018eff4e729847c498281bf65f41e410dd7b1169b5b79b77048e92dc8fc5724ba" + "txbytes" : "0x02f8890180808207d083061a8094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000000200c080a061dac0c105c841fa0aaac4ae0590038c94e46dd05bf36d12551b2b4142c6661ea03c00a8f64974ed0fb16de67efe669665c05b3483feb1a9fc25cf2818233ec9d9" } ] }, @@ -56,7 +56,7 @@ ] ], "data" : [ - "0x883264e80000000000000000000000000000000000000000000000000000000000000100" + "0x883264e80000000000000000000000000000000000000000000000000000000000000200" ], "gasLimit" : [ "0x061a80" diff --git a/GeneralStateTests/stExample/17_tstoreGas.json b/GeneralStateTests/stExample/17_tstoreGas.json new file mode 100644 index 00000000000..aefa0a2b633 --- /dev/null +++ b/GeneralStateTests/stExample/17_tstoreGas.json @@ -0,0 +1,76 @@ +{ + "17_tstoreGas" : { + "_info" : { + "comment" : "Tstore arbitrary value in arbitrary slot costs 100 gas.", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "f82e789306d91608c428044d2f28c6e6ab067540987d242f7a1c87c042e91ba2", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml", + "sourceHash" : "dc538ee0e1d71396b1c25bad54a88e6e535ca77c4801cc889a514999b640f6fb" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0x16be7c34d8ea8d91d2b6d3c9acdc5e15d67310042fb7c3dd642a3cc2ea1ca662", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600860016005555a60026005555a82818303036000555a60036000b45a8481830303600155828403818303146002555050505050", + "nonce" : "0x00", + "storage" : { + "0x05" : "0x05" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml b/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml index 95b4951c80a..03bfe4803a7 100644 --- a/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml @@ -57,5 +57,4 @@ result: 000000000000000000000000000000000000000A: storage: - # The result we expect 0x01: 0 diff --git a/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml index 682cdbdc7c3..65b6faec13e 100644 --- a/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml @@ -22,12 +22,8 @@ nonce: 0 code: | :yul { - // tstore verbatim_2i_0o(hex"b4", 0, 88) - - // tload let val := verbatim_1i_1o(hex"b3", 0) - sstore(1, val) } storage: {} @@ -62,5 +58,4 @@ result: 000000000000000000000000000000000000000A: storage: - # The result we expect 0x01: 88 diff --git a/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml b/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml index 169d07d5fb5..696997b2cd2 100644 --- a/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml @@ -2,8 +2,9 @@ # Contracts have separate transient storage. # Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 # -# Expect storage slot 0 of address a to be 0. Expect storage slot 1 of address a to be 1 (successful call). # Expect storage slot 0 of address a to be 0. +# Expect storage slot 1 of address a to be 1 (successful call). +# Expect storage slot 0 of address b to be 0. 04_tloadAfterCall: _info: @@ -71,11 +72,9 @@ result: 000000000000000000000000000000000000000A: storage: - # expect 10 at slot 0 # expect 1 (successful call) at slot 1 0x00: 10 0x01: 1 000000000000000000000000000000000000000B: storage: - # expect 0 0x00: 0 diff --git a/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml index 64376b5a214..ffd5ac2dc61 100644 --- a/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml @@ -26,13 +26,11 @@ :yul { switch selector() - // doLoad() - case 0x43ac1c39 { + case 0x43ac1c39 { // doLoad() doLoad() } - // doReenter() - case 0x3f371692 { + case 0x3f371692 { // doReenter() doReenter() } @@ -46,13 +44,11 @@ } function doReenter() { - // tstore verbatim_2i_0o(hex"b4", 0, 80) - mstore(0, hex"43ac1c39") + mstore(0, hex"43ac1c39") // doLoad() let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) - // tload let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) sstore(2, success) @@ -95,7 +91,6 @@ result: 000000000000000000000000000000000000000A: storage: - # expect 80 at slot 0 # expect 1 (successful call) at slot 1 0x00: 80 0x01: 80 diff --git a/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml index 8dc27f99081..3ba721d2b2e 100644 --- a/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml @@ -2,6 +2,7 @@ # Transient storage cannot be DOS’d: CALL(self, ...), TSTORE(x, y), TSTORE(x + 1, y), TSTORE(x + 2, y), ... ,TSTORE(x + n, y), REVERT, TLOAD(x) returns 0 and runs in under 15 seconds # # Expect slot 0 to have 0 (from revert). +# Expect slot 1 to have 0. 15_tstoreCannotBeDosd: _info: @@ -24,7 +25,7 @@ :yul { switch selector() - case 0x883264e8 { // doCall(uint), do the call to nstores + case 0x883264e8 { // doCall(uint) let n:= div(calldataload(32), 0x100000000000000000000000000000000000000000000000000000000) doCall(n) } @@ -68,7 +69,7 @@ transaction: data: - - data: :abi doCall(uint) 0x100 + - data: :abi doCall(uint) 0x200 accessList: [] gasLimit: - "400000" diff --git a/src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml b/src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml new file mode 100644 index 00000000000..45df2907c32 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml @@ -0,0 +1,81 @@ +# 17 +# Tstore arbitrary value in arbitrary slot costs 100 gas : TSTORE(x, y) costs 100 gas. +# +# Expect storage slot 0 to be 100 (warm dirty ssload gas cost). +# Expect storage slot 1 to be 100 (tload gas cost). +# Expect storage slot 2 to be 1. Tload gas and sstore gas should be equal. +# Expect storage slot 5 to be 2 from the last sstore. + +17_tstoreGas: + _info: + comment: Tstore arbitrary value in arbitrary slot costs 100 gas. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + let extraOpcodes := 8 + + // calculate warm dirty sstore gas + sstore(5, 1) + let g1 := gas() + sstore(5, 2) + let g2 := gas() + sstore(0, sub(sub(g1, g2), extraOpcodes)) + + // calculate tstore gas + let g3 := gas() + verbatim_2i_0o(hex"b4", 0, 3) + let g4 := gas() + sstore(1, sub(sub(g3, g4), extraOpcodes)) + + sstore(2, eq(sub(g3, g4),sub(g1, g2))) + } + storage: + 0x05: 5 + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: 0x + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 100 + 0x01: 100 + 0x02: 0x01 + 0x05: 0x02 From 3f72bb8c09b2049fac079f7a64f804038beaafcc Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Mon, 27 Jun 2022 20:59:18 -0400 Subject: [PATCH 14/56] cleanup --- .../stExample/02_tloadAfterStore.json | 6 ++-- .../stExample/03_tloadAfterStoreIs0.json | 6 ++-- .../stExample/04_tloadAfterCall.json | 6 ++-- .../stExample/06_tstoreInReentrancyCall.json | 8 ++--- .../07_tloadAfterReentrancyStore.json | 12 ++++---- .../08_revertUndoesTransientStore.json | 12 ++++---- .../stExample/09_revertUndoesAll.json | 13 +++++---- .../10_revertUndoesStoreAfterReturn.json | 10 +++---- .../stExample/11_tstoreDelegateCall.json | 17 ++++++----- .../stExample/12_tloadDelegateCall.json | 13 +++++---- .../stExample/13_tloadStaticCall.json | 13 +++++---- .../14_revertAfterNestedStaticcall.json | 8 ++--- .../stExample/15_tstoreCannotBeDosd.json | 2 +- GeneralStateTests/stExample/16_tloadGas.json | 13 +++++---- .../06_tstoreInReentrancyCallFiller.yml | 16 ++++------ .../07_tloadAfterReentrancyStoreFiller.yml | 27 ++++------------- .../08_revertUndoesTransientStoreFiller.yml | 29 +++++-------------- .../stExample/09_revertUndoesAllFiller.yml | 2 +- .../10_revertUndoesStoreAfterReturnFiller.yml | 8 ++--- .../stExample/11_tstoreDelegateCallFiller.yml | 2 +- .../14_revertAfterNestedStaticcallFiller.yml | 4 +-- .../stExample/15_tstoreCannotBeDosdFiller.yml | 6 ++-- .../stExample/17_tstoreGasFiller.yml | 6 ++-- 23 files changed, 109 insertions(+), 130 deletions(-) diff --git a/GeneralStateTests/stExample/02_tloadAfterStore.json b/GeneralStateTests/stExample/02_tloadAfterStore.json index 683f0598bfb..efe70da535d 100644 --- a/GeneralStateTests/stExample/02_tloadAfterStore.json +++ b/GeneralStateTests/stExample/02_tloadAfterStore.json @@ -2,9 +2,9 @@ "02_tloadAfterStore" : { "_info" : { "comment" : "load after storing returns correct value", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "f9d52c77e7cfdba8d40afa2579d591016b07ccce837750e24ba9b637122945c8", + "generatedTestHash" : "bdc8acacf855c8d7ef22e9ca1a7da01653198d74120bd16f765e9cc1087205ae", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0xe2b2388de256ec2cc82b7c93909c1e99bd4f637e5c02dc31c4fb524e6eb030fc", + "hash" : "0x54e79effd83d6982bbeaa49524a3ca9d83671f346a3cc2f08c066514a296de18", "indexes" : { "data" : 0, "gas" : 0, diff --git a/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json b/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json index e4fea0276e4..56625cbcfd4 100644 --- a/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json +++ b/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json @@ -2,9 +2,9 @@ "03_tloadAfterStoreIs0" : { "_info" : { "comment" : "Loading any other slot after storing to a slot returns 0.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "f5cfc970b2739e231f796adb72c9f5d277ab2542be5514e1728abbf9ab450f03", + "generatedTestHash" : "ab547d8593ec450720ed2ca30d46568af79ba2611573d9d9bfdeeb5477d02db3", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x7f62165f889fdd180c75e0c8257c0a56c5b947ab44386adc108fe8dde90921c5", + "hash" : "0x7ceda2830d5a92823cf01d313028c3e510617d940995170c65bda6d23a7a7a02", "indexes" : { "data" : 0, "gas" : 0, diff --git a/GeneralStateTests/stExample/04_tloadAfterCall.json b/GeneralStateTests/stExample/04_tloadAfterCall.json index e8997e68fa3..a0f3a286e0e 100644 --- a/GeneralStateTests/stExample/04_tloadAfterCall.json +++ b/GeneralStateTests/stExample/04_tloadAfterCall.json @@ -2,9 +2,9 @@ "04_tloadAfterCall" : { "_info" : { "comment" : "Loading a slot after a call to another contract is 0.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "286a13c0e135cc7650793a82bac2965bdd2af944c6940bbcdc184b50b7325903", + "generatedTestHash" : "6270578a0b87177b2daefd7ee8474392893cacba462720d708e74ec0ac69a1cf", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0xde1d365bb125f5af4368671808f82faba1f30d152a6e51d7d513a0cd8f3defeb", + "hash" : "0x9801cb2d0d996b8658e676b68430b0f40aa38b61e984c442555e2f1f186edc12", "indexes" : { "data" : 0, "gas" : 0, diff --git a/GeneralStateTests/stExample/06_tstoreInReentrancyCall.json b/GeneralStateTests/stExample/06_tstoreInReentrancyCall.json index d83cd1fdec6..9f364e32965 100644 --- a/GeneralStateTests/stExample/06_tstoreInReentrancyCall.json +++ b/GeneralStateTests/stExample/06_tstoreInReentrancyCall.json @@ -2,13 +2,13 @@ "06_tstoreInReentrancyCall" : { "_info" : { "comment" : "Reentrant calls access the same transient storage.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "078841639a73b0523759fa0e3087a20e32b8c9e2cb264229f4e53991d06af501", + "generatedTestHash" : "0acbca62834594d7b4cb105d925ce0ff12f4769081c90337fcc85c636c039baa", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml", - "sourceHash" : "efc734a2c21672c9f4d4598603de1e1cf7b163b49fdb53e74ccedb4a98f203d9" + "sourceHash" : "443c0f94215d749a6109199951a98e36db45d7310202d08c7e297496cc092dc5" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x3c362ee2d340d71c675842a45ccec5abc0729343a4702cbdf92166cca68325fd", + "hash" : "0xf100b8b8ee1601f792d89125cf4b2773ffe1f3cf6ba741deb559eefc78b79619", "indexes" : { "data" : 0, "gas" : 0, diff --git a/GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json b/GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json index 9757ef121df..d293af03969 100644 --- a/GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json +++ b/GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json @@ -1,14 +1,14 @@ { "07_tloadAfterReentrancyStore" : { "_info" : { - "comment" : "Reentrant calls access the same transient storage.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "comment" : "Successfully returned calls do not revert transient storage writes.", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "301b46dba2bcfd3701d01cb22f67a6042512f5a04ea561f0be41e3297ec7df9c", + "generatedTestHash" : "7849a560f5275b3c984d1af2284439c744a602966f4dfa05b5270326177e7529", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml", - "sourceHash" : "7cbb4725d632675a52a43675a2ee344feca09916f2877902aaf4c5227c99fdb9" + "sourceHash" : "60ff94535acabc08b058008952210711fd9b0030d797e695e63642864e50c279" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x9fdb16e888093ae3ab6ae149e5864753f4a0f438f0e63a2cf0f6944bd05841d0", + "hash" : "0xa252d312fab0d7339e304c3b1ff5a8b6590b6699bf8b38db29b2d851d93bcbd2", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560ae565b6362fdb9be8114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c6054565b6047565b6046605f565b5b5060da565b604e6000b45b565b6000b380600155505b565b60376000b46000b3806000557f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060025560a96054565b50505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6005608f565b6362fdb9be8114602257633f3716928114602c5760006002556033565b60286038565b6033565b60326040565b5b5060bb565b604e6000b45b565b60376000b46000b3806000557f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806002556000b360015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stExample/08_revertUndoesTransientStore.json b/GeneralStateTests/stExample/08_revertUndoesTransientStore.json index ed423a93a0a..7ba31225572 100644 --- a/GeneralStateTests/stExample/08_revertUndoesTransientStore.json +++ b/GeneralStateTests/stExample/08_revertUndoesTransientStore.json @@ -2,13 +2,13 @@ "08_revertUndoesTransientStore" : { "_info" : { "comment" : "Revert undoes the transient storage writes from a call.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "0168d8aee678c8036264d678217ec4bea4ed1257273105700c1fc9219a1fa069", + "generatedTestHash" : "09e7490f8929d5321283671df268a29f7f51510ac1166a5353f30bb659f554ae", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml", - "sourceHash" : "00d7d817ce9b95474cf10acf91be3086ccc4fc2bb189fed40c47e26c08247a77" + "sourceHash" : "ade71ecb99c9fec9526e4aad7a38725c46cbd14de7d1a4260fea187f12111e25" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x6ed625f68028b57986a8370ffc8390fcddbc25e8a75e5804025a227509597cc7", + "hash" : "0x31ed4a216d9367f1927f8be989c37a05db4ffa728249d902d2777d22378822f1", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560b3565b63e2da2eb08114602c576343ac1c398114603657633f371692811460405760016002556047565b6032604c565b6047565b603c6059565b6047565b60466064565b5b5060df565b600b6000b460006000fd5b565b6000b380600155505b565b600a6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060025560ae6059565b50505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x60056094565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326045565b5b5060c0565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806002556000b360015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { } @@ -72,4 +72,4 @@ ] } } -} +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/09_revertUndoesAll.json b/GeneralStateTests/stExample/09_revertUndoesAll.json index c132b3b87be..4f30096353d 100644 --- a/GeneralStateTests/stExample/09_revertUndoesAll.json +++ b/GeneralStateTests/stExample/09_revertUndoesAll.json @@ -2,10 +2,11 @@ "09_revertUndoesAll" : { "_info" : { "comment" : "Revert undoes all the transient storage writes to the same key from the failed call.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", - "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "bc1c48b3fca0e98d7f795176a13cea421a40b86a899c34e6b18fccbcd2aeee0b", - "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "9e8b91dbeb29d9adb0ff102ed46f882ecc4cb2a97836dd195abedb1473c015b2", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml", "sourceHash" : "77da6611fc78c48efe8013b7940a7fe3605f4f6a200dc78a779eafb3d0669e06" }, @@ -15,13 +16,14 @@ "currentDifficulty" : "0x020000", "currentGasLimit" : "0x10000000000000", "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", "currentTimestamp" : "0x03e8", "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { "London" : [ { - "hash" : "0x1467810b2e0dac42c19bf41971db891277b14660d36d7fc6e54e82b58f358cad", + "hash" : "0xddbd43a9a8ceb4d893a1818ca40d0c0eb707a17e81abdb97fbe16e5786fa8771", "indexes" : { "data" : 0, "gas" : 0, @@ -63,6 +65,7 @@ "maxPriorityFeePerGas" : "0x00", "nonce" : "0x00", "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "to" : "0x000000000000000000000000000000000000000a", "value" : [ "0x00" diff --git a/GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json index 19a9ba8bc03..670cbb5a830 100644 --- a/GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json +++ b/GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json @@ -2,13 +2,13 @@ "10_revertUndoesStoreAfterReturn" : { "_info" : { "comment" : "Revert undoes the transient storage writes after a successful call.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "9bd2fe55aa144c47057895d24e12d68a3148b9dd7569b64c1d9a6c8af4727e92", + "generatedTestHash" : "01e411ddd3c27eeca09cfc614dcb7e2c0c423ac4490b177d44385a8efbe31f1e", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml", - "sourceHash" : "b3502f05a96d5034d2aba363be4d3225090bb0c93e397df21121058239646d89" + "sourceHash" : "115ecd929e9e8a843709fb0f5a39034e3a6607e4cc2247447260775eaece90d1" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x1b0fd1417c19251e31263b362efaf7c4bdbc5d68f468432bfc64780f600c905b", + "hash" : "0xe50635f7fb411b866f99b33a832c15ed7c2f770ad87f6c9885224e5b9372c8f0", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6100076100ff565b6370ac643e8114610032576376b85d23811461003f57634ccca553811461004c576001600255610055565b61003a61005b565b610055565b6100476100a1565b610055565b6100546100d9565b5b5061012b565b60056000b46000b3806000556100907f76b85d23000000000000000000000000000000000000000000000000000000006100e1565b806001556000b3806002555050505b565b6100ca7f4ccca553000000000000000000000000000000000000000000000000000000006100e1565b6000b360035560006000fd505b565b60066000b45b565b60008160005260006000602060006000600a61fffff190505b919050565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6100076100f9565b6370ac643e8114610032576376b85d23811461003f57634ccca553811461004c576001600255610055565b61003a61005b565b610055565b6100476100a1565b610055565b6100546100d3565b5b50610125565b60056000b46000b3806000556100907f76b85d23000000000000000000000000000000000000000000000000000000006100db565b806001556000b3806002555050505b565b6100ca7f4ccca553000000000000000000000000000000000000000000000000000000006100db565b60006000fd505b565b60066000b45b565b60008160005260006000602060006000600a61fffff190505b919050565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stExample/11_tstoreDelegateCall.json b/GeneralStateTests/stExample/11_tstoreDelegateCall.json index c5d91d4a0a6..0f560674357 100644 --- a/GeneralStateTests/stExample/11_tstoreDelegateCall.json +++ b/GeneralStateTests/stExample/11_tstoreDelegateCall.json @@ -1,13 +1,14 @@ { "11_tstoreDelegateCall" : { "_info" : { - "comment" : "Loading a slot after a call to another contract is 0.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", - "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "f36e31fa82a7f40015db8a915ac77c454f9097978ef17a99c0c9dac19f049583", - "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "comment" : "delegatecall manipulates transient storage in the context of the current address.", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "d45439392fad10cfe0e1450d7db7f7ca75e4c3c2db47e1b68d1716b9743aef44", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml", - "sourceHash" : "7fd3e946794f30c9a09d79bff8f8e6dd2a7934ddb7053d40dad21a8d22dea4e5" + "sourceHash" : "fd8dee1a4f87208f55ab7147cfb4525bedc879904a65753fea48768264944bc4" }, "env" : { "currentBaseFee" : "0x0a", @@ -15,13 +16,14 @@ "currentDifficulty" : "0x020000", "currentGasLimit" : "0x10000000000000", "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", "currentTimestamp" : "0x03e8", "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { "London" : [ { - "hash" : "0xd3efb38ef9041d469dc81cc63bf34e867bd3da99184492442c33f33baafcbf9e", + "hash" : "0x2b06f892cdb5375ccf896e25a01416e25ed94016660fa51ec4cd7a0a692895ab", "indexes" : { "data" : 0, "gas" : 0, @@ -70,6 +72,7 @@ "maxPriorityFeePerGas" : "0x00", "nonce" : "0x00", "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "to" : "0x000000000000000000000000000000000000000a", "value" : [ "0x00" diff --git a/GeneralStateTests/stExample/12_tloadDelegateCall.json b/GeneralStateTests/stExample/12_tloadDelegateCall.json index efed43cdc04..a904568a350 100644 --- a/GeneralStateTests/stExample/12_tloadDelegateCall.json +++ b/GeneralStateTests/stExample/12_tloadDelegateCall.json @@ -2,10 +2,11 @@ "12_tloadDelegateCall" : { "_info" : { "comment" : "delegatecall reads transient storage in the context of the current address", - "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", - "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "167a8cba1e4fa492c0c26e5cf3a55f19887f062c1a34d8670741081e8a91bb1d", - "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "e62f5b7385e05dfd2718926570875ce6f72d037dd9fb0161a20a44bcf8ff13f6", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml", "sourceHash" : "cada66c9783f3e4a2bb4211d6a9d6ab44c8880c2057343489dfbb796d888e6ea" }, @@ -15,13 +16,14 @@ "currentDifficulty" : "0x020000", "currentGasLimit" : "0x10000000000000", "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", "currentTimestamp" : "0x03e8", "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { "London" : [ { - "hash" : "0x04a21983615fd856a6b8c588fb09d0ff639cd9b6fa0f0512f5ab325baf8b526a", + "hash" : "0x7a2c72b0c5de84358fe3f49ae9c846781bc7d3a9ddd413ab5d9ce7bd80f0498d", "indexes" : { "data" : 0, "gas" : 0, @@ -70,6 +72,7 @@ "maxPriorityFeePerGas" : "0x00", "nonce" : "0x00", "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "to" : "0x000000000000000000000000000000000000000a", "value" : [ "0x00" diff --git a/GeneralStateTests/stExample/13_tloadStaticCall.json b/GeneralStateTests/stExample/13_tloadStaticCall.json index 63a2e6fb17b..6c4d535e982 100644 --- a/GeneralStateTests/stExample/13_tloadStaticCall.json +++ b/GeneralStateTests/stExample/13_tloadStaticCall.json @@ -2,10 +2,11 @@ "13_tloadStaticCall" : { "_info" : { "comment" : "Transient storage cannot be manipulated in a static context, tstore reverts.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", - "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "1e62acf31694b2d56e19e2a52a4d75ecb1ca7501fd3487af01bfd10d7da9098d", - "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "061c51ae9fe2bbd988a84fbd7f3fdb50a55b0af0cc1a9805b2251936c7aa9d87", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml", "sourceHash" : "6063a3086223a4e98992d57ca5844f6527e9da5f2c6ee350179d29a058efe1d5" }, @@ -15,13 +16,14 @@ "currentDifficulty" : "0x020000", "currentGasLimit" : "0x10000000000000", "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", "currentTimestamp" : "0x03e8", "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { "London" : [ { - "hash" : "0x0051faf69c2d0aaddc35eec4c167d06a3cd257b347a00453b8f93832ff4c426c", + "hash" : "0xc75a280f939a77be17a6ae55175541a7056671f3250bea6ba47fd58ece0a4b6a", "indexes" : { "data" : 0, "gas" : 0, @@ -63,6 +65,7 @@ "maxPriorityFeePerGas" : "0x00", "nonce" : "0x00", "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "to" : "0x000000000000000000000000000000000000000a", "value" : [ "0x00" diff --git a/GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json b/GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json index 4c870d451be..6da21e6a29c 100644 --- a/GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json +++ b/GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json @@ -2,13 +2,13 @@ "14_revertAfterNestedStaticcall" : { "_info" : { "comment" : "Transient storage can't be manipulated from nested staticcall.", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "eca6dec86f321c6742f553d5f7fde94c8c0b8bcc74527ca4b8f26358670b2bcf", + "generatedTestHash" : "1bdd64c188f41bb2f1537ef789ce1054c7f02bebfaa48547458668f92de7c501", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml", - "sourceHash" : "1c3bd5f340b5ed147e0ebd56e805d0129546760d13865329f62761d48c58541f" + "sourceHash" : "b61c724427338f1bfe4ab954d7debdd6c3606057bb7151341ad1201d1fe349b2" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x0a0422a2a594f972a8de8b399f34dd97226b010aa701e2888297799d1f6a51a4", + "hash" : "0xaf72b62ad234cccd444b57d7eab967813b384276b3ca94d0717ea685e5790afd", "indexes" : { "data" : 0, "gas" : 0, diff --git a/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json b/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json index 71b8ce7c5c0..6a3b245e0cc 100644 --- a/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "452289fcfe4123543a9d34f0449412e488bc094b9ac00739b10b5a4d4fe2c512" + "sourceHash" : "0a9a526ac6ff5c2a612e68a626f1049c5eacc47f54fcc7898e011bf3a2063c67" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stExample/16_tloadGas.json b/GeneralStateTests/stExample/16_tloadGas.json index b4481e9a3ff..5b8f5ae4d8d 100644 --- a/GeneralStateTests/stExample/16_tloadGas.json +++ b/GeneralStateTests/stExample/16_tloadGas.json @@ -2,10 +2,11 @@ "16_tloadGas" : { "_info" : { "comment" : "tload costs 100 gas same as a warm sload", - "filling-rpc-server" : "evm version 1.10.17-unstable-4045ed9e-20220620", - "filling-tool-version" : "retesteth-0.2.1-difficulty+commit.1ee81863.Linux.g++", - "generatedTestHash" : "3e7c1adedd1d12aa8b689debc9f81d6eeea38721989fa50e9fb46f798a21da23", - "lllcversion" : "Version: 0.5.14-develop.2022.6.23+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "b976ad4c46afc91a897b594f8de2c51f9e13a11e54f5277b368f068b1bccb1f2", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml", "sourceHash" : "cf8d122d1bf7e64455f2b0bfe5d73dfc289cc713a6192ae021fda79a1af84c73" }, @@ -15,13 +16,14 @@ "currentDifficulty" : "0x020000", "currentGasLimit" : "0x10000000000000", "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", "currentTimestamp" : "0x03e8", "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { "London" : [ { - "hash" : "0x2a428f68bc2a956f50a3806246d2b4eea5e92574fa92431d08bdd09f1949e95b", + "hash" : "0x971000ab9ca47073e927e0f3f64ae126817f055772d86e913be1d9fdc5c34834", "indexes" : { "data" : 0, "gas" : 0, @@ -64,6 +66,7 @@ "maxPriorityFeePerGas" : "0x00", "nonce" : "0x00", "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "to" : "0x000000000000000000000000000000000000000a", "value" : [ "0x00" diff --git a/src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml b/src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml index bb0fb85efa5..f8480e20a76 100644 --- a/src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml @@ -3,7 +3,7 @@ # # Expect slot 0 to have 80 from the first tstore & tload. # Expect slot 1 to have 90 from the re-entered call. -# Expect slot 2 to have 1 (for successful call). +# Expect slot 2 to have 1. Call was successful. 06_tstoreInReentrancyCall: _info: @@ -26,18 +26,15 @@ :yul { switch selector() - // doStoreAndLoad() { - case 0x0accf739 { + case 0x0accf739 { // doStoreAndLoad() doStoreAndLoad() } - // doLoad() - case 0x43ac1c39 { + case 0x43ac1c39 { // doLoad() doLoad() } - // doReenter() - case 0x3f371692 { + case 0x3f371692 { // doReenter() doReenter() } @@ -56,14 +53,11 @@ } function doReenter() { - // tstore verbatim_2i_0o(hex"b4", 0, 80) - - // tload let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) - mstore(0, hex"0accf739") + mstore(0, hex"0accf739") // doStoreAndLoad() let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) sstore(2, success) } diff --git a/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml index d90af523026..8af79b8a6f9 100644 --- a/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml @@ -3,11 +3,11 @@ # # Expect slot 0 to have 55 from the first tstore & tload. # Expect slot 1 to have 78 after the return from the call. -# Expect slot 2 to have 1 (for successful call). +# Expect slot 2 to have 1. Call was successful. 07_tloadAfterReentrancyStore: _info: - comment: Reentrant calls access the same transient storage. + comment: Successfully returned calls do not revert transient storage writes. env: currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba @@ -26,18 +26,11 @@ :yul { switch selector() - // doStore() { - case 0x62fdb9be { + case 0x62fdb9be { // doStore() doStore() } - - // doLoad() - case 0x43ac1c39 { - doLoad() - } - // doReenter() - case 0x3f371692 { + case 0x3f371692 { // doReenter() doReenter() } @@ -49,24 +42,16 @@ verbatim_2i_0o(hex"b4", 0, 78) } - function doLoad() { - let v := verbatim_1i_1o(hex"b3", 0) - sstore(1, v) - } - function doReenter() { - // tstore verbatim_2i_0o(hex"b4", 0, 55) - - // tload let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) - mstore(0, hex"62fdb9be") + mstore(0, hex"62fdb9be") // doStore() let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) sstore(2, success) - doLoad() + sstore(1, verbatim_1i_1o(hex"b3", 0)) } function selector() -> s { diff --git a/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml index a8d891f6fd1..be69e12fc70 100644 --- a/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml @@ -3,7 +3,7 @@ # # Expect slot 0 to have 10 from the first tstore & tload. # Expect slot 1 to have 10 after the return from the call. -# Expect slot 2 to have 0 (for unsuccessful call). +# Expect slot 2 to have 0. Call was unsuccessful. 08_revertUndoesTransientStore: _info: @@ -26,18 +26,11 @@ :yul { switch selector() - // doStoreAndRevert() { - case 0xe2da2eb0 { + case 0xe2da2eb0 { // doStoreAndRevert() doStoreAndRevert() } - // doLoad() - case 0x43ac1c39 { - doLoad() - } - - // doReenter() - case 0x3f371692 { + case 0x3f371692 { // doReenter() doReenter() } @@ -50,24 +43,16 @@ revert(0, 0) } - function doLoad() { - let v := verbatim_1i_1o(hex"b3", 0) - sstore(1, v) - } - function doReenter() { - // tstore verbatim_2i_0o(hex"b4", 0, 10) - - // tload let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) - mstore(0, hex"e2da2eb0") - let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) - sstore(2, success) + mstore(0, hex"e2da2eb0") // doStoreAndRevert() + let fail := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + sstore(2, fail) - doLoad() + sstore(1, verbatim_1i_1o(hex"b3", 0)) } function selector() -> s { diff --git a/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml index 7d648565e98..b741538cea2 100644 --- a/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml @@ -22,7 +22,7 @@ 000000000000000000000000000000000000000A: balance: 1000000000000000000 nonce: 0 - code: | + code: | :yul { switch selector() diff --git a/src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml index fffcb355511..ff439ad03e2 100644 --- a/src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml @@ -1,9 +1,10 @@ # 10 -# Revert undoes transient storage writes from inner calls that successfully returned: TSTORE(x, y), CALL(self, ...), CALL(self, ...), TSTORE(x, y + 1), RETURN, REVERT, TLOAD(x) returns y +# Revert undoes transient storage writes from inner calls that successfully returned. +# TSTORE(x, y), CALL(self, ...), CALL(self, ...), TSTORE(x, y + 1), RETURN, REVERT, TLOAD(x) returns y # # Expect slot 0 to have 5 from the first tstore & tload. -# Expect slot 1 to have 0 (for unsuccessful call). -# Expect slot 2 to have 5 (original value). +# Expect slot 1 to have 0. Call was unsuccessful. +# Expect slot 2 to have 5. Should load the value stored before the unsuccessful call. 10_revertUndoesStoreAfterReturn: _info: @@ -58,7 +59,6 @@ function doCallThenRevert() { let s := doReenter(hex"4ccca553") // calls doSuccessfulStore() - sstore(3, verbatim_1i_1o(hex"b3", 0)) revert(0, 0) } diff --git a/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml index 622fec366e2..541f25f6765 100644 --- a/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml @@ -22,7 +22,7 @@ 000000000000000000000000000000000000000A: balance: 1000000000000000000 nonce: 0 - code: | + code: | :yul { verbatim_2i_0o(hex"b4", 0, 1) let success := delegatecall(0xffff, 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) diff --git a/src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml index d113031958e..f19366b57fd 100644 --- a/src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml @@ -49,7 +49,7 @@ let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) - mstore(0, hex"f8dfc2d0") + mstore(0, hex"f8dfc2d0") // doCallToStore() let success := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 0) sstore(2, success) // should be 0 (revert) @@ -59,7 +59,7 @@ function doCallToStore() { - mstore(0, hex"62fdb9be") + mstore(0, hex"62fdb9be") // doStore() let f := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) sstore(1, f) // should revert } diff --git a/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml index 3ba721d2b2e..0966b59447e 100644 --- a/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml @@ -1,8 +1,8 @@ # 15 # Transient storage cannot be DOS’d: CALL(self, ...), TSTORE(x, y), TSTORE(x + 1, y), TSTORE(x + 2, y), ... ,TSTORE(x + n, y), REVERT, TLOAD(x) returns 0 and runs in under 15 seconds # -# Expect slot 0 to have 0 (from revert). -# Expect slot 1 to have 0. +# Expect slot 0 to have 0. Call fails. +# Expect slot 1 to have 0. Loading returns 0. 15_tstoreCannotBeDosd: _info: @@ -40,7 +40,7 @@ } function doCall(n) { - mstore(0, hex"f7d6c0eb") + mstore(0, hex"f7d6c0eb") // doNStores(n) mstore(32, n) let t := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 0) sstore(0, t) // should revert diff --git a/src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml b/src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml index 45df2907c32..681db800b9a 100644 --- a/src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml +++ b/src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml @@ -1,9 +1,9 @@ # 17 # Tstore arbitrary value in arbitrary slot costs 100 gas : TSTORE(x, y) costs 100 gas. # -# Expect storage slot 0 to be 100 (warm dirty ssload gas cost). -# Expect storage slot 1 to be 100 (tload gas cost). -# Expect storage slot 2 to be 1. Tload gas and sstore gas should be equal. +# Expect storage slot 0 to be 100. Cost of warm sstore of dirty slot. +# Expect storage slot 1 to be 100. Cost of tstore. +# Expect storage slot 2 to be 1. tstore gas and sstore gas should be equal. # Expect storage slot 5 to be 2 from the last sstore. 17_tstoreGas: From f04bd2cd368c95cafb33e1950b078e64aa0bf00d Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Wed, 29 Jun 2022 18:02:43 -0400 Subject: [PATCH 15/56] add across txn and across block tests --- .../tloadDoesNotPersistAcrossBlocks.json | 167 ++++++++++++++++++ .../tloadDoesNotPersistCrossTxn.json | 167 ++++++++++++++++++ .../tloadDoesNotPersistAcrossBlocksFiller.yml | 103 +++++++++++ .../tloadDoesNotPersistCrossTxnFiller.yml | 101 +++++++++++ 4 files changed, 538 insertions(+) create mode 100644 BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocks.json create mode 100644 BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json create mode 100644 src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocksFiller.yml create mode 100644 src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml diff --git a/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocks.json b/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocks.json new file mode 100644 index 00000000000..d75ac1f82ce --- /dev/null +++ b/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocks.json @@ -0,0 +1,167 @@ +{ + "tloadDoesNotPersistAcrossBlocks_London" : { + "_info" : { + "comment" : "", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "276cbe08330ec3e05ee93d1f218a4c200d4c7418a5cec0bccd087912da8b6cf0", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocksFiller.yml", + "sourceHash" : "b2c551b0653dcb1b27ac0d4914da3d84ee98d992ce341be1d26c071e87db57aa" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x036b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0xba5e000000000000000000000000000000000000", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x016345785d8a0000", + "gasUsed" : "0xa9f6", + "hash" : "0x02f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x8efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5", + "receiptTrie" : "0x58d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778", + "stateRoot" : "0x704bf0c89f3b642e08eefe0aeb64dfa53d7ba9b1859bba68381c80630584ec6b", + "timestamp" : "0x079e", + "transactionsTrie" : "0xaa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcd", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "1", + "chainname" : "default", + "rlp" : "0xf90275f901ffa08efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0704bf0c89f3b642e08eefe0aeb64dfa53d7ba9b1859bba68381c80630584ec6ba0aa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcda058d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a000082a9f682079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf870b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x0accf739", + "gasLimit" : "0xe8d4a51000", + "maxFeePerGas" : "0x03e8", + "maxPriorityFeePerGas" : "0x01", + "nonce" : "0x00", + "r" : "0x12d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0", + "s" : "0x051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "baseFeePerGas" : "0x02fe", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0xba5e000000000000000000000000000000000000", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x016345785d8a0000", + "gasUsed" : "0x5bdb", + "hash" : "0xb27d9c8c85eeb0f975799b00e330e1a46411e8e7014eb36548530fa9c5208a5d", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce" : "0x0000000000000000", + "number" : "0x02", + "parentHash" : "0x02f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942", + "receiptTrie" : "0x4b1144a2e2a3e6d85e4498ace0051018bb02196e3dac21e1b2820b3e47e944c1", + "stateRoot" : "0x962d829b1d47ed683acb082d9d05b14949f2980563f4844c90c76080b5d027c8", + "timestamp" : "0x0b86", + "transactionsTrie" : "0xda0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "2", + "chainname" : "default", + "rlp" : "0xf90275f901ffa002f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0962d829b1d47ed683acb082d9d05b14949f2980563f4844c90c76080b5d027c8a0da0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904a04b1144a2e2a3e6d85e4498ace0051018bb02196e3dac21e1b2820b3e47e944c1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000288016345785d8a0000825bdb820b8642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008202fef870b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x43ac1c39", + "gasLimit" : "0xe8d4a51000", + "maxFeePerGas" : "0x03e8", + "maxPriorityFeePerGas" : "0x01", + "nonce" : "0x01", + "r" : "0x19a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051", + "s" : "0x11303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x00", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x03e8", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0xba5e000000000000000000000000000000000000", + "difficulty" : "0x020001", + "extraData" : "0x42", + "gasLimit" : "0x016345785d8a0000", + "gasUsed" : "0x00", + "hash" : "0x8efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x038f06c45bbe01d2c8d99f25381118c362f40945f384ba1831639dddf919fcbe", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0038f06c45bbe01d2c8d99f25381118c362f40945f384ba1831639dddf919fcbea056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200018088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0", + "lastblockhash" : "0xb27d9c8c85eeb0f975799b00e330e1a46411e8e7014eb36548530fa9c5208a5d", + "network" : "London", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x01000000000000000000", + "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x5a" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffca73513", + "code" : "0x", + "nonce" : "0x02", + "storage" : { + } + }, + "0xba5e000000000000000000000000000000000000" : { + "balance" : "0x3782dace9d9105d1", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x01000000000000000000", + "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x01000000000000000000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json b/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json new file mode 100644 index 00000000000..0f8d3f181fb --- /dev/null +++ b/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json @@ -0,0 +1,167 @@ +{ + "tloadDoesNotPersistCrossTxn_London" : { + "_info" : { + "comment" : "", + "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "generatedTestHash" : "d7bc5e5edebcef933c63cd49701ceac1c0ca1af1fbf67c31958fc52f91ba03bb", + "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml", + "sourceHash" : "70b24819cf0223a1ac62615c237f259067ff9313a17d1b2949fb58da2e88ff3c" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x036b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0xba5e000000000000000000000000000000000000", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x016345785d8a0000", + "gasUsed" : "0xa9f6", + "hash" : "0x02f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x8efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5", + "receiptTrie" : "0x58d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778", + "stateRoot" : "0x704bf0c89f3b642e08eefe0aeb64dfa53d7ba9b1859bba68381c80630584ec6b", + "timestamp" : "0x079e", + "transactionsTrie" : "0xaa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcd", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "1", + "chainname" : "default", + "rlp" : "0xf90275f901ffa08efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0704bf0c89f3b642e08eefe0aeb64dfa53d7ba9b1859bba68381c80630584ec6ba0aa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcda058d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a000082a9f682079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf870b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x0accf739", + "gasLimit" : "0xe8d4a51000", + "maxFeePerGas" : "0x03e8", + "maxPriorityFeePerGas" : "0x01", + "nonce" : "0x00", + "r" : "0x12d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0", + "s" : "0x051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "baseFeePerGas" : "0x02fe", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0xba5e000000000000000000000000000000000000", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x016345785d8a0000", + "gasUsed" : "0x5bdb", + "hash" : "0xb27d9c8c85eeb0f975799b00e330e1a46411e8e7014eb36548530fa9c5208a5d", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce" : "0x0000000000000000", + "number" : "0x02", + "parentHash" : "0x02f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942", + "receiptTrie" : "0x4b1144a2e2a3e6d85e4498ace0051018bb02196e3dac21e1b2820b3e47e944c1", + "stateRoot" : "0x962d829b1d47ed683acb082d9d05b14949f2980563f4844c90c76080b5d027c8", + "timestamp" : "0x0b86", + "transactionsTrie" : "0xda0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "2", + "chainname" : "default", + "rlp" : "0xf90275f901ffa002f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0962d829b1d47ed683acb082d9d05b14949f2980563f4844c90c76080b5d027c8a0da0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904a04b1144a2e2a3e6d85e4498ace0051018bb02196e3dac21e1b2820b3e47e944c1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000288016345785d8a0000825bdb820b8642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008202fef870b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x43ac1c39", + "gasLimit" : "0xe8d4a51000", + "maxFeePerGas" : "0x03e8", + "maxPriorityFeePerGas" : "0x01", + "nonce" : "0x01", + "r" : "0x19a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051", + "s" : "0x11303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x00", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x03e8", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0xba5e000000000000000000000000000000000000", + "difficulty" : "0x020001", + "extraData" : "0x42", + "gasLimit" : "0x016345785d8a0000", + "gasUsed" : "0x00", + "hash" : "0x8efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x038f06c45bbe01d2c8d99f25381118c362f40945f384ba1831639dddf919fcbe", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0038f06c45bbe01d2c8d99f25381118c362f40945f384ba1831639dddf919fcbea056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200018088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0", + "lastblockhash" : "0xb27d9c8c85eeb0f975799b00e330e1a46411e8e7014eb36548530fa9c5208a5d", + "network" : "London", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x01000000000000000000", + "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x5a" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffca73513", + "code" : "0x", + "nonce" : "0x02", + "storage" : { + } + }, + "0xba5e000000000000000000000000000000000000" : { + "balance" : "0x3782dace9d9105d1", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x01000000000000000000", + "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x01000000000000000000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocksFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocksFiller.yml new file mode 100644 index 00000000000..fb8d9688ab9 --- /dev/null +++ b/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocksFiller.yml @@ -0,0 +1,103 @@ +# Tload should not load the value stored in the previous block. + +tloadDoesNotPersistAcrossBlocks: + genesisBlockHeader: + bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + coinbase: 0xBA5E000000000000000000000000000000000000 + difficulty: '131073' + extraData: '0x42' + gasUsed: '0' + mixHash: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421' + nonce: '0x0102030405060708' + number: '0' + parentHash: '0x0000000000000000000000000000000000000000000000000000000000000000' + receiptTrie: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421' + stateRoot: '0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a' + timestamp: '0x03b6' + transactionsTrie: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421' + uncleHash: '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347' + gasLimit: 100000000000000000 + gasUsed: 10000000000 + baseFeePerGas: 1000 + sealEngine: NoProof + + pre: + 0x000000000000000000000000000000000000000A: + balance: 0x1000000000000000000 + code: | + :yul { + switch selector() + + case 0x0accf739 { // doStoreAndLoad() + doStoreAndLoad() + } + + case 0x43ac1c39 { // doLoad() + doLoad() + } + + default { + sstore(0, 1) + } + + function doStoreAndLoad() { + verbatim_2i_0o(hex"b4", 0, 90) + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + } + + function doLoad() { + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + nonce: '0x00' + storage: {} + + 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 0x1000000000000000000 + nonce: 0 + code: '' + storage: {} + + + + blocks: + # Block 1 + - transactions: + - data: :abi doStoreAndLoad() + accessList: [] + gasLimit: 1000000000000 + maxPriorityFeePerGas: 1 + maxFeePerGas: 1000 + nonce: 0 + secretKey: 45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8 + to: 000000000000000000000000000000000000000A + value: 0x0 + # Block 2 + - transactions: + - data: :abi doLoad() + accessList: [] + gasLimit: 1000000000000 + maxPriorityFeePerGas: 1 + maxFeePerGas: 1000 + nonce: 1 + secretKey: 45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8 + to: 000000000000000000000000000000000000000A + value: 0x0 + + + + expect: + - network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 90 + 0x01: 0 \ No newline at end of file diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml new file mode 100644 index 00000000000..a54ff320e30 --- /dev/null +++ b/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml @@ -0,0 +1,101 @@ +# Tload should not load the value stored in the previous transaction. + +tloadDoesNotPersistCrossTxn: + genesisBlockHeader: + bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + coinbase: 0xBA5E000000000000000000000000000000000000 + difficulty: '131073' + extraData: '0x42' + gasUsed: '0' + mixHash: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421' + nonce: '0x0102030405060708' + number: '0' + parentHash: '0x0000000000000000000000000000000000000000000000000000000000000000' + receiptTrie: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421' + stateRoot: '0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a' + timestamp: '0x03b6' + transactionsTrie: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421' + uncleHash: '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347' + gasLimit: 100000000000000000 + gasUsed: 10000000000 + baseFeePerGas: 1000 + sealEngine: NoProof + + pre: + 0x000000000000000000000000000000000000000A: + balance: 0x1000000000000000000 + code: | + :yul { + switch selector() + + case 0x0accf739 { // doStoreAndLoad() + doStoreAndLoad() + } + + case 0x43ac1c39 { // doLoad() + doLoad() + } + + default { + sstore(0, 1) + } + + function doStoreAndLoad() { + verbatim_2i_0o(hex"b4", 0, 90) + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + } + + function doLoad() { + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + nonce: '0x00' + storage: {} + + 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 0x1000000000000000000 + nonce: 0 + code: '' + storage: {} + + + + blocks: + # Block 1 + - transactions: + - data: :abi doStoreAndLoad() + accessList: [] + gasLimit: 1000000000000 + maxPriorityFeePerGas: 1 + maxFeePerGas: 1000 + nonce: 0 + secretKey: 45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8 + to: 000000000000000000000000000000000000000A + value: 0x0 + - data: :abi doLoad() + accessList: [] + gasLimit: 1000000000000 + maxPriorityFeePerGas: 1 + maxFeePerGas: 1000 + nonce: 1 + secretKey: 45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8 + to: 000000000000000000000000000000000000000A + value: 0x0 + + + + expect: + - network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 90 + 0x01: 0 \ No newline at end of file From 9c69b21e0994c304756b171cbd0151d5b950861d Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 30 Jun 2022 19:21:20 -0400 Subject: [PATCH 16/56] passing cross txn test --- .../tloadDoesNotPersistCrossTxn.json | 54 +++++-------------- 1 file changed, 13 insertions(+), 41 deletions(-) diff --git a/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json b/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json index 0f8d3f181fb..4c403c43863 100644 --- a/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json +++ b/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json @@ -2,13 +2,13 @@ "tloadDoesNotPersistCrossTxn_London" : { "_info" : { "comment" : "", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "d7bc5e5edebcef933c63cd49701ceac1c0ca1af1fbf67c31958fc52f91ba03bb", + "generatedTestHash" : "f2b8e69ea1cd1abd356209da9f07f0ae13b64ec427b7cf863ed6a9b6142aca2f", "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml", - "sourceHash" : "70b24819cf0223a1ac62615c237f259067ff9313a17d1b2949fb58da2e88ff3c" + "sourceHash" : "caf0dcff5d991cd8eb152d8c0fa743c6e2736e89e86685ec1ab57a05e6f5ce51" }, "blocks" : [ { @@ -19,21 +19,21 @@ "difficulty" : "0x020000", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", - "gasUsed" : "0xa9f6", - "hash" : "0x02f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942", + "gasUsed" : "0x0105d1", + "hash" : "0x2dc5204a42dc34f570ec28d110fbcd27e2a4aaaf9f878f626d47554bbeffaf57", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce" : "0x0000000000000000", "number" : "0x01", "parentHash" : "0x8efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5", - "receiptTrie" : "0x58d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778", - "stateRoot" : "0x704bf0c89f3b642e08eefe0aeb64dfa53d7ba9b1859bba68381c80630584ec6b", + "receiptTrie" : "0xfc427267321a313bb5e52a5c1d08fa93939f6c2aad39a7f1062a0ed8362229f9", + "stateRoot" : "0xd283585f9e13281b5784bbdf7c2d57a91cda8fe363929f50fdb95f24e7b5d8e1", "timestamp" : "0x079e", - "transactionsTrie" : "0xaa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcd", + "transactionsTrie" : "0x14a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "1", "chainname" : "default", - "rlp" : "0xf90275f901ffa08efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0704bf0c89f3b642e08eefe0aeb64dfa53d7ba9b1859bba68381c80630584ec6ba0aa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcda058d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a000082a9f682079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf870b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603c0", + "rlp" : "0xf902e6f90200a08efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0d283585f9e13281b5784bbdf7c2d57a91cda8fe363929f50fdb95f24e7b5d8e1a014a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51a0fc427267321a313bb5e52a5c1d08fa93939f6c2aad39a7f1062a0ed8362229f9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a0000830105d182079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf8e0b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", "transactions" : [ { "accessList" : [ @@ -50,35 +50,7 @@ "type" : "0x02", "v" : "0x01", "value" : "0x00" - } - ], - "uncleHeaders" : [ - ] - }, - { - "blockHeader" : { - "baseFeePerGas" : "0x02fe", - "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "0xba5e000000000000000000000000000000000000", - "difficulty" : "0x020000", - "extraData" : "0x42", - "gasLimit" : "0x016345785d8a0000", - "gasUsed" : "0x5bdb", - "hash" : "0xb27d9c8c85eeb0f975799b00e330e1a46411e8e7014eb36548530fa9c5208a5d", - "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", - "nonce" : "0x0000000000000000", - "number" : "0x02", - "parentHash" : "0x02f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942", - "receiptTrie" : "0x4b1144a2e2a3e6d85e4498ace0051018bb02196e3dac21e1b2820b3e47e944c1", - "stateRoot" : "0x962d829b1d47ed683acb082d9d05b14949f2980563f4844c90c76080b5d027c8", - "timestamp" : "0x0b86", - "transactionsTrie" : "0xda0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904", - "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "blocknumber" : "2", - "chainname" : "default", - "rlp" : "0xf90275f901ffa002f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0962d829b1d47ed683acb082d9d05b14949f2980563f4844c90c76080b5d027c8a0da0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904a04b1144a2e2a3e6d85e4498ace0051018bb02196e3dac21e1b2820b3e47e944c1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000288016345785d8a0000825bdb820b8642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008202fef870b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", - "transactions" : [ + }, { "accessList" : [ ], @@ -120,7 +92,7 @@ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "genesisRLP" : "0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0038f06c45bbe01d2c8d99f25381118c362f40945f384ba1831639dddf919fcbea056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200018088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0", - "lastblockhash" : "0xb27d9c8c85eeb0f975799b00e330e1a46411e8e7014eb36548530fa9c5208a5d", + "lastblockhash" : "0x2dc5204a42dc34f570ec28d110fbcd27e2a4aaaf9f878f626d47554bbeffaf57", "network" : "London", "postState" : { "0x000000000000000000000000000000000000000a" : { @@ -132,14 +104,14 @@ } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffca73513", + "balance" : "0xfffffffffffc8018d4", "code" : "0x", "nonce" : "0x02", "storage" : { } }, "0xba5e000000000000000000000000000000000000" : { - "balance" : "0x3782dace9d9105d1", + "balance" : "0x1bc16d674ec905d1", "code" : "0x", "nonce" : "0x00", "storage" : { From 484f3d410b34c884392a2c1a4a5f7c78f3eea095 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Tue, 5 Jul 2022 17:37:39 -0400 Subject: [PATCH 17/56] add eip1153 folder, set initial storage when we expect 0 --- .../tloadDoesNotPersistAcrossBlocks.json | 45 +++++------ .../tloadDoesNotPersistCrossTxn.json | 35 ++++----- .../01_tloadBeginningTxn.json | 15 ++-- .../02_tloadAfterTstore.json} | 16 ++-- .../03_tloadAfterStoreIs0.json | 15 ++-- .../04_tloadAfterCall.json | 15 ++-- .../05_tloadReentrancy.json | 18 ++--- .../06_tstoreInReentrancyCall.json | 8 +- .../07_tloadAfterReentrancyStore.json | 8 +- .../08_revertUndoesTransientStore.json | 15 ++-- .../09_revertUndoesAll.json | 15 ++-- .../10_revertUndoesStoreAfterReturn.json | 15 ++-- .../11_tstoreDelegateCall.json | 8 +- .../12_tloadDelegateCall.json | 8 +- .../13_tloadStaticCall.json | 15 ++-- .../14_revertAfterNestedStaticcall.json | 17 +++-- .../15_tstoreCannotBeDosd.json | 16 ++-- .../{stExample => stEIP1153}/16_tloadGas.json | 8 +- .../17_tstoreGas.json | 8 +- .../stEIP1153/18_tloadAfterStore.json | 76 +++++++++++++++++++ .../tloadDoesNotPersistAcrossBlocksFiller.yml | 5 +- .../tloadDoesNotPersistCrossTxnFiller.yml | 5 +- .../01_tloadBeginningTxnFiller.yml | 2 +- .../02_tloadAfterTstoreFiller.yml} | 4 +- .../03_tloadAfterStoreIs0Filler.yml | 4 +- .../04_tloadAfterCallFiller.yml | 4 +- .../05_tloadReentrancyFiller.yml | 29 +++++-- .../06_tstoreInReentrancyCallFiller.yml | 0 .../07_tloadAfterReentrancyStoreFiller.yml | 0 .../08_revertUndoesTransientStoreFiller.yml | 2 +- .../09_revertUndoesAllFiller.yml | 2 +- .../10_revertUndoesStoreAfterReturnFiller.yml | 2 +- .../11_tstoreDelegateCallFiller.yml | 0 .../12_tloadDelegateCallFiller.yml | 0 .../13_tloadStaticCallFiller.yml | 4 +- .../14_revertAfterNestedStaticcallFiller.yml | 17 +++-- .../15_tstoreCannotBeDosdFiller.yml | 2 +- .../16_tloadGasFiller.yml | 0 .../17_tstoreGasFiller.yml | 0 .../stEIP1153/18_tloadAfterStoreFiller.yml | 61 +++++++++++++++ 40 files changed, 346 insertions(+), 173 deletions(-) rename BlockchainTests/{ValidBlocks/bcExample => InvalidBlocks/bcEIP1153}/tloadDoesNotPersistAcrossBlocks.json (82%) rename BlockchainTests/{ValidBlocks/bcExample => InvalidBlocks/bcEIP1153}/tloadDoesNotPersistCrossTxn.json (77%) rename GeneralStateTests/{stExample => stEIP1153}/01_tloadBeginningTxn.json (84%) rename GeneralStateTests/{stExample/02_tloadAfterStore.json => stEIP1153/02_tloadAfterTstore.json} (83%) rename GeneralStateTests/{stExample => stEIP1153}/03_tloadAfterStoreIs0.json (84%) rename GeneralStateTests/{stExample => stEIP1153}/04_tloadAfterCall.json (85%) rename GeneralStateTests/{stExample => stEIP1153}/05_tloadReentrancy.json (71%) rename GeneralStateTests/{stExample => stEIP1153}/06_tstoreInReentrancyCall.json (95%) rename GeneralStateTests/{stExample => stEIP1153}/07_tloadAfterReentrancyStore.json (95%) rename GeneralStateTests/{stExample => stEIP1153}/08_revertUndoesTransientStore.json (85%) rename GeneralStateTests/{stExample => stEIP1153}/09_revertUndoesAll.json (85%) rename GeneralStateTests/{stExample => stEIP1153}/10_revertUndoesStoreAfterReturn.json (86%) rename GeneralStateTests/{stExample => stEIP1153}/11_tstoreDelegateCall.json (94%) rename GeneralStateTests/{stExample => stEIP1153}/12_tloadDelegateCall.json (94%) rename GeneralStateTests/{stExample => stEIP1153}/13_tloadStaticCall.json (85%) rename GeneralStateTests/{stExample => stEIP1153}/14_revertAfterNestedStaticcall.json (73%) rename GeneralStateTests/{stExample => stEIP1153}/15_tstoreCannotBeDosd.json (85%) rename GeneralStateTests/{stExample => stEIP1153}/16_tloadGas.json (94%) rename GeneralStateTests/{stExample => stEIP1153}/17_tstoreGas.json (94%) create mode 100644 GeneralStateTests/stEIP1153/18_tloadAfterStore.json rename src/BlockchainTestsFiller/{ValidBlocks/bcExample => InvalidBlocks/bcEIP1153}/tloadDoesNotPersistAcrossBlocksFiller.yml (95%) rename src/BlockchainTestsFiller/{ValidBlocks/bcExample => InvalidBlocks/bcEIP1153}/tloadDoesNotPersistCrossTxnFiller.yml (95%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/01_tloadBeginningTxnFiller.yml (97%) rename src/GeneralStateTestsFiller/{stExample/02_tloadAfterStoreFiller.yml => stEIP1153/02_tloadAfterTstoreFiller.yml} (93%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/03_tloadAfterStoreIs0Filler.yml (91%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/04_tloadAfterCallFiller.yml (96%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/05_tloadReentrancyFiller.yml (72%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/06_tstoreInReentrancyCallFiller.yml (100%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/07_tloadAfterReentrancyStoreFiller.yml (100%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/08_revertUndoesTransientStoreFiller.yml (98%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/09_revertUndoesAllFiller.yml (98%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/10_revertUndoesStoreAfterReturnFiller.yml (98%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/11_tstoreDelegateCallFiller.yml (100%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/12_tloadDelegateCallFiller.yml (100%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/13_tloadStaticCallFiller.yml (98%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/14_revertAfterNestedStaticcallFiller.yml (87%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/15_tstoreCannotBeDosdFiller.yml (98%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/16_tloadGasFiller.yml (100%) rename src/GeneralStateTestsFiller/{stExample => stEIP1153}/17_tstoreGasFiller.yml (100%) create mode 100644 src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml diff --git a/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocks.json b/BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json similarity index 82% rename from BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocks.json rename to BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json index d75ac1f82ce..8b8745eb1e0 100644 --- a/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocks.json +++ b/BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json @@ -2,13 +2,13 @@ "tloadDoesNotPersistAcrossBlocks_London" : { "_info" : { "comment" : "", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "276cbe08330ec3e05ee93d1f218a4c200d4c7418a5cec0bccd087912da8b6cf0", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "d2a6e4b35044885d194325dd774070841177ffd5d141b7e3e8cb6804e6b852e6", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocksFiller.yml", - "sourceHash" : "b2c551b0653dcb1b27ac0d4914da3d84ee98d992ce341be1d26c071e87db57aa" + "source" : "src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml", + "sourceHash" : "ee9f25db1c76c52ef2ec78162f6cebbe011f15abdeeddc221ad6f4d45fcdcc6b" }, "blocks" : [ { @@ -20,20 +20,20 @@ "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0xa9f6", - "hash" : "0x02f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942", + "hash" : "0x2a3b080cd29bf5f7533700f7f35bd14eed08292db79cfc9421586b1601882715", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce" : "0x0000000000000000", "number" : "0x01", - "parentHash" : "0x8efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5", + "parentHash" : "0xe2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4", "receiptTrie" : "0x58d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778", - "stateRoot" : "0x704bf0c89f3b642e08eefe0aeb64dfa53d7ba9b1859bba68381c80630584ec6b", + "stateRoot" : "0x33d1a394e689bd267559c234a3455f7a9c4550f7197767eef793c6994677674c", "timestamp" : "0x079e", "transactionsTrie" : "0xaa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcd", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "1", "chainname" : "default", - "rlp" : "0xf90275f901ffa08efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0704bf0c89f3b642e08eefe0aeb64dfa53d7ba9b1859bba68381c80630584ec6ba0aa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcda058d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a000082a9f682079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf870b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603c0", + "rlp" : "0xf90275f901ffa0e2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a033d1a394e689bd267559c234a3455f7a9c4550f7197767eef793c6994677674ca0aa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcda058d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a000082a9f682079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf870b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603c0", "transactions" : [ { "accessList" : [ @@ -63,21 +63,21 @@ "difficulty" : "0x020000", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", - "gasUsed" : "0x5bdb", - "hash" : "0xb27d9c8c85eeb0f975799b00e330e1a46411e8e7014eb36548530fa9c5208a5d", + "gasUsed" : "0x540b", + "hash" : "0x7a38cab1b2b365cb3521a58ba34865f70e4e4ca4f55f2aeeb91f4f0d20da3d97", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce" : "0x0000000000000000", "number" : "0x02", - "parentHash" : "0x02f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942", - "receiptTrie" : "0x4b1144a2e2a3e6d85e4498ace0051018bb02196e3dac21e1b2820b3e47e944c1", - "stateRoot" : "0x962d829b1d47ed683acb082d9d05b14949f2980563f4844c90c76080b5d027c8", + "parentHash" : "0x2a3b080cd29bf5f7533700f7f35bd14eed08292db79cfc9421586b1601882715", + "receiptTrie" : "0xb82d09a2aa28e30e8dc2b38336742f7f0b8c5705a45451e72d6d88424fd5cb60", + "stateRoot" : "0xdde62977515fe0cd826bba601c3e72edfa96a3e31fc258c47a9a2c505bf30bbc", "timestamp" : "0x0b86", "transactionsTrie" : "0xda0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "2", "chainname" : "default", - "rlp" : "0xf90275f901ffa002f4cdb84271fa84bafb82fac1ce5c0e3e7eafa4f2e6e33303896846a6101942a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0962d829b1d47ed683acb082d9d05b14949f2980563f4844c90c76080b5d027c8a0da0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904a04b1144a2e2a3e6d85e4498ace0051018bb02196e3dac21e1b2820b3e47e944c1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000288016345785d8a0000825bdb820b8642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008202fef870b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", + "rlp" : "0xf90275f901ffa02a3b080cd29bf5f7533700f7f35bd14eed08292db79cfc9421586b1601882715a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0dde62977515fe0cd826bba601c3e72edfa96a3e31fc258c47a9a2c505bf30bbca0da0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904a0b82d09a2aa28e30e8dc2b38336742f7f0b8c5705a45451e72d6d88424fd5cb60b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000288016345785d8a000082540b820b8642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008202fef870b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", "transactions" : [ { "accessList" : [ @@ -108,19 +108,19 @@ "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0x00", - "hash" : "0x8efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5", + "hash" : "0xe2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce" : "0x0000000000000000", "number" : "0x00", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "stateRoot" : "0x038f06c45bbe01d2c8d99f25381118c362f40945f384ba1831639dddf919fcbe", + "stateRoot" : "0xa72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5", "timestamp" : "0x03b6", "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, - "genesisRLP" : "0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0038f06c45bbe01d2c8d99f25381118c362f40945f384ba1831639dddf919fcbea056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200018088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0", - "lastblockhash" : "0xb27d9c8c85eeb0f975799b00e330e1a46411e8e7014eb36548530fa9c5208a5d", + "genesisRLP" : "0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0a72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200018088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0", + "lastblockhash" : "0x7a38cab1b2b365cb3521a58ba34865f70e4e4ca4f55f2aeeb91f4f0d20da3d97", "network" : "London", "postState" : { "0x000000000000000000000000000000000000000a" : { @@ -132,14 +132,14 @@ } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffca73513", + "balance" : "0xfffffffffffcbe9d43", "code" : "0x", "nonce" : "0x02", "storage" : { } }, "0xba5e000000000000000000000000000000000000" : { - "balance" : "0x3782dace9d9105d1", + "balance" : "0x3782dace9d90fe01", "code" : "0x", "nonce" : "0x00", "storage" : { @@ -152,6 +152,7 @@ "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { + "0x01" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json b/BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json similarity index 77% rename from BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json rename to BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json index 4c403c43863..905bc0dfae6 100644 --- a/BlockchainTests/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxn.json +++ b/BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json @@ -3,12 +3,12 @@ "_info" : { "comment" : "", "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "f2b8e69ea1cd1abd356209da9f07f0ae13b64ec427b7cf863ed6a9b6142aca2f", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "b60e11c984e0090179a1fb46ddb2d831b66f6f10b0069b125c852a612228aef2", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml", - "sourceHash" : "caf0dcff5d991cd8eb152d8c0fa743c6e2736e89e86685ec1ab57a05e6f5ce51" + "source" : "src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml", + "sourceHash" : "060e80e5cb37f5413135e90cff5e564034f0aef2044dc08358d410e854c560cb" }, "blocks" : [ { @@ -19,21 +19,21 @@ "difficulty" : "0x020000", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", - "gasUsed" : "0x0105d1", - "hash" : "0x2dc5204a42dc34f570ec28d110fbcd27e2a4aaaf9f878f626d47554bbeffaf57", + "gasUsed" : "0xfe01", + "hash" : "0xfeff9564e4279e67d38923e55266c8a517da33046409c08f8cb88c869da7a237", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce" : "0x0000000000000000", "number" : "0x01", - "parentHash" : "0x8efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5", - "receiptTrie" : "0xfc427267321a313bb5e52a5c1d08fa93939f6c2aad39a7f1062a0ed8362229f9", - "stateRoot" : "0xd283585f9e13281b5784bbdf7c2d57a91cda8fe363929f50fdb95f24e7b5d8e1", + "parentHash" : "0xe2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4", + "receiptTrie" : "0x2c87fff9ef2ef91295a810e6e65b424362f21769196f4d375d8ed306da715cdb", + "stateRoot" : "0xcc4f167232d853751418b789e8db29a3a69d69dcb566bc84e20048dfbb1ad5eb", "timestamp" : "0x079e", "transactionsTrie" : "0x14a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "1", "chainname" : "default", - "rlp" : "0xf902e6f90200a08efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0d283585f9e13281b5784bbdf7c2d57a91cda8fe363929f50fdb95f24e7b5d8e1a014a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51a0fc427267321a313bb5e52a5c1d08fa93939f6c2aad39a7f1062a0ed8362229f9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a0000830105d182079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf8e0b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", + "rlp" : "0xf902e5f901ffa0e2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0cc4f167232d853751418b789e8db29a3a69d69dcb566bc84e20048dfbb1ad5eba014a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51a02c87fff9ef2ef91295a810e6e65b424362f21769196f4d375d8ed306da715cdbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a000082fe0182079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf8e0b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", "transactions" : [ { "accessList" : [ @@ -80,19 +80,19 @@ "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0x00", - "hash" : "0x8efc15e00f26d8c72470c41a7ee5ed62df09f9fd62258781a7ba6e793f175ac5", + "hash" : "0xe2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce" : "0x0000000000000000", "number" : "0x00", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "stateRoot" : "0x038f06c45bbe01d2c8d99f25381118c362f40945f384ba1831639dddf919fcbe", + "stateRoot" : "0xa72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5", "timestamp" : "0x03b6", "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, - "genesisRLP" : "0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0038f06c45bbe01d2c8d99f25381118c362f40945f384ba1831639dddf919fcbea056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200018088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0", - "lastblockhash" : "0x2dc5204a42dc34f570ec28d110fbcd27e2a4aaaf9f878f626d47554bbeffaf57", + "genesisRLP" : "0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0a72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200018088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0", + "lastblockhash" : "0xfeff9564e4279e67d38923e55266c8a517da33046409c08f8cb88c869da7a237", "network" : "London", "postState" : { "0x000000000000000000000000000000000000000a" : { @@ -104,14 +104,14 @@ } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffc8018d4", + "balance" : "0xfffffffffffc9ad494", "code" : "0x", "nonce" : "0x02", "storage" : { } }, "0xba5e000000000000000000000000000000000000" : { - "balance" : "0x1bc16d674ec905d1", + "balance" : "0x1bc16d674ec8fe01", "code" : "0x", "nonce" : "0x00", "storage" : { @@ -124,6 +124,7 @@ "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { + "0x01" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/01_tloadBeginningTxn.json b/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json similarity index 84% rename from GeneralStateTests/stExample/01_tloadBeginningTxn.json rename to GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json index e5ee79d972c..f1bcb5be83e 100644 --- a/GeneralStateTests/stExample/01_tloadBeginningTxn.json +++ b/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json @@ -2,13 +2,13 @@ "01_tloadBeginningTxn" : { "_info" : { "comment" : "load arbitrary value is 0 at beginning of transaction", - "filling-rpc-server" : "evm version 1.10.17-unstable-4db7599c-20220620", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "dc22126f9e87dda04f196fff7a9314c102c42f67d2dd2615e9ef3fc06ec32bcc", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "205ebc644f6ef5ce6f60ac6be59706b193bb4d5b63710499429518089053474a", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml", - "sourceHash" : "efe26a9788fce1c49b3bdda1f1cec009c01ccaab35ae74dd1897a5f83bfa7c8a" + "source" : "src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml", + "sourceHash" : "63378a877c4edd640b709eaaa300e1889501578bd01c914a6b1e204431edadf5" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0xb13e237dec791ae37f8d6759c36d876bc6b1865c91f9217d7ae28c108d5761ab", + "hash" : "0xab25bd49990c6706252222ef956a6f42d12e146ece23fad1669dfdd3db6948b9", "indexes" : { "data" : 0, "gas" : 0, @@ -40,6 +40,7 @@ "code" : "0x6000b38060015550", "nonce" : "0x00", "storage" : { + "0x01" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/02_tloadAfterStore.json b/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json similarity index 83% rename from GeneralStateTests/stExample/02_tloadAfterStore.json rename to GeneralStateTests/stEIP1153/02_tloadAfterTstore.json index efe70da535d..303fab7891e 100644 --- a/GeneralStateTests/stExample/02_tloadAfterStore.json +++ b/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json @@ -1,14 +1,14 @@ { - "02_tloadAfterStore" : { + "02_tloadAfterTstore" : { "_info" : { - "comment" : "load after storing returns correct value", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "bdc8acacf855c8d7ef22e9ca1a7da01653198d74120bd16f765e9cc1087205ae", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "comment" : "tload from same slot after tstore returns correct value", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "311a27855c9a70c8aa236ddeff7b47a31846764a0b384ed86315835d0cb6c736", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml", - "sourceHash" : "a17644ff8a1843858b082b8720104f7bb847d830385604907ef4424587691d3a" + "source" : "src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml", + "sourceHash" : "2b5bf164a2a23117378b68b6cbe4ac5f192814bb28a6b715477f5f1702a6dbe6" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json b/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json similarity index 84% rename from GeneralStateTests/stExample/03_tloadAfterStoreIs0.json rename to GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json index 56625cbcfd4..c0f3317ccf6 100644 --- a/GeneralStateTests/stExample/03_tloadAfterStoreIs0.json +++ b/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json @@ -2,13 +2,13 @@ "03_tloadAfterStoreIs0" : { "_info" : { "comment" : "Loading any other slot after storing to a slot returns 0.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "ab547d8593ec450720ed2ca30d46568af79ba2611573d9d9bfdeeb5477d02db3", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "6f1734e64c90063e849d4de45ce1df49a74e9e2549714ba7fcb62ae0010e3ffc", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml", - "sourceHash" : "9613c12ffafd8d626a5e1d976ca819ae22d28f6c139d086f38166bbb70c4feb5" + "source" : "src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml", + "sourceHash" : "1440620ec267db0c92b29901b0dff3cf2ef61a2c1d26b434f31872fae7d5e9d1" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x7ceda2830d5a92823cf01d313028c3e510617d940995170c65bda6d23a7a7a02", + "hash" : "0x5823f5d4bc8ba7c5ff7bc507066a616c2edfba10afe27bef32d6b2f4f4253094", "indexes" : { "data" : 0, "gas" : 0, @@ -40,6 +40,7 @@ "code" : "0x601e6000b46001b38060005550", "nonce" : "0x00", "storage" : { + "0x00" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/04_tloadAfterCall.json b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json similarity index 85% rename from GeneralStateTests/stExample/04_tloadAfterCall.json rename to GeneralStateTests/stEIP1153/04_tloadAfterCall.json index a0f3a286e0e..2e0ca7c2cb6 100644 --- a/GeneralStateTests/stExample/04_tloadAfterCall.json +++ b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json @@ -2,13 +2,13 @@ "04_tloadAfterCall" : { "_info" : { "comment" : "Loading a slot after a call to another contract is 0.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "6270578a0b87177b2daefd7ee8474392893cacba462720d708e74ec0ac69a1cf", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "deaabccee4becdcf9649f015d620fac37373dd09ca7e96bb2ab9c19682756138", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml", - "sourceHash" : "41f1288832a90866db73b3c1a90fb5f4783e3a296612e3d71f7df89576178f34" + "source" : "src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml", + "sourceHash" : "8d1624742d7b4d3af49b9fd0016664dea4a29a25c2a387bb789f3f1be257612f" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x9801cb2d0d996b8658e676b68430b0f40aa38b61e984c442555e2f1f186edc12", + "hash" : "0xb66188af749a8929696613d9a5cef72beeb6447f432c94b095dd7a4948010e89", "indexes" : { "data" : 0, "gas" : 0, @@ -47,6 +47,7 @@ "code" : "0x6000b38060005550", "nonce" : "0x00", "storage" : { + "0x00" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/05_tloadReentrancy.json b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json similarity index 71% rename from GeneralStateTests/stExample/05_tloadReentrancy.json rename to GeneralStateTests/stEIP1153/05_tloadReentrancy.json index 3a678f4ac82..6f2d1141e4d 100644 --- a/GeneralStateTests/stExample/05_tloadReentrancy.json +++ b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json @@ -2,13 +2,13 @@ "05_tloadReentrancy" : { "_info" : { "comment" : "Reentrant calls access the same transient storage.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "5bc094538cc79510a0649bef8928e00341c9ab287c1a5a5938411b2b15fe2139", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "507e663e0da8870e7a496f2552f027d01b29ba598234a89de5b7f0f50df0aa8c", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml", - "sourceHash" : "4c6fe15e78cf72032e8c67ae2117df443126885408d974cfcb7eb382be98a158" + "source" : "src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml", + "sourceHash" : "d27ed68accc21b2dce31b2b3f282ae0e0e8abe2d7774c73621dd6e8200e6253c" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x65227e3e413d922337fbe1f7a4afedafa2cc5ed07c7666f76ec972cd7e11176d", + "hash" : "0xe7a0ddc4a304c1e0b4c93743a3aeb2745c398de1b430a17dfee48b127a7c76e5", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6005608c565b6343ac1c398114602257633f3716928114602c5760006002556033565b60286038565b6033565b60326043565b5b5060b8565b6000b380600155505b565b60506000b47f43ac1c390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b3806000558160025550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6100076100eb565b6362fdb9be8114610032576343ac1c39811461003f57633f371692811461004c576000600255610055565b61003a61005b565b610055565b610047610063565b610055565b61005461006e565b5b50610117565b602c6000b45b565b6000b380600155505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff17f43ac1c390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b38060005582600255816003555050505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { } @@ -72,4 +72,4 @@ ] } } -} +} \ No newline at end of file diff --git a/GeneralStateTests/stExample/06_tstoreInReentrancyCall.json b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json similarity index 95% rename from GeneralStateTests/stExample/06_tstoreInReentrancyCall.json rename to GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json index 9f364e32965..7da890fdb7d 100644 --- a/GeneralStateTests/stExample/06_tstoreInReentrancyCall.json +++ b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json @@ -2,12 +2,12 @@ "06_tstoreInReentrancyCall" : { "_info" : { "comment" : "Reentrant calls access the same transient storage.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", "generatedTestHash" : "0acbca62834594d7b4cb105d925ce0ff12f4769081c90337fcc85c636c039baa", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml", + "source" : "src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml", "sourceHash" : "443c0f94215d749a6109199951a98e36db45d7310202d08c7e297496cc092dc5" }, "env" : { diff --git a/GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json similarity index 95% rename from GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json rename to GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json index d293af03969..2c64c46a7f1 100644 --- a/GeneralStateTests/stExample/07_tloadAfterReentrancyStore.json +++ b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json @@ -2,12 +2,12 @@ "07_tloadAfterReentrancyStore" : { "_info" : { "comment" : "Successfully returned calls do not revert transient storage writes.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", "generatedTestHash" : "7849a560f5275b3c984d1af2284439c744a602966f4dfa05b5270326177e7529", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml", + "source" : "src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml", "sourceHash" : "60ff94535acabc08b058008952210711fd9b0030d797e695e63642864e50c279" }, "env" : { diff --git a/GeneralStateTests/stExample/08_revertUndoesTransientStore.json b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json similarity index 85% rename from GeneralStateTests/stExample/08_revertUndoesTransientStore.json rename to GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json index 7ba31225572..2bcaea21ae9 100644 --- a/GeneralStateTests/stExample/08_revertUndoesTransientStore.json +++ b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json @@ -2,13 +2,13 @@ "08_revertUndoesTransientStore" : { "_info" : { "comment" : "Revert undoes the transient storage writes from a call.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "09e7490f8929d5321283671df268a29f7f51510ac1166a5353f30bb659f554ae", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "c684957a0bd205e6a618aa0eff940137a5dff9319e805e105214f2034b482f92", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml", - "sourceHash" : "ade71ecb99c9fec9526e4aad7a38725c46cbd14de7d1a4260fea187f12111e25" + "source" : "src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml", + "sourceHash" : "999586cc75043dc95e6404b4259d809316b9527fffab9334183dfa325699b98d" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x31ed4a216d9367f1927f8be989c37a05db4ffa728249d902d2777d22378822f1", + "hash" : "0x14002126d7f15384d51ff5ebaa8e3390b2d3cacd065fb91a6189c669f6bf71d9", "indexes" : { "data" : 0, "gas" : 0, @@ -40,6 +40,7 @@ "code" : "0x60056094565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326045565b5b5060c0565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806002556000b360015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { + "0x02" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/09_revertUndoesAll.json b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json similarity index 85% rename from GeneralStateTests/stExample/09_revertUndoesAll.json rename to GeneralStateTests/stEIP1153/09_revertUndoesAll.json index 4f30096353d..e3c445ec81b 100644 --- a/GeneralStateTests/stExample/09_revertUndoesAll.json +++ b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json @@ -2,13 +2,13 @@ "09_revertUndoesAll" : { "_info" : { "comment" : "Revert undoes all the transient storage writes to the same key from the failed call.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "9e8b91dbeb29d9adb0ff102ed46f882ecc4cb2a97836dd195abedb1473c015b2", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "0a38dd643fc378158f6376e1fec56a0be1fb1ef7864cab88478c247a3697faa5", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml", - "sourceHash" : "77da6611fc78c48efe8013b7940a7fe3605f4f6a200dc78a779eafb3d0669e06" + "source" : "src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml", + "sourceHash" : "d9b3a90d3f195748f81b2beb2a3650b09d41069359dda9a971cf81a9918c9d31" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0xddbd43a9a8ceb4d893a1818ca40d0c0eb707a17e81abdb97fbe16e5786fa8771", + "hash" : "0xcbf66b883f940c8561841257635ba80736a699ec1c2bcb23c2141100989d91ee", "indexes" : { "data" : 0, "gas" : 0, @@ -40,6 +40,7 @@ "code" : "0x6005608e565b633f3716928114601d5763578290e58114602757602e565b60236045565b602e565b602d6033565b5b5060ba565b60056000b460066000b460006000fd5b565b60046000b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b3816000558060015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { + "0x00" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json similarity index 86% rename from GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json rename to GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json index 670cbb5a830..c87523ab580 100644 --- a/GeneralStateTests/stExample/10_revertUndoesStoreAfterReturn.json +++ b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json @@ -2,13 +2,13 @@ "10_revertUndoesStoreAfterReturn" : { "_info" : { "comment" : "Revert undoes the transient storage writes after a successful call.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "01e411ddd3c27eeca09cfc614dcb7e2c0c423ac4490b177d44385a8efbe31f1e", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "7e9efa3c77217f9bc146e07c484790eccbecab843c85275709513bc6daa42aba", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml", - "sourceHash" : "115ecd929e9e8a843709fb0f5a39034e3a6607e4cc2247447260775eaece90d1" + "source" : "src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml", + "sourceHash" : "3f1e2ffbb8872a1525f5a72e101c59002ae439b9b1af2e757a7495a9864561f0" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0xe50635f7fb411b866f99b33a832c15ed7c2f770ad87f6c9885224e5b9372c8f0", + "hash" : "0x639be6ea75f3359dc32ebaa9521c9c0ff86b6edd3ba51cbad3ec2a59eb744062", "indexes" : { "data" : 0, "gas" : 0, @@ -40,6 +40,7 @@ "code" : "0x6100076100f9565b6370ac643e8114610032576376b85d23811461003f57634ccca553811461004c576001600255610055565b61003a61005b565b610055565b6100476100a1565b610055565b6100546100d3565b5b50610125565b60056000b46000b3806000556100907f76b85d23000000000000000000000000000000000000000000000000000000006100db565b806001556000b3806002555050505b565b6100ca7f4ccca553000000000000000000000000000000000000000000000000000000006100db565b60006000fd505b565b60066000b45b565b60008160005260006000602060006000600a61fffff190505b919050565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { + "0x01" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/11_tstoreDelegateCall.json b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json similarity index 94% rename from GeneralStateTests/stExample/11_tstoreDelegateCall.json rename to GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json index 0f560674357..6a78ac865ef 100644 --- a/GeneralStateTests/stExample/11_tstoreDelegateCall.json +++ b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json @@ -2,12 +2,12 @@ "11_tstoreDelegateCall" : { "_info" : { "comment" : "delegatecall manipulates transient storage in the context of the current address.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", "generatedTestHash" : "d45439392fad10cfe0e1450d7db7f7ca75e4c3c2db47e1b68d1716b9743aef44", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml", + "source" : "src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml", "sourceHash" : "fd8dee1a4f87208f55ab7147cfb4525bedc879904a65753fea48768264944bc4" }, "env" : { diff --git a/GeneralStateTests/stExample/12_tloadDelegateCall.json b/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json similarity index 94% rename from GeneralStateTests/stExample/12_tloadDelegateCall.json rename to GeneralStateTests/stEIP1153/12_tloadDelegateCall.json index a904568a350..a5ccc6a1c40 100644 --- a/GeneralStateTests/stExample/12_tloadDelegateCall.json +++ b/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json @@ -2,12 +2,12 @@ "12_tloadDelegateCall" : { "_info" : { "comment" : "delegatecall reads transient storage in the context of the current address", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", "generatedTestHash" : "e62f5b7385e05dfd2718926570875ce6f72d037dd9fb0161a20a44bcf8ff13f6", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml", + "source" : "src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml", "sourceHash" : "cada66c9783f3e4a2bb4211d6a9d6ab44c8880c2057343489dfbb796d888e6ea" }, "env" : { diff --git a/GeneralStateTests/stExample/13_tloadStaticCall.json b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json similarity index 85% rename from GeneralStateTests/stExample/13_tloadStaticCall.json rename to GeneralStateTests/stEIP1153/13_tloadStaticCall.json index 6c4d535e982..30b3915861e 100644 --- a/GeneralStateTests/stExample/13_tloadStaticCall.json +++ b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json @@ -2,13 +2,13 @@ "13_tloadStaticCall" : { "_info" : { "comment" : "Transient storage cannot be manipulated in a static context, tstore reverts.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "061c51ae9fe2bbd988a84fbd7f3fdb50a55b0af0cc1a9805b2251936c7aa9d87", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "ece66d88476d311c41694e6a631500ce0cb14324874f5a68185ba4a742b1aa41", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml", - "sourceHash" : "6063a3086223a4e98992d57ca5844f6527e9da5f2c6ee350179d29a058efe1d5" + "source" : "src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml", + "sourceHash" : "4ad566f3d17fc0512442cfe7cbdd51ef0c7e2098ea2dfb00986220328b548558" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0xc75a280f939a77be17a6ae55175541a7056671f3250bea6ba47fd58ece0a4b6a", + "hash" : "0x1ad501531c8bb98bef2f70579e0256b40d994175510518fa34fdb18358503e2b", "indexes" : { "data" : 0, "gas" : 0, @@ -40,6 +40,7 @@ "code" : "0x60056082565b633f3716928114601d5763611e535a8114602757602e565b6023603b565b602e565b602d6033565b5b5060ae565b60036000b45b565b60026000b47f611e535a000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa6000b3816000558060015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { + "0x00" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json similarity index 73% rename from GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json rename to GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json index 6da21e6a29c..c030dc8586c 100644 --- a/GeneralStateTests/stExample/14_revertAfterNestedStaticcall.json +++ b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json @@ -2,13 +2,13 @@ "14_revertAfterNestedStaticcall" : { "_info" : { "comment" : "Transient storage can't be manipulated from nested staticcall.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "1bdd64c188f41bb2f1537ef789ce1054c7f02bebfaa48547458668f92de7c501", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "1789976b3a1eb9695c91b43ed05537018d346735be8cc663c3761a0a664131f1", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml", - "sourceHash" : "b61c724427338f1bfe4ab954d7debdd6c3606057bb7151341ad1201d1fe349b2" + "source" : "src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml", + "sourceHash" : "3f7f33a70b26c8d940fb06e1746dcd9aacc6b579d2832980bb8a9c7538ff925b" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0xaf72b62ad234cccd444b57d7eab967813b384276b3ca94d0717ea685e5790afd", + "hash" : "0x42c36065d120fc8731725423229e05b971247e3e474f76bd3e06ee06318be5f1", "indexes" : { "data" : 0, "gas" : 0, @@ -37,9 +37,10 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6100076100ee565b63f5f4059081146100325763f8dfc2d0811461003f576362fdb9be811461004c576001600255610055565b61003a61005b565b610055565b6100476100aa565b610055565b6100546100e6565b5b5061011a565b600a6000b46000b3806000557ff8dfc2d0000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa806002556000b3806003555050505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff180600155505b565b600b6000b45b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x610007610101565b63f5f4059081146100325763f8dfc2d0811461003f576362fdb9be811461004c576001600255610055565b61003a61005b565b610055565b6100476100b8565b610055565b6100546100f9565b5b5061012d565b600a6000b46000b3806000557ff8dfc2d0000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa3d80600060003e600051600155816002556000b380600355505050505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060005260206000f3505b565b600b6000b45b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { + "0x01" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json similarity index 85% rename from GeneralStateTests/stExample/15_tstoreCannotBeDosd.json rename to GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json index 6a3b245e0cc..41fe631afb8 100644 --- a/GeneralStateTests/stExample/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json @@ -2,13 +2,13 @@ "15_tstoreCannotBeDosd" : { "_info" : { "comment" : "Transient storage cannot be DOS’d.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", - "generatedTestHash" : "dba02bd13e72696ad68e6d2f6b4f1f7098b535a2c7ca3e076d5a44b19217cdf0", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "98a391c0a4c29c8f89446c003399609e6188d00ed9595da5f7bdf7f0896703ba", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "0a9a526ac6ff5c2a612e68a626f1049c5eacc47f54fcc7898e011bf3a2063c67" + "source" : "src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml", + "sourceHash" : "23260458672d814cd0ffb84351f8e62b5356815726fd62768246694177c80e83" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "London" : [ { - "hash" : "0x44df55eca26543ffedece775039949be8c2433ea55b53d913374192866a22710", + "hash" : "0x425cb84e3d6329126e9808e6fcb1ed0e01c29018cf0bbd9119ef9155ad575d84", "indexes" : { "data" : 0, "gas" : 0, @@ -40,6 +40,8 @@ "code" : "0x600560c8565b63883264e8811460225763f7d6c0eb81146050576005600055605c565b7c010000000000000000000000000000000000000000000000000000000060203504604b816061565b50605c565b602035605a8160aa565b505b5060f4565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260006000604060006000600a61fffff1806000556000b3806001555050505b565b60005b8181101560c357603081b45b60018101905060ad565b50505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { + "0x00" : "0xffff", + "0x01" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/GeneralStateTests/stExample/16_tloadGas.json b/GeneralStateTests/stEIP1153/16_tloadGas.json similarity index 94% rename from GeneralStateTests/stExample/16_tloadGas.json rename to GeneralStateTests/stEIP1153/16_tloadGas.json index 5b8f5ae4d8d..196b49bbabe 100644 --- a/GeneralStateTests/stExample/16_tloadGas.json +++ b/GeneralStateTests/stEIP1153/16_tloadGas.json @@ -2,12 +2,12 @@ "16_tloadGas" : { "_info" : { "comment" : "tload costs 100 gas same as a warm sload", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", "generatedTestHash" : "b976ad4c46afc91a897b594f8de2c51f9e13a11e54f5277b368f068b1bccb1f2", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml", + "source" : "src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml", "sourceHash" : "cf8d122d1bf7e64455f2b0bfe5d73dfc289cc713a6192ae021fda79a1af84c73" }, "env" : { diff --git a/GeneralStateTests/stExample/17_tstoreGas.json b/GeneralStateTests/stEIP1153/17_tstoreGas.json similarity index 94% rename from GeneralStateTests/stExample/17_tstoreGas.json rename to GeneralStateTests/stEIP1153/17_tstoreGas.json index aefa0a2b633..adb6eb81291 100644 --- a/GeneralStateTests/stExample/17_tstoreGas.json +++ b/GeneralStateTests/stEIP1153/17_tstoreGas.json @@ -2,12 +2,12 @@ "17_tstoreGas" : { "_info" : { "comment" : "Tstore arbitrary value in arbitrary slot costs 100 gas.", - "filling-rpc-server" : "evm version 1.10.17-unstable-471bb33d-20220627", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.21f6071c.Linux.g++", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", "generatedTestHash" : "f82e789306d91608c428044d2f28c6e6ab067540987d242f7a1c87c042e91ba2", - "lllcversion" : "Version: 0.5.14-develop.2022.6.8+commit.401d5358.Linux.g++", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml", + "source" : "src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml", "sourceHash" : "dc538ee0e1d71396b1c25bad54a88e6e535ca77c4801cc889a514999b640f6fb" }, "env" : { diff --git a/GeneralStateTests/stEIP1153/18_tloadAfterStore.json b/GeneralStateTests/stEIP1153/18_tloadAfterStore.json new file mode 100644 index 00000000000..aa465ac1140 --- /dev/null +++ b/GeneralStateTests/stEIP1153/18_tloadAfterStore.json @@ -0,0 +1,76 @@ +{ + "18_tloadAfterStore" : { + "_info" : { + "comment" : "tload from same slot after store returns 0", + "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "generatedTestHash" : "69523367862de700f16fd744d0db40ea65a61b1b566bc3ed70c61e92f25ea27c", + "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml", + "sourceHash" : "fd106c67ff983c9bf7bb9358de77c710c65fcde5ded387756222226f747917e9" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "London" : [ + { + "hash" : "0xd8c02ac840e9d551fc8a60c835da856bdb6f9c62169ac3aacce4abfb57f72893", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f869018080820fa0871000000000000094000000000000000000000000000000000000000a8080c001a0265982b28582156178323a10f893819c0198e299d3563732d1ab953071309fa1a00e5e9711949eb422c3d73b15f1a7cdbb1ae105002f6b6b792607803576577e91" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600a6000556000b38060015550", + "nonce" : "0x00", + "storage" : { + "0x01" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x10000000000000" + ], + "maxFeePerGas" : "0x0fa0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocksFiller.yml b/src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml similarity index 95% rename from src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocksFiller.yml rename to src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml index fb8d9688ab9..dc5efa4c1e2 100644 --- a/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistAcrossBlocksFiller.yml +++ b/src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml @@ -1,4 +1,7 @@ # Tload should not load the value stored in the previous block. +# +# Expect storage slot 0 to have value 90 from block 1. +# Expect storage slot 1 to have the original value 1 from block 2. tloadDoesNotPersistAcrossBlocks: genesisBlockHeader: @@ -57,7 +60,7 @@ tloadDoesNotPersistAcrossBlocks: } } nonce: '0x00' - storage: {} + storage: { 0x01: 0xffff } 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 0x1000000000000000000 diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml b/src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml similarity index 95% rename from src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml rename to src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml index a54ff320e30..e5036792cbc 100644 --- a/src/BlockchainTestsFiller/ValidBlocks/bcExample/tloadDoesNotPersistCrossTxnFiller.yml +++ b/src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml @@ -1,4 +1,7 @@ # Tload should not load the value stored in the previous transaction. +# +# Expect slot 0 to have value 90 from transaction 1. +# Expect slot 1 to have value 0 from transaction 2. tloadDoesNotPersistCrossTxn: genesisBlockHeader: @@ -57,7 +60,7 @@ tloadDoesNotPersistCrossTxn: } } nonce: '0x00' - storage: {} + storage: { 0x01: 0xffff } 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 0x1000000000000000000 diff --git a/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml similarity index 97% rename from src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml index 03bfe4803a7..2a0121bc27a 100644 --- a/src/GeneralStateTestsFiller/stExample/01_tloadBeginningTxnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml @@ -24,7 +24,7 @@ let val := verbatim_1i_1o(hex"b3", 0) sstore(1, val) } - storage: {} + storage: { 0x01: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 diff --git a/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml similarity index 93% rename from src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml index 65b6faec13e..b7454d4c1c3 100644 --- a/src/GeneralStateTestsFiller/stExample/02_tloadAfterStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml @@ -3,9 +3,9 @@ # # Expect storage slot 1 to have value 88 -02_tloadAfterStore: +02_tloadAfterTstore: _info: - comment: load after storing returns correct value + comment: tload from same slot after tstore returns correct value env: currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba diff --git a/src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml b/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml similarity index 91% rename from src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml rename to src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml index 3064667dea5..bd2b3e0160d 100644 --- a/src/GeneralStateTestsFiller/stExample/03_tloadAfterStoreIs0Filler.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml @@ -1,5 +1,5 @@ # 03 -# Loading any other slot after storing to a slot returns 0: TSTORE(x, y), TLOAD(x + n) where n > 0 returns 0 +# Loading from a different slot after storing to a slot returns 0: TSTORE(x, y), TLOAD(z) returns 0 # # Expect storage slot 0 to have value 0 # Ex 1) stores 30 at slot 0, loads from slot 1, expects storage slot 0 to have 0 @@ -27,7 +27,7 @@ let val := verbatim_1i_1o(hex"b3", 1) sstore(0, val) } - storage: {} + storage: { 0x00: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" diff --git a/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml similarity index 96% rename from src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml index 696997b2cd2..7d5c56c0f62 100644 --- a/src/GeneralStateTestsFiller/stExample/04_tloadAfterCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml @@ -2,7 +2,7 @@ # Contracts have separate transient storage. # Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 # -# Expect storage slot 0 of address a to be 0. +# Expect storage slot 0 of address a to be 10. # Expect storage slot 1 of address a to be 1 (successful call). # Expect storage slot 0 of address b to be 0. @@ -40,7 +40,7 @@ let val := verbatim_1i_1o(hex"b3", 0) sstore(0, val) } - storage: {} + storage: { 0x00: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" diff --git a/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml similarity index 72% rename from src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml index ffd5ac2dc61..d2b1306501f 100644 --- a/src/GeneralStateTestsFiller/stExample/05_tloadReentrancyFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml @@ -1,9 +1,10 @@ # 05 # Reentrant calls access the same transient storage: TSTORE(x, y), CALL(self, ...), TLOAD(x) returns y. # -# Expect slot 0 to have 80 from the first tstore & tload. -# Expect slot 1 to have 80 from the re-entered call. -# Expect slot 2 to have 1 (for successful call). +# Expect slot 0 to have 44 from the first tstore & tload. +# Expect slot 1 to have 44 from the re-entered call. +# Expect slot 2 to have 1 (for successful call to doStore()). +# Expect slot 3 to have 1 (for successful call to doLoad()). 05_tloadReentrancy: _info: @@ -25,6 +26,10 @@ code: | :yul { switch selector() + + case 0x62fdb9be { + doStore() // doStore() + } case 0x43ac1c39 { // doLoad() doLoad() @@ -38,20 +43,27 @@ sstore(2, 0) } + function doStore() { + verbatim_2i_0o(hex"b4", 0, 44) + } + function doLoad() { let v := verbatim_1i_1o(hex"b3", 0) sstore(1, v) } function doReenter() { - verbatim_2i_0o(hex"b4", 0, 80) + mstore(0, hex"62fdb9be") // doStore() + let successStore := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) mstore(0, hex"43ac1c39") // doLoad() - let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let successLoad := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) - sstore(2, success) + + sstore(2, successStore) + sstore(3, successLoad) } function selector() -> s { @@ -92,6 +104,7 @@ 000000000000000000000000000000000000000A: storage: # expect 1 (successful call) at slot 1 - 0x00: 80 - 0x01: 80 + 0x00: 44 + 0x01: 44 0x02: 1 + 0x03: 1 diff --git a/src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stExample/06_tstoreInReentrancyCallFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml diff --git a/src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stExample/07_tloadAfterReentrancyStoreFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml diff --git a/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml similarity index 98% rename from src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml index be69e12fc70..5e72f976f4e 100644 --- a/src/GeneralStateTestsFiller/stExample/08_revertUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml @@ -60,7 +60,7 @@ s := div(value, 0x100000000000000000000000000000000000000000000000000000000) } } - storage: {} + storage: { 0x02: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" diff --git a/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml similarity index 98% rename from src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml index b741538cea2..bbc67ffb72e 100644 --- a/src/GeneralStateTestsFiller/stExample/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml @@ -57,7 +57,7 @@ } } - storage: {} + storage: { 0x00: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" diff --git a/src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml similarity index 98% rename from src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml index ff439ad03e2..dbc9acec0c5 100644 --- a/src/GeneralStateTestsFiller/stExample/10_revertUndoesStoreAfterReturnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml @@ -76,7 +76,7 @@ s := div(value, 0x100000000000000000000000000000000000000000000000000000000) } } - storage: {} + storage: { 0x01: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" diff --git a/src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stExample/11_tstoreDelegateCallFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml diff --git a/src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stExample/12_tloadDelegateCallFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml diff --git a/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml similarity index 98% rename from src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml index c6eab52843e..a9e8d436f47 100644 --- a/src/GeneralStateTestsFiller/stExample/13_tloadStaticCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml @@ -22,7 +22,7 @@ 000000000000000000000000000000000000000A: balance: 1000000000000000000 nonce: 0 - code: | + code: | :yul { switch selector() @@ -54,7 +54,7 @@ s := div(value, 0x100000000000000000000000000000000000000000000000000000000) } } - storage: {} + storage: { 0x00: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" diff --git a/src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml similarity index 87% rename from src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml index f19366b57fd..35ae96897ab 100644 --- a/src/GeneralStateTestsFiller/stExample/14_revertAfterNestedStaticcallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml @@ -3,7 +3,7 @@ # # Expect slot 0 to have 10 from the first tstore & tload. # Expect slot 1 to have 0 (for revert). -# Expect slot 2 to have 0 (for revert). +# Expect slot 2 to have 1 (for success). # Expect slot 3 to have 10 (original value). 14_revertAfterNestedStaticcall: @@ -51,17 +51,22 @@ mstore(0, hex"f8dfc2d0") // doCallToStore() let success := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 0) - sstore(2, success) // should be 0 (revert) + + let size := returndatasize() + returndatacopy(0, 0, size) + + sstore(1, mload(0)) // should be 0 from unsuccessful call + sstore(2, success) // should be 1 since no store inside nested call let val := verbatim_1i_1o(hex"b3", 0) sstore(3, val) } - function doCallToStore() { mstore(0, hex"62fdb9be") // doStore() let f := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) - sstore(1, f) // should revert + mstore(0, f) + return(0, 32) } function doStore() { @@ -73,7 +78,7 @@ s := div(value, 0x100000000000000000000000000000000000000000000000000000000) } } - storage: {} + storage: { 0x01: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" @@ -107,5 +112,5 @@ storage: 0x00: 10 0x01: 0 - 0x02: 0 + 0x02: 1 0x03: 10 diff --git a/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml similarity index 98% rename from src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml index 0966b59447e..6d567d961a0 100644 --- a/src/GeneralStateTestsFiller/stExample/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml @@ -60,7 +60,7 @@ s := div(value, 0x100000000000000000000000000000000000000000000000000000000) } } - storage: {} + storage: { 0x00: 0xffff, 0x01: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" diff --git a/src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stExample/16_tloadGasFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml diff --git a/src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stExample/17_tstoreGasFiller.yml rename to src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml new file mode 100644 index 00000000000..6498b48a155 --- /dev/null +++ b/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml @@ -0,0 +1,61 @@ +# 18 +# Transient loading after storing does not return the stored value: STORE(x, y), TLOAD(x) returns 0 +# +# Expect storage slot 1 to have value 0 + +18_tloadAfterStore: + _info: + comment: tload from same slot after store returns 0 + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + sstore(0, 10) + let val := verbatim_1i_1o(hex"b3", 0) + sstore(1, val) + } + storage: { 0x01: 0xffff } + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: 0x + accessList: [] + gasLimit: + - 0x10000000000000 + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 4000 + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - ">=London" + result: + 000000000000000000000000000000000000000A: + storage: + 0x01: 0 From b7557a779bbd60c816fbf49b0bd155a5f430eb75 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 8 Jul 2022 17:07:27 -0400 Subject: [PATCH 18/56] move to ValidBlocks folder --- .../bcEIP1153/tloadDoesNotPersistAcrossBlocks.json | 6 +++--- .../bcEIP1153/tloadDoesNotPersistCrossTxn.json | 6 +++--- .../stEIP1153/14_revertAfterNestedStaticcall.json | 2 +- .../bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml | 0 .../bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml | 0 .../stEIP1153/14_revertAfterNestedStaticcallFiller.yml | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) rename BlockchainTests/{InvalidBlocks => ValidBlocks}/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json (98%) rename BlockchainTests/{InvalidBlocks => ValidBlocks}/bcEIP1153/tloadDoesNotPersistCrossTxn.json (98%) rename src/BlockchainTestsFiller/{InvalidBlocks => ValidBlocks}/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml (100%) rename src/BlockchainTestsFiller/{InvalidBlocks => ValidBlocks}/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml (100%) diff --git a/BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json similarity index 98% rename from BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json rename to BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json index 8b8745eb1e0..8d7168a8ece 100644 --- a/BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json +++ b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json @@ -3,11 +3,11 @@ "_info" : { "comment" : "", "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.23cb284b.Linux.g++", "generatedTestHash" : "d2a6e4b35044885d194325dd774070841177ffd5d141b7e3e8cb6804e6b852e6", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "lllcversion" : "Version: 0.5.14-develop.2022.7.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml", + "source" : "src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml", "sourceHash" : "ee9f25db1c76c52ef2ec78162f6cebbe011f15abdeeddc221ad6f4d45fcdcc6b" }, "blocks" : [ diff --git a/BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json similarity index 98% rename from BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json rename to BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json index 905bc0dfae6..b3807304c5b 100644 --- a/BlockchainTests/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json +++ b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json @@ -3,11 +3,11 @@ "_info" : { "comment" : "", "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", + "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.23cb284b.Linux.g++", "generatedTestHash" : "b60e11c984e0090179a1fb46ddb2d831b66f6f10b0069b125c852a612228aef2", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "lllcversion" : "Version: 0.5.14-develop.2022.7.8+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", - "source" : "src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml", + "source" : "src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml", "sourceHash" : "060e80e5cb37f5413135e90cff5e564034f0aef2044dc08358d410e854c560cb" }, "blocks" : [ diff --git a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json index c030dc8586c..54cd4fe7507 100644 --- a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json +++ b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml", - "sourceHash" : "3f7f33a70b26c8d940fb06e1746dcd9aacc6b579d2832980bb8a9c7538ff925b" + "sourceHash" : "f92c0090828afb8b877117952aee95304e92dbb43031305b754c234ebff1a910" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml similarity index 100% rename from src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml rename to src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml diff --git a/src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml similarity index 100% rename from src/BlockchainTestsFiller/InvalidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml rename to src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml index 35ae96897ab..91f888f36a9 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml @@ -64,13 +64,13 @@ function doCallToStore() { mstore(0, hex"62fdb9be") // doStore() - let f := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let f := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) // call with zero-value mstore(0, f) return(0, 32) } function doStore() { - verbatim_2i_0o(hex"b4", 0, 11) + verbatim_2i_0o(hex"b4", 0, 11) // will revert } function selector() -> s { From 8eb5249b7f3fa84bb8975fec0e2abde7ce58dbe4 Mon Sep 17 00:00:00 2001 From: Moody Salem Date: Thu, 10 Nov 2022 12:06:15 -0500 Subject: [PATCH 19/56] bring back mergeTestFiller.yml --- .../stExample/mergeTestFiller.yml | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/GeneralStateTestsFiller/stExample/mergeTestFiller.yml diff --git a/src/GeneralStateTestsFiller/stExample/mergeTestFiller.yml b/src/GeneralStateTestsFiller/stExample/mergeTestFiller.yml new file mode 100644 index 00000000000..027500e29c9 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExample/mergeTestFiller.yml @@ -0,0 +1,69 @@ +mergeTest: + _info: + comment: Example of PoS merge state test + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x1000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 1000 + currentRandom: 0x1500000000000000000000000000000000000000000000000000000000000000 + + pre: + cccccccccccccccccccccccccccccccccccccccc: + balance: '1000000000000000000' + code: | + { + (sstore 0 (gasprice)) + (sstore 1 (basefee)) + (sstore 2 (difficulty)) + } + nonce: 1 + storage: {} + + + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: '1000000000000000000' + code: '0x' + nonce: 1 + storage: {} + + + transaction: + data: + - data: :raw 0x00 + accessList: + - address: 0xcccccccccccccccccccccccccccccccccccccccc + storageKeys: + - 0x00 + - 0x01 + gasLimit: + - 4000000 + nonce: 1 + to: cccccccccccccccccccccccccccccccccccccccc + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + + # New in London because of EIP 1559 + maxPriorityFeePerGas: 10 + maxFeePerGas: 2000 + + + expect: + - indexes: + data: !!int -1 + gas: !!int -1 + value: !!int -1 + + network: + - 'Merge' + result: + cccccccccccccccccccccccccccccccccccccccc: + nonce: 1 + storage: + 0x00: 1010 # GASPRICE + 0x01: 1000 # BASEFEE + 0x02: 0x1500000000000000000000000000000000000000000000000000000000000000 # Difficulty (Random) From 112b76c6b59a9df592c758774abeb5d394363fad Mon Sep 17 00:00:00 2001 From: Moody Salem Date: Thu, 10 Nov 2022 12:06:55 -0500 Subject: [PATCH 20/56] remove config from gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index a2ee3800e04..0320a22a8a9 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,3 @@ src/GenStateTestAsBcTemp/ /BlockchainTests/InvalidBlocks/bcExpectSection* /BlockchainTests/GeneralStateTests/stExpectSection* /GeneralStateTests/stExpectSection* -config/ From 31e176dc893e045d003b00abdce0045632aa4b91 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Tue, 29 Nov 2022 15:28:36 -0500 Subject: [PATCH 21/56] use merge+1153 --- .../bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml | 2 +- .../bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml | 2 +- .../stEIP1153/01_tloadBeginningTxnFiller.yml | 2 +- .../stEIP1153/02_tloadAfterTstoreFiller.yml | 2 +- .../stEIP1153/03_tloadAfterStoreIs0Filler.yml | 2 +- .../stEIP1153/04_tloadAfterCallFiller.yml | 2 +- .../stEIP1153/05_tloadReentrancyFiller.yml | 2 +- .../stEIP1153/06_tstoreInReentrancyCallFiller.yml | 2 +- .../stEIP1153/07_tloadAfterReentrancyStoreFiller.yml | 2 +- .../stEIP1153/08_revertUndoesTransientStoreFiller.yml | 2 +- .../stEIP1153/09_revertUndoesAllFiller.yml | 2 +- .../stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml | 2 +- .../stEIP1153/11_tstoreDelegateCallFiller.yml | 2 +- .../stEIP1153/12_tloadDelegateCallFiller.yml | 6 +++--- .../stEIP1153/13_tloadStaticCallFiller.yml | 2 +- .../stEIP1153/14_revertAfterNestedStaticcallFiller.yml | 2 +- .../stEIP1153/15_tstoreCannotBeDosdFiller.yml | 2 +- src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml | 6 +++--- .../stEIP1153/17_tstoreGasFiller.yml | 2 +- .../stEIP1153/18_tloadAfterStoreFiller.yml | 2 +- 20 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml index dc5efa4c1e2..c021120692b 100644 --- a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml +++ b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml @@ -98,7 +98,7 @@ tloadDoesNotPersistAcrossBlocks: expect: - network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml index e5036792cbc..78bb4d739ac 100644 --- a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml +++ b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml @@ -96,7 +96,7 @@ tloadDoesNotPersistCrossTxn: expect: - network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml index 2a0121bc27a..ddde658a09c 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml @@ -53,7 +53,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml index b7454d4c1c3..fbb70ee8f70 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml @@ -54,7 +54,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml b/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml index bd2b3e0160d..a07d1d9ad89 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml @@ -55,7 +55,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml index 7d5c56c0f62..5261e54b949 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml @@ -68,7 +68,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml index d2b1306501f..6ee4c103e76 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml @@ -99,7 +99,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml index f8480e20a76..0ee6c1e306d 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml @@ -95,7 +95,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml index 8af79b8a6f9..3b549b4e123 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml @@ -87,7 +87,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml index 5e72f976f4e..e0e7ce3aed8 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml @@ -88,7 +88,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml index bbc67ffb72e..2fcbaec0397 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml @@ -85,7 +85,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml index dbc9acec0c5..ce1099bb8d0 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml @@ -104,7 +104,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml index 541f25f6765..bcbfb7972de 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml @@ -67,7 +67,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml index 92c850436e5..a89095d944b 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml @@ -22,7 +22,7 @@ 000000000000000000000000000000000000000A: balance: 1000000000000000000 nonce: 0 - code: | + code: | :yul { verbatim_2i_0o(hex"b4", 0, 2) let success := delegatecall(0xffff, 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) @@ -32,7 +32,7 @@ 000000000000000000000000000000000000000B: balance: 1000000000000000000 nonce: 0 - code: | + code: | :yul { let v := verbatim_1i_1o(hex"b3", 0) sstore(1, v) @@ -65,7 +65,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml index a9e8d436f47..208f5a63583 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml @@ -82,7 +82,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml index 91f888f36a9..b43e7ec84fc 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml @@ -106,7 +106,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml index 6d567d961a0..ada09be02df 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml @@ -88,7 +88,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml index cd9b66acecc..62d5a2b1df3 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml @@ -22,7 +22,7 @@ 000000000000000000000000000000000000000A: balance: 1000000000000000000 nonce: 0 - code: | + code: | :yul { let extraOpcodesGas := 5 @@ -43,7 +43,7 @@ sstore(2, eq(sub(g1, g2), sub(g3, g4))) } storage: - 0x05: 5 + 0x05: 5 a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" @@ -71,7 +71,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml index 681db800b9a..92b34248037 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml @@ -71,7 +71,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: diff --git a/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml index 6498b48a155..15a38f6de35 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml @@ -54,7 +54,7 @@ value: !!int -1 network: - - ">=London" + - "Merge+1153" result: 000000000000000000000000000000000000000A: storage: From d42c6edd49afc3e5c354bc4086b4950db5cd774e Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Tue, 29 Nov 2022 15:30:58 -0500 Subject: [PATCH 22/56] generated tests with merge+1153 --- .../tloadDoesNotPersistAcrossBlocks.json | 50 +++++++++---------- .../tloadDoesNotPersistCrossTxn.json | 38 +++++++------- .../stEIP1153/01_tloadBeginningTxn.json | 12 ++--- .../stEIP1153/02_tloadAfterTstore.json | 12 ++--- .../stEIP1153/03_tloadAfterStoreIs0.json | 12 ++--- .../stEIP1153/04_tloadAfterCall.json | 12 ++--- .../stEIP1153/05_tloadReentrancy.json | 12 ++--- .../stEIP1153/06_tstoreInReentrancyCall.json | 12 ++--- .../07_tloadAfterReentrancyStore.json | 12 ++--- .../08_revertUndoesTransientStore.json | 12 ++--- .../stEIP1153/09_revertUndoesAll.json | 12 ++--- .../10_revertUndoesStoreAfterReturn.json | 12 ++--- .../stEIP1153/11_tstoreDelegateCall.json | 12 ++--- .../stEIP1153/12_tloadDelegateCall.json | 12 ++--- .../stEIP1153/13_tloadStaticCall.json | 12 ++--- .../14_revertAfterNestedStaticcall.json | 12 ++--- .../stEIP1153/15_tstoreCannotBeDosd.json | 12 ++--- GeneralStateTests/stEIP1153/16_tloadGas.json | 12 ++--- GeneralStateTests/stEIP1153/17_tstoreGas.json | 12 ++--- .../stEIP1153/18_tloadAfterStore.json | 12 ++--- 20 files changed, 152 insertions(+), 152 deletions(-) diff --git a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json index 8d7168a8ece..39ef6f4a50a 100644 --- a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json +++ b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json @@ -1,14 +1,14 @@ { - "tloadDoesNotPersistAcrossBlocks_London" : { + "tloadDoesNotPersistAcrossBlocks_Merge+1153" : { "_info" : { "comment" : "", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.23cb284b.Linux.g++", - "generatedTestHash" : "d2a6e4b35044885d194325dd774070841177ffd5d141b7e3e8cb6804e6b852e6", - "lllcversion" : "Version: 0.5.14-develop.2022.7.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "123a6cac87fcbb468994089624cc1b79e17b13f4b488fb09406bb50a1a109e5f", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml", - "sourceHash" : "ee9f25db1c76c52ef2ec78162f6cebbe011f15abdeeddc221ad6f4d45fcdcc6b" + "sourceHash" : "71e7cd9b61f058cdc561de32e13aa04b0de8a88e559a659aff55b8ee5172dd0c" }, "blocks" : [ { @@ -16,24 +16,24 @@ "baseFeePerGas" : "0x036b", "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "0xba5e000000000000000000000000000000000000", - "difficulty" : "0x020000", + "difficulty" : "0x00", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0xa9f6", - "hash" : "0x2a3b080cd29bf5f7533700f7f35bd14eed08292db79cfc9421586b1601882715", - "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "hash" : "0x611dbf6bc45105b4f9d1ad5656ec50e9f78e61b376db8bc468f67144ff955b12", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x01", - "parentHash" : "0xe2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4", + "parentHash" : "0x5be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226", "receiptTrie" : "0x58d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778", - "stateRoot" : "0x33d1a394e689bd267559c234a3455f7a9c4550f7197767eef793c6994677674c", + "stateRoot" : "0x25f0cbc82610386761c31c08f0b5d4e329e4442985648666040c6c5e5d15708a", "timestamp" : "0x079e", "transactionsTrie" : "0xaa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcd", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "1", "chainname" : "default", - "rlp" : "0xf90275f901ffa0e2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a033d1a394e689bd267559c234a3455f7a9c4550f7197767eef793c6994677674ca0aa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcda058d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a000082a9f682079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf870b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603c0", + "rlp" : "0xf90272f901fca05be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a025f0cbc82610386761c31c08f0b5d4e329e4442985648666040c6c5e5d15708aa0aa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcda058d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800188016345785d8a000082a9f682079e42a0000000000000000000000000000000000000000000000000000000000002000088000000000000000082036bf870b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603c0", "transactions" : [ { "accessList" : [ @@ -60,24 +60,24 @@ "baseFeePerGas" : "0x02fe", "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "0xba5e000000000000000000000000000000000000", - "difficulty" : "0x020000", + "difficulty" : "0x00", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0x540b", - "hash" : "0x7a38cab1b2b365cb3521a58ba34865f70e4e4ca4f55f2aeeb91f4f0d20da3d97", - "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "hash" : "0xe3ea3cf9298aa33d878aeca13de4976887c969b75e8ee5010d50578e3ea8619b", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x02", - "parentHash" : "0x2a3b080cd29bf5f7533700f7f35bd14eed08292db79cfc9421586b1601882715", + "parentHash" : "0x611dbf6bc45105b4f9d1ad5656ec50e9f78e61b376db8bc468f67144ff955b12", "receiptTrie" : "0xb82d09a2aa28e30e8dc2b38336742f7f0b8c5705a45451e72d6d88424fd5cb60", - "stateRoot" : "0xdde62977515fe0cd826bba601c3e72edfa96a3e31fc258c47a9a2c505bf30bbc", + "stateRoot" : "0xe01efa0d9b15746045afaee8879d4ef58d820eaccfe66215721bf37c8eb70741", "timestamp" : "0x0b86", "transactionsTrie" : "0xda0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "2", "chainname" : "default", - "rlp" : "0xf90275f901ffa02a3b080cd29bf5f7533700f7f35bd14eed08292db79cfc9421586b1601882715a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0dde62977515fe0cd826bba601c3e72edfa96a3e31fc258c47a9a2c505bf30bbca0da0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904a0b82d09a2aa28e30e8dc2b38336742f7f0b8c5705a45451e72d6d88424fd5cb60b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000288016345785d8a000082540b820b8642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008202fef870b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", + "rlp" : "0xf90272f901fca0611dbf6bc45105b4f9d1ad5656ec50e9f78e61b376db8bc468f67144ff955b12a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0e01efa0d9b15746045afaee8879d4ef58d820eaccfe66215721bf37c8eb70741a0da0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904a0b82d09a2aa28e30e8dc2b38336742f7f0b8c5705a45451e72d6d88424fd5cb60b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800288016345785d8a000082540b820b8642a000000000000000000000000000000000000000000000000000000000000200008800000000000000008202fef870b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", "transactions" : [ { "accessList" : [ @@ -104,12 +104,12 @@ "baseFeePerGas" : "0x03e8", "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "0xba5e000000000000000000000000000000000000", - "difficulty" : "0x020001", + "difficulty" : "0x00", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0x00", - "hash" : "0xe2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4", - "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "hash" : "0x5be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x00", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -119,9 +119,9 @@ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, - "genesisRLP" : "0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0a72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200018088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0", - "lastblockhash" : "0x7a38cab1b2b365cb3521a58ba34865f70e4e4ca4f55f2aeeb91f4f0d20da3d97", - "network" : "London", + "genesisRLP" : "0xf901fff901faa00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0a72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000808088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000200008800000000000000008203e8c0c0", + "lastblockhash" : "0xe3ea3cf9298aa33d878aeca13de4976887c969b75e8ee5010d50578e3ea8619b", + "network" : "Merge+1153", "postState" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x01000000000000000000", @@ -139,7 +139,7 @@ } }, "0xba5e000000000000000000000000000000000000" : { - "balance" : "0x3782dace9d90fe01", + "balance" : "0xfe01", "code" : "0x", "nonce" : "0x00", "storage" : { diff --git a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json index b3807304c5b..62d980788cf 100644 --- a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json +++ b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json @@ -1,14 +1,14 @@ { - "tloadDoesNotPersistCrossTxn_London" : { + "tloadDoesNotPersistCrossTxn_Merge+1153" : { "_info" : { "comment" : "", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.23cb284b.Linux.g++", - "generatedTestHash" : "b60e11c984e0090179a1fb46ddb2d831b66f6f10b0069b125c852a612228aef2", - "lllcversion" : "Version: 0.5.14-develop.2022.7.8+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "bb09c61547db9041c6cea513dbc2f2ce9f1dc60dd5db09f7e4cb32549b575cf7", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml", - "sourceHash" : "060e80e5cb37f5413135e90cff5e564034f0aef2044dc08358d410e854c560cb" + "sourceHash" : "fbaed198418655708c3f7ae248220aa4e71e127ed2cf73d67c4aebb51dce4559" }, "blocks" : [ { @@ -16,24 +16,24 @@ "baseFeePerGas" : "0x036b", "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "0xba5e000000000000000000000000000000000000", - "difficulty" : "0x020000", + "difficulty" : "0x00", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0xfe01", - "hash" : "0xfeff9564e4279e67d38923e55266c8a517da33046409c08f8cb88c869da7a237", - "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "hash" : "0xbfa142db8b12221cb2c1e2d95dc9aad110f4c72d2863e6c3ef582fb56c16ab3b", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x01", - "parentHash" : "0xe2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4", + "parentHash" : "0x5be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226", "receiptTrie" : "0x2c87fff9ef2ef91295a810e6e65b424362f21769196f4d375d8ed306da715cdb", - "stateRoot" : "0xcc4f167232d853751418b789e8db29a3a69d69dcb566bc84e20048dfbb1ad5eb", + "stateRoot" : "0xc228c0e158d91f3c0add09711d1a0b880a55fbffc60d880334d58e8269930384", "timestamp" : "0x079e", "transactionsTrie" : "0x14a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "1", "chainname" : "default", - "rlp" : "0xf902e5f901ffa0e2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0cc4f167232d853751418b789e8db29a3a69d69dcb566bc84e20048dfbb1ad5eba014a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51a02c87fff9ef2ef91295a810e6e65b424362f21769196f4d375d8ed306da715cdbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000188016345785d8a000082fe0182079e42a0000000000000000000000000000000000000000000000000000000000000000088000000000000000082036bf8e0b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", + "rlp" : "0xf902e2f901fca05be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0c228c0e158d91f3c0add09711d1a0b880a55fbffc60d880334d58e8269930384a014a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51a02c87fff9ef2ef91295a810e6e65b424362f21769196f4d375d8ed306da715cdbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800188016345785d8a000082fe0182079e42a0000000000000000000000000000000000000000000000000000000000002000088000000000000000082036bf8e0b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", "transactions" : [ { "accessList" : [ @@ -76,12 +76,12 @@ "baseFeePerGas" : "0x03e8", "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "0xba5e000000000000000000000000000000000000", - "difficulty" : "0x020001", + "difficulty" : "0x00", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0x00", - "hash" : "0xe2fb405c660e1b67c8afd6ee57cd53e99487e8d53e5dd271291bb0b36859f1a4", - "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "hash" : "0x5be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x00", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -91,9 +91,9 @@ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, - "genesisRLP" : "0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0a72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200018088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0", - "lastblockhash" : "0xfeff9564e4279e67d38923e55266c8a517da33046409c08f8cb88c869da7a237", - "network" : "London", + "genesisRLP" : "0xf901fff901faa00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0a72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000808088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000200008800000000000000008203e8c0c0", + "lastblockhash" : "0xbfa142db8b12221cb2c1e2d95dc9aad110f4c72d2863e6c3ef582fb56c16ab3b", + "network" : "Merge+1153", "postState" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x01000000000000000000", @@ -111,7 +111,7 @@ } }, "0xba5e000000000000000000000000000000000000" : { - "balance" : "0x1bc16d674ec8fe01", + "balance" : "0xfe01", "code" : "0x", "nonce" : "0x00", "storage" : { diff --git a/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json b/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json index f1bcb5be83e..9a53324068b 100644 --- a/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json +++ b/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json @@ -2,13 +2,13 @@ "01_tloadBeginningTxn" : { "_info" : { "comment" : "load arbitrary value is 0 at beginning of transaction", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "205ebc644f6ef5ce6f60ac6be59706b193bb4d5b63710499429518089053474a", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "eead9087df07afac5ea637ab2eba852f8716a1ead289e6be546bd57f2a7d05e7", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml", - "sourceHash" : "63378a877c4edd640b709eaaa300e1889501578bd01c914a6b1e204431edadf5" + "sourceHash" : "2030c5f95f0510eb15871cf45213bbd45f9710b9a92897f52ebaf032e6f19f62" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0xab25bd49990c6706252222ef956a6f42d12e146ece23fad1669dfdd3db6948b9", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json b/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json index 303fab7891e..e9106fd7e5a 100644 --- a/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json +++ b/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json @@ -2,13 +2,13 @@ "02_tloadAfterTstore" : { "_info" : { "comment" : "tload from same slot after tstore returns correct value", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "311a27855c9a70c8aa236ddeff7b47a31846764a0b384ed86315835d0cb6c736", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "f11059bb9bcbf75ec258109707d1a03f005d9f9c103faf47df8ebd7a793160b6", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml", - "sourceHash" : "2b5bf164a2a23117378b68b6cbe4ac5f192814bb28a6b715477f5f1702a6dbe6" + "sourceHash" : "0bad89ab63109f5365d406b83c3f94feae0afbb8ffa667c4540e1ca97c1caebf" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x54e79effd83d6982bbeaa49524a3ca9d83671f346a3cc2f08c066514a296de18", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json b/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json index c0f3317ccf6..3874d5823af 100644 --- a/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json +++ b/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json @@ -2,13 +2,13 @@ "03_tloadAfterStoreIs0" : { "_info" : { "comment" : "Loading any other slot after storing to a slot returns 0.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "6f1734e64c90063e849d4de45ce1df49a74e9e2549714ba7fcb62ae0010e3ffc", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "a6004574e6fb2100fdfd586b5fa1cca6e4dd633431b7090e260dc7589ef9945d", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml", - "sourceHash" : "1440620ec267db0c92b29901b0dff3cf2ef61a2c1d26b434f31872fae7d5e9d1" + "sourceHash" : "4ff85763a90f339514bb1bafd292d8c8536b0b4d6fb89105c7ec6c707e50330f" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x5823f5d4bc8ba7c5ff7bc507066a616c2edfba10afe27bef32d6b2f4f4253094", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/04_tloadAfterCall.json b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json index 2e0ca7c2cb6..66d4ba4f758 100644 --- a/GeneralStateTests/stEIP1153/04_tloadAfterCall.json +++ b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json @@ -2,13 +2,13 @@ "04_tloadAfterCall" : { "_info" : { "comment" : "Loading a slot after a call to another contract is 0.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "deaabccee4becdcf9649f015d620fac37373dd09ca7e96bb2ab9c19682756138", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "c15f513d89233792904636f163edc45b689a11bf03afe13b7662c59c63c4411d", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml", - "sourceHash" : "8d1624742d7b4d3af49b9fd0016664dea4a29a25c2a387bb789f3f1be257612f" + "sourceHash" : "1f05e96fa52320605948c32aac9ae023fd51241313583f229072fc9f3256f660" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0xb66188af749a8929696613d9a5cef72beeb6447f432c94b095dd7a4948010e89", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json index 6f2d1141e4d..78dd3309697 100644 --- a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json +++ b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json @@ -2,13 +2,13 @@ "05_tloadReentrancy" : { "_info" : { "comment" : "Reentrant calls access the same transient storage.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "507e663e0da8870e7a496f2552f027d01b29ba598234a89de5b7f0f50df0aa8c", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "9e53a57015d3d5a339c14e8750d98af132f4bf3c3e4e5c19cc323b189996b2dc", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml", - "sourceHash" : "d27ed68accc21b2dce31b2b3f282ae0e0e8abe2d7774c73621dd6e8200e6253c" + "sourceHash" : "f5f5e568ded5f2342b79f8026acecc5fecb5dd485e41428dab42c0c8fdb60855" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0xe7a0ddc4a304c1e0b4c93743a3aeb2745c398de1b430a17dfee48b127a7c76e5", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json index 7da890fdb7d..dc21dcdabf6 100644 --- a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json +++ b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json @@ -2,13 +2,13 @@ "06_tstoreInReentrancyCall" : { "_info" : { "comment" : "Reentrant calls access the same transient storage.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "0acbca62834594d7b4cb105d925ce0ff12f4769081c90337fcc85c636c039baa", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "b02b363f40df3bb17099f64ee864b9a1cc31b2744d3b3f01cadf621866ed3cc3", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml", - "sourceHash" : "443c0f94215d749a6109199951a98e36db45d7310202d08c7e297496cc092dc5" + "sourceHash" : "e4c2252356e3feb1c6bf182fecc63779897e98c499957ef71fc1e73d6f42e1d8" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0xf100b8b8ee1601f792d89125cf4b2773ffe1f3cf6ba741deb559eefc78b79619", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json index 2c64c46a7f1..034178efabb 100644 --- a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json +++ b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json @@ -2,13 +2,13 @@ "07_tloadAfterReentrancyStore" : { "_info" : { "comment" : "Successfully returned calls do not revert transient storage writes.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "7849a560f5275b3c984d1af2284439c744a602966f4dfa05b5270326177e7529", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "13f426d999d67a768eeb815ac1ec2cc770002c72e96dabe099f16621d41df5a1", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml", - "sourceHash" : "60ff94535acabc08b058008952210711fd9b0030d797e695e63642864e50c279" + "sourceHash" : "2ba6742cc58fa8b759ff69cba3bec1d822d8a3b2cebc474a3196bced21378d95" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0xa252d312fab0d7339e304c3b1ff5a8b6590b6699bf8b38db29b2d851d93bcbd2", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json index 2bcaea21ae9..fb1cfaf46d2 100644 --- a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json +++ b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json @@ -2,13 +2,13 @@ "08_revertUndoesTransientStore" : { "_info" : { "comment" : "Revert undoes the transient storage writes from a call.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "c684957a0bd205e6a618aa0eff940137a5dff9319e805e105214f2034b482f92", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "1d9e662e9834a6c4ca5f382ff6ee5d70976e2c3567af79bad2f153283f1edf33", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml", - "sourceHash" : "999586cc75043dc95e6404b4259d809316b9527fffab9334183dfa325699b98d" + "sourceHash" : "56b46140e4bd62be70be9de92b2c5141110c9ef1cd7ae47120528ed1526f90bf" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x14002126d7f15384d51ff5ebaa8e3390b2d3cacd065fb91a6189c669f6bf71d9", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json index e3c445ec81b..2344b58c2f5 100644 --- a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json +++ b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json @@ -2,13 +2,13 @@ "09_revertUndoesAll" : { "_info" : { "comment" : "Revert undoes all the transient storage writes to the same key from the failed call.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "0a38dd643fc378158f6376e1fec56a0be1fb1ef7864cab88478c247a3697faa5", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "b6392b2c7703fd492a183abe70b03189ca1b1bec440937a96fca6d2bd4568c7b", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml", - "sourceHash" : "d9b3a90d3f195748f81b2beb2a3650b09d41069359dda9a971cf81a9918c9d31" + "sourceHash" : "79f4e466dde074d9c7381a27ab7056f35738cc41a7fa64fff92f7687bf904cb1" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0xcbf66b883f940c8561841257635ba80736a699ec1c2bcb23c2141100989d91ee", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json index c87523ab580..8175a37cd77 100644 --- a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json +++ b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json @@ -2,13 +2,13 @@ "10_revertUndoesStoreAfterReturn" : { "_info" : { "comment" : "Revert undoes the transient storage writes after a successful call.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "7e9efa3c77217f9bc146e07c484790eccbecab843c85275709513bc6daa42aba", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "bfc686bc01ecfd884d75478a012934c0586f1d98f04ce661fe6c2166d4f7f91c", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml", - "sourceHash" : "3f1e2ffbb8872a1525f5a72e101c59002ae439b9b1af2e757a7495a9864561f0" + "sourceHash" : "065125bafac74f0820c1cabd6164c991a77e0f4e853d7cc4fe58605e96585999" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x639be6ea75f3359dc32ebaa9521c9c0ff86b6edd3ba51cbad3ec2a59eb744062", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json index 6a78ac865ef..8314a32a4fc 100644 --- a/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json +++ b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json @@ -2,13 +2,13 @@ "11_tstoreDelegateCall" : { "_info" : { "comment" : "delegatecall manipulates transient storage in the context of the current address.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "d45439392fad10cfe0e1450d7db7f7ca75e4c3c2db47e1b68d1716b9743aef44", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "57974a50c57f830ca4881203eff7eddb9f717f875ddeda0740f357039891de50", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml", - "sourceHash" : "fd8dee1a4f87208f55ab7147cfb4525bedc879904a65753fea48768264944bc4" + "sourceHash" : "c47b143dd5f66a084bdd9b37a746b68aca6352663d3a2a80c1b587de6f1d7dfb" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x2b06f892cdb5375ccf896e25a01416e25ed94016660fa51ec4cd7a0a692895ab", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json b/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json index a5ccc6a1c40..29e29622e24 100644 --- a/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json +++ b/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json @@ -2,13 +2,13 @@ "12_tloadDelegateCall" : { "_info" : { "comment" : "delegatecall reads transient storage in the context of the current address", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "e62f5b7385e05dfd2718926570875ce6f72d037dd9fb0161a20a44bcf8ff13f6", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "1dc73ffe3dc8292c5361cb5afd39b86cec2a630a9fca7d6326d0be5bb7a4e917", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml", - "sourceHash" : "cada66c9783f3e4a2bb4211d6a9d6ab44c8880c2057343489dfbb796d888e6ea" + "sourceHash" : "fa90e4440bfef69ce3e04d783f63dac09ff40122d81d067c2778f5e2cfa071ea" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x7a2c72b0c5de84358fe3f49ae9c846781bc7d3a9ddd413ab5d9ce7bd80f0498d", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json index 30b3915861e..772c1a69156 100644 --- a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json +++ b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json @@ -2,13 +2,13 @@ "13_tloadStaticCall" : { "_info" : { "comment" : "Transient storage cannot be manipulated in a static context, tstore reverts.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "ece66d88476d311c41694e6a631500ce0cb14324874f5a68185ba4a742b1aa41", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "7918185d17a6fb43074bcabebe07ce053c18d1ca301674f3cc0f4d3133c4ad29", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml", - "sourceHash" : "4ad566f3d17fc0512442cfe7cbdd51ef0c7e2098ea2dfb00986220328b548558" + "sourceHash" : "7269cb524677a88fc95bbdad6646cfd51ff5d84e8f02d31fbd92f6044a6335cf" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x1ad501531c8bb98bef2f70579e0256b40d994175510518fa34fdb18358503e2b", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json index 54cd4fe7507..50bb90d9d1a 100644 --- a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json +++ b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json @@ -2,13 +2,13 @@ "14_revertAfterNestedStaticcall" : { "_info" : { "comment" : "Transient storage can't be manipulated from nested staticcall.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "1789976b3a1eb9695c91b43ed05537018d346735be8cc663c3761a0a664131f1", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "087e5b17ff3bc1f55e120fece089942af9ff5a82901feea68dc59d862241c0ef", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml", - "sourceHash" : "f92c0090828afb8b877117952aee95304e92dbb43031305b754c234ebff1a910" + "sourceHash" : "0f61d56eda8a6876e7e5bc2d68d645556e7ea01e930ae648e93125d4c07e6652" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x42c36065d120fc8731725423229e05b971247e3e474f76bd3e06ee06318be5f1", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json index 41fe631afb8..efdbb074507 100644 --- a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json @@ -2,13 +2,13 @@ "15_tstoreCannotBeDosd" : { "_info" : { "comment" : "Transient storage cannot be DOS’d.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "98a391c0a4c29c8f89446c003399609e6188d00ed9595da5f7bdf7f0896703ba", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "03c32b0820b88f2399dc808d2c5c4ace58fa73cfcf71dc854ffbabbe3a50cbb5", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "23260458672d814cd0ffb84351f8e62b5356815726fd62768246694177c80e83" + "sourceHash" : "0bf2b6c21f79596f7471f43c284d7cbf01c609a405ca30fd905ed040901077e2" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x425cb84e3d6329126e9808e6fcb1ed0e01c29018cf0bbd9119ef9155ad575d84", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/16_tloadGas.json b/GeneralStateTests/stEIP1153/16_tloadGas.json index 196b49bbabe..4969e5ef017 100644 --- a/GeneralStateTests/stEIP1153/16_tloadGas.json +++ b/GeneralStateTests/stEIP1153/16_tloadGas.json @@ -2,13 +2,13 @@ "16_tloadGas" : { "_info" : { "comment" : "tload costs 100 gas same as a warm sload", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "b976ad4c46afc91a897b594f8de2c51f9e13a11e54f5277b368f068b1bccb1f2", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "23311bfeb640c68e1803d0800d1ae8a552a05acfd0d994918dd46539ce3afb72", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml", - "sourceHash" : "cf8d122d1bf7e64455f2b0bfe5d73dfc289cc713a6192ae021fda79a1af84c73" + "sourceHash" : "2ff2b0c38aa48cbb9054e8865b2df665cc1aace52646a59e2521cad2dc3131c6" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x971000ab9ca47073e927e0f3f64ae126817f055772d86e913be1d9fdc5c34834", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/17_tstoreGas.json b/GeneralStateTests/stEIP1153/17_tstoreGas.json index adb6eb81291..49f6d388d2c 100644 --- a/GeneralStateTests/stEIP1153/17_tstoreGas.json +++ b/GeneralStateTests/stEIP1153/17_tstoreGas.json @@ -2,13 +2,13 @@ "17_tstoreGas" : { "_info" : { "comment" : "Tstore arbitrary value in arbitrary slot costs 100 gas.", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "f82e789306d91608c428044d2f28c6e6ab067540987d242f7a1c87c042e91ba2", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "ad65aac7788948222730ff01db68d1f7d4fd929361b9e12d71c9361b929e4477", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml", - "sourceHash" : "dc538ee0e1d71396b1c25bad54a88e6e535ca77c4801cc889a514999b640f6fb" + "sourceHash" : "be45df4f3154fdc27db5dfc0d99d6f2fc32b2dbe7eab7d99b062c2a3d8e06ffb" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0x16be7c34d8ea8d91d2b6d3c9acdc5e15d67310042fb7c3dd642a3cc2ea1ca662", "indexes" : { diff --git a/GeneralStateTests/stEIP1153/18_tloadAfterStore.json b/GeneralStateTests/stEIP1153/18_tloadAfterStore.json index aa465ac1140..ccf71620381 100644 --- a/GeneralStateTests/stEIP1153/18_tloadAfterStore.json +++ b/GeneralStateTests/stEIP1153/18_tloadAfterStore.json @@ -2,13 +2,13 @@ "18_tloadAfterStore" : { "_info" : { "comment" : "tload from same slot after store returns 0", - "filling-rpc-server" : "evm version 1.10.17-unstable-7fc695ba-20220630", - "filling-tool-version" : "retesteth-0.2.2-testinfo+commit.b42fcf0b.Linux.g++", - "generatedTestHash" : "69523367862de700f16fd744d0db40ea65a61b1b566bc3ed70c61e92f25ea27c", - "lllcversion" : "Version: 0.5.14-develop.2022.7.5+commit.401d5358.Linux.g++", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "072aa189b919c6913da62b259e8a70287b408fbfa519e7d2b50dc3e5a0ee22ef", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml", - "sourceHash" : "fd106c67ff983c9bf7bb9358de77c710c65fcde5ded387756222226f747917e9" + "sourceHash" : "179716b615725ffd29eab218b2636821886cf03a9f3d0fc27706586499b94330" }, "env" : { "currentBaseFee" : "0x0a", @@ -21,7 +21,7 @@ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, "post" : { - "London" : [ + "Merge+1153" : [ { "hash" : "0xd8c02ac840e9d551fc8a60c835da856bdb6f9c62169ac3aacce4abfb57f72893", "indexes" : { From d1f8ba85bc0c2c4d150aa7390bc56a7913f0a6e5 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Tue, 29 Nov 2022 19:32:55 -0500 Subject: [PATCH 23/56] bump num calls --- .../stEIP1153/15_tstoreCannotBeDosd.json | 12 ++++++------ .../stEIP1153/15_tstoreCannotBeDosdFiller.yml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json index efdbb074507..6f45c423057 100644 --- a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be DOS’d.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "03c32b0820b88f2399dc808d2c5c4ace58fa73cfcf71dc854ffbabbe3a50cbb5", + "generatedTestHash" : "2799586b394cae45c1d418992ad0b1cd2f4d49c7b27cbab9e6b6af483158d2e8", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "0bf2b6c21f79596f7471f43c284d7cbf01c609a405ca30fd905ed040901077e2" + "sourceHash" : "0779e15552d7d383576d578e3492e589f30df8a2a0640c31d0092d27578637dd" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,14 +23,14 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x425cb84e3d6329126e9808e6fcb1ed0e01c29018cf0bbd9119ef9155ad575d84", + "hash" : "0x4631ec7c266a482ceb1ca9eb5fea755265f8ed8a194497dba1849bddf936a6d1", "indexes" : { "data" : 0, "gas" : 0, "value" : 0 }, "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "txbytes" : "0x02f8890180808207d083061a8094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000000200c080a061dac0c105c841fa0aaac4ae0590038c94e46dd05bf36d12551b2b4142c6661ea03c00a8f64974ed0fb16de67efe669665c05b3483feb1a9fc25cf2818233ec9d9" + "txbytes" : "0x02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000030d40c080a07af604a7e60799d1c20f236fdc22124998b2e296c77adfdde2bc2aed98a1d919a078cb7be5110c005605ec0f5a3fca68bc37e7cefa4b8f73471093a220ef34440b" } ] }, @@ -58,10 +58,10 @@ ] ], "data" : [ - "0x883264e80000000000000000000000000000000000000000000000000000000000000200" + "0x883264e80000000000000000000000000000000000000000000000000000000000030d40" ], "gasLimit" : [ - "0x061a80" + "0x01c9c380" ], "maxFeePerGas" : "0x07d0", "maxPriorityFeePerGas" : "0x00", diff --git a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml index ada09be02df..2cc1ec17a21 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml @@ -69,10 +69,10 @@ transaction: data: - - data: :abi doCall(uint) 0x200 + - data: :abi doCall(uint) 0x30d40 accessList: [] gasLimit: - - "400000" + - "30000000" nonce: 0 to: 000000000000000000000000000000000000000A value: From a55b3e5e353fb57784c05009fd28ed92132179ea Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 1 Dec 2022 14:38:50 -0500 Subject: [PATCH 24/56] remove indexes --- GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json | 2 +- GeneralStateTests/stEIP1153/02_tloadAfterTstore.json | 2 +- GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json | 2 +- GeneralStateTests/stEIP1153/04_tloadAfterCall.json | 2 +- GeneralStateTests/stEIP1153/05_tloadReentrancy.json | 2 +- GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json | 2 +- .../stEIP1153/07_tloadAfterReentrancyStore.json | 2 +- .../stEIP1153/08_revertUndoesTransientStore.json | 2 +- GeneralStateTests/stEIP1153/09_revertUndoesAll.json | 2 +- .../stEIP1153/10_revertUndoesStoreAfterReturn.json | 2 +- GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json | 2 +- GeneralStateTests/stEIP1153/12_tloadDelegateCall.json | 2 +- GeneralStateTests/stEIP1153/13_tloadStaticCall.json | 2 +- .../stEIP1153/14_revertAfterNestedStaticcall.json | 2 +- GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json | 2 +- GeneralStateTests/stEIP1153/16_tloadGas.json | 2 +- GeneralStateTests/stEIP1153/17_tstoreGas.json | 2 +- GeneralStateTests/stEIP1153/18_tloadAfterStore.json | 2 +- .../stEIP1153/01_tloadBeginningTxnFiller.yml | 7 +------ .../stEIP1153/02_tloadAfterTstoreFiller.yml | 7 +------ .../stEIP1153/03_tloadAfterStoreIs0Filler.yml | 7 +------ .../stEIP1153/04_tloadAfterCallFiller.yml | 7 +------ .../stEIP1153/05_tloadReentrancyFiller.yml | 7 +------ .../stEIP1153/06_tstoreInReentrancyCallFiller.yml | 7 +------ .../stEIP1153/07_tloadAfterReentrancyStoreFiller.yml | 7 +------ .../stEIP1153/08_revertUndoesTransientStoreFiller.yml | 7 +------ .../stEIP1153/09_revertUndoesAllFiller.yml | 7 +------ .../stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml | 7 +------ .../stEIP1153/11_tstoreDelegateCallFiller.yml | 7 +------ .../stEIP1153/12_tloadDelegateCallFiller.yml | 7 +------ .../stEIP1153/13_tloadStaticCallFiller.yml | 7 +------ .../stEIP1153/14_revertAfterNestedStaticcallFiller.yml | 7 +------ .../stEIP1153/15_tstoreCannotBeDosdFiller.yml | 7 +------ .../stEIP1153/16_tloadGasFiller.yml | 7 +------ .../stEIP1153/17_tstoreGasFiller.yml | 7 +------ .../stEIP1153/18_tloadAfterStoreFiller.yml | 7 +------ 36 files changed, 36 insertions(+), 126 deletions(-) diff --git a/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json b/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json index 9a53324068b..cff4ee86fd7 100644 --- a/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json +++ b/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml", - "sourceHash" : "2030c5f95f0510eb15871cf45213bbd45f9710b9a92897f52ebaf032e6f19f62" + "sourceHash" : "dc23bd3268437372eea849e877d4d3feaea15c8a4762c6bf006dc847b5b1b685" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json b/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json index e9106fd7e5a..e5cfe929ffa 100644 --- a/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json +++ b/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml", - "sourceHash" : "0bad89ab63109f5365d406b83c3f94feae0afbb8ffa667c4540e1ca97c1caebf" + "sourceHash" : "010bd043b8ddaabb1c74c094ec709263ee1e5de7ab1baa20a7e282952f9a3cf4" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json b/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json index 3874d5823af..fdf28bf92a4 100644 --- a/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json +++ b/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml", - "sourceHash" : "4ff85763a90f339514bb1bafd292d8c8536b0b4d6fb89105c7ec6c707e50330f" + "sourceHash" : "06b54a4bb82295d88299bab17b36fb35b4da759be725cd9757073004ae7087fb" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/04_tloadAfterCall.json b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json index 66d4ba4f758..239f86da3d3 100644 --- a/GeneralStateTests/stEIP1153/04_tloadAfterCall.json +++ b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml", - "sourceHash" : "1f05e96fa52320605948c32aac9ae023fd51241313583f229072fc9f3256f660" + "sourceHash" : "d89d877fce051112770f975683ba4cc38bf83ee785c346ae39cd3fe84ae27dc7" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json index 78dd3309697..1d3df765db7 100644 --- a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json +++ b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml", - "sourceHash" : "f5f5e568ded5f2342b79f8026acecc5fecb5dd485e41428dab42c0c8fdb60855" + "sourceHash" : "9942c22d633d6a2d2ab3b8ad9e658d87008d49aa38e37d79881d719d694c01fc" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json index dc21dcdabf6..b389109aee2 100644 --- a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json +++ b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml", - "sourceHash" : "e4c2252356e3feb1c6bf182fecc63779897e98c499957ef71fc1e73d6f42e1d8" + "sourceHash" : "72cb7271f3ff5531fe26a3e76ddabee6630abce42284130631325c902765ebdc" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json index 034178efabb..8176e2fd91c 100644 --- a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json +++ b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml", - "sourceHash" : "2ba6742cc58fa8b759ff69cba3bec1d822d8a3b2cebc474a3196bced21378d95" + "sourceHash" : "b7026153a63cf361be3026a989b6669ccaa834a23b7a8829050a179372c688bb" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json index fb1cfaf46d2..dccdabb9bdc 100644 --- a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json +++ b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml", - "sourceHash" : "56b46140e4bd62be70be9de92b2c5141110c9ef1cd7ae47120528ed1526f90bf" + "sourceHash" : "73cea7eee0212ccf9461ab6d4450e3b0c190c057f3c39eabffaad376760b3f15" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json index 2344b58c2f5..b1fc7591bfa 100644 --- a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json +++ b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml", - "sourceHash" : "79f4e466dde074d9c7381a27ab7056f35738cc41a7fa64fff92f7687bf904cb1" + "sourceHash" : "ebd060e19a0c636054978f4cbc719a4658a19568f07eeceb055a76918344cf21" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json index 8175a37cd77..a30de8ea22b 100644 --- a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json +++ b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml", - "sourceHash" : "065125bafac74f0820c1cabd6164c991a77e0f4e853d7cc4fe58605e96585999" + "sourceHash" : "30a96dfea8fcd91825c41ed20b4b4c35739051eb696dbae25bec937880755cfe" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json index 8314a32a4fc..05a31088ef3 100644 --- a/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json +++ b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml", - "sourceHash" : "c47b143dd5f66a084bdd9b37a746b68aca6352663d3a2a80c1b587de6f1d7dfb" + "sourceHash" : "b39d63bb8dcebb2cae3aadda96e47b29fd5be11bf2cd213d1650f4c4b488afd8" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json b/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json index 29e29622e24..d8b6f6c5945 100644 --- a/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json +++ b/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml", - "sourceHash" : "fa90e4440bfef69ce3e04d783f63dac09ff40122d81d067c2778f5e2cfa071ea" + "sourceHash" : "cd2ec1e757d9823a94c38f3759740fce24c07a51143ea84665fa7be9f1831d1b" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json index 772c1a69156..07924c7de49 100644 --- a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json +++ b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml", - "sourceHash" : "7269cb524677a88fc95bbdad6646cfd51ff5d84e8f02d31fbd92f6044a6335cf" + "sourceHash" : "d343c393a90b51aa1f02ffd26d8c8179a9073fa28cde0aba6bb096b85066a5ff" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json index 50bb90d9d1a..cbb78e03857 100644 --- a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json +++ b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml", - "sourceHash" : "0f61d56eda8a6876e7e5bc2d68d645556e7ea01e930ae648e93125d4c07e6652" + "sourceHash" : "0842b3db9dc685bb4ea072db3fa5740bbd6c5bd258eceb7535ba9ade3b7a2fb9" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json index 6f45c423057..cd059ccda6f 100644 --- a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "0779e15552d7d383576d578e3492e589f30df8a2a0640c31d0092d27578637dd" + "sourceHash" : "3aae4e1e926538fb15af0984204e74036c50d126962884387aede16b0ffa4c0e" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/16_tloadGas.json b/GeneralStateTests/stEIP1153/16_tloadGas.json index 4969e5ef017..0c70c2f7985 100644 --- a/GeneralStateTests/stEIP1153/16_tloadGas.json +++ b/GeneralStateTests/stEIP1153/16_tloadGas.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml", - "sourceHash" : "2ff2b0c38aa48cbb9054e8865b2df665cc1aace52646a59e2521cad2dc3131c6" + "sourceHash" : "dedd786c1b0defc6dbb4dee92865a5f43a4fc12665976c2972360fdb3fc62424" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/17_tstoreGas.json b/GeneralStateTests/stEIP1153/17_tstoreGas.json index 49f6d388d2c..400b2cadf8c 100644 --- a/GeneralStateTests/stEIP1153/17_tstoreGas.json +++ b/GeneralStateTests/stEIP1153/17_tstoreGas.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml", - "sourceHash" : "be45df4f3154fdc27db5dfc0d99d6f2fc32b2dbe7eab7d99b062c2a3d8e06ffb" + "sourceHash" : "951650ff436b31bad1252356772d6a0c373438734319cf7f627a174a9e4d591a" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/GeneralStateTests/stEIP1153/18_tloadAfterStore.json b/GeneralStateTests/stEIP1153/18_tloadAfterStore.json index ccf71620381..9364ac69bcc 100644 --- a/GeneralStateTests/stEIP1153/18_tloadAfterStore.json +++ b/GeneralStateTests/stEIP1153/18_tloadAfterStore.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml", - "sourceHash" : "179716b615725ffd29eab218b2636821886cf03a9f3d0fc27706586499b94330" + "sourceHash" : "82711163c65d52ab61ad482ee10d7f43cc09cc4f0415dc32286ca1d96ed3dc09" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml index ddde658a09c..230bed6cdbb 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml @@ -47,12 +47,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml index fbb70ee8f70..663b00dbac8 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml @@ -48,12 +48,7 @@ maxFeePerGas: 4000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml b/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml index a07d1d9ad89..c5c3ae87e0b 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml @@ -49,12 +49,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml index 5261e54b949..5c84b7db88b 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml @@ -62,12 +62,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml index 6ee4c103e76..3d02787db92 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml @@ -93,12 +93,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml index 0ee6c1e306d..ba7daf546d2 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml @@ -89,12 +89,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml index 3b549b4e123..bb3fa01c5fc 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml @@ -81,12 +81,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml index e0e7ce3aed8..995c8556c02 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml @@ -82,12 +82,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml index 2fcbaec0397..0beac1eec74 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml @@ -79,12 +79,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml index ce1099bb8d0..012d75f2269 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml @@ -98,12 +98,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml index bcbfb7972de..1491dba8d47 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml @@ -61,12 +61,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml index a89095d944b..1a2a1db30fb 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml @@ -59,12 +59,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml index 208f5a63583..0c7b84695d5 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml @@ -76,12 +76,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml index b43e7ec84fc..7695dc057b6 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml @@ -100,12 +100,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml index 2cc1ec17a21..7fd0a2d5fd7 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml @@ -82,12 +82,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml index 62d5a2b1df3..c3a4bfb7361 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml @@ -65,12 +65,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml index 92b34248037..69d85ed2b0b 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml @@ -65,12 +65,7 @@ maxFeePerGas: 2000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: diff --git a/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml index 15a38f6de35..a3a798ee77a 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml @@ -48,12 +48,7 @@ maxFeePerGas: 4000 expect: - - indexes: - data: !!int -1 - gas: !!int -1 - value: !!int -1 - - network: + - network: - "Merge+1153" result: 000000000000000000000000000000000000000A: From 9a54b73adf145c945bfb72d63513e707b4526131 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Wed, 7 Dec 2022 13:32:25 -0500 Subject: [PATCH 25/56] 03 ensure tstore never wrote to storage --- .../stEIP1153/03_tloadAfterStoreIs0.json | 11 ++++++----- .../stEIP1153/03_tloadAfterStoreIs0Filler.yml | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json b/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json index fdf28bf92a4..d994c42326b 100644 --- a/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json +++ b/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json @@ -4,11 +4,11 @@ "comment" : "Loading any other slot after storing to a slot returns 0.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "a6004574e6fb2100fdfd586b5fa1cca6e4dd633431b7090e260dc7589ef9945d", + "generatedTestHash" : "477615b031aa5685d79548125e0e22a2f6ebfc068f5f01a3deb85a8c3f9427e2", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml", - "sourceHash" : "06b54a4bb82295d88299bab17b36fb35b4da759be725cd9757073004ae7087fb" + "sourceHash" : "c75e82448ffc19bde474218726343cc8b0e5510429f7eb9cb9d1b00393ee665e" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x5823f5d4bc8ba7c5ff7bc507066a616c2edfba10afe27bef32d6b2f4f4253094", + "hash" : "0x926913c6a6c7421d95ea872c650e30668aa3007da992516d420c6783a75e76aa", "indexes" : { "data" : 0, "gas" : 0, @@ -37,10 +37,11 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x601e6000b46001b38060005550", + "code" : "0x601e6000b46001b38060015550", "nonce" : "0x00", "storage" : { - "0x00" : "0xffff" + "0x00" : "0xffff", + "0x01" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml b/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml index c5c3ae87e0b..b20cb9b895e 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml @@ -2,7 +2,7 @@ # Loading from a different slot after storing to a slot returns 0: TSTORE(x, y), TLOAD(z) returns 0 # # Expect storage slot 0 to have value 0 -# Ex 1) stores 30 at slot 0, loads from slot 1, expects storage slot 0 to have 0 +# Ex 1) stores 30 at slot 0, loads from slot 1, expects storage slot 0 to have 0, expects storage slot 1 to have 0 03_tloadAfterStoreIs0: _info: @@ -25,9 +25,9 @@ :yul { verbatim_2i_0o(hex"b4", 0, 30) let val := verbatim_1i_1o(hex"b3", 1) - sstore(0, val) + sstore(1, val) } - storage: { 0x00: 0xffff } + storage: { 0x00: 0xffff, 0x01: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" @@ -55,4 +55,5 @@ 000000000000000000000000000000000000000A: storage: # The result we expect - 0x00: 0 + 0x00: 0xffff # ensure tstore never wrote to storage + 0x01: 0 # ensure loading from an unused key is 0 From 2aace0267dce263e8439d44e10cef18397c24e8a Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Wed, 7 Dec 2022 14:29:43 -0500 Subject: [PATCH 26/56] 04 ensure tstore doesnt affect calling transient storage --- GeneralStateTests/stEIP1153/04_tloadAfterCall.json | 8 ++++---- .../stEIP1153/04_tloadAfterCallFiller.yml | 11 +++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/GeneralStateTests/stEIP1153/04_tloadAfterCall.json b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json index 239f86da3d3..4ad5de598d2 100644 --- a/GeneralStateTests/stEIP1153/04_tloadAfterCall.json +++ b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json @@ -4,11 +4,11 @@ "comment" : "Loading a slot after a call to another contract is 0.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "c15f513d89233792904636f163edc45b689a11bf03afe13b7662c59c63c4411d", + "generatedTestHash" : "48c77d51b3ce072654bd6e83d6543f4a4c56c8046bc80abf5d142ac022ebd6c9", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml", - "sourceHash" : "d89d877fce051112770f975683ba4cc38bf83ee785c346ae39cd3fe84ae27dc7" + "sourceHash" : "6e4e2454b8db227ff95f3520fd3ce2dfcc2eb4f29d2b144ba8934786b6f450d7" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xb66188af749a8929696613d9a5cef72beeb6447f432c94b095dd7a4948010e89", + "hash" : "0xcc1d3a238141ce7e0a033fc4432bb5f340cd8dbc58fc61556d72aef14c14f2fa", "indexes" : { "data" : 0, "gas" : 0, @@ -44,7 +44,7 @@ }, "0x000000000000000000000000000000000000000b" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000b38060005550", + "code" : "0x6000b38060005560146000b46000b3806001555050", "nonce" : "0x00", "storage" : { "0x00" : "0xffff" diff --git a/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml index 5c84b7db88b..de676ed6f01 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml @@ -1,10 +1,12 @@ # 04 # Contracts have separate transient storage. # Loading a slot in a separate contract after storing returns 0: TSTORE(x, y), CALL(z, ...), TLOAD(x) returns 0 +# Storing to a slot in a separate contract does not affect calling contract: TSTORE(x, y), CALL(z, ...), TSTORE(x, f) and original calling contract TLOAD(x) returns y # -# Expect storage slot 0 of address a to be 10. +# Expect storage slot 0 of address a to be 10. Ensures that tstore in a different contract doesn't modify calling contract transient storage. # Expect storage slot 1 of address a to be 1 (successful call). -# Expect storage slot 0 of address b to be 0. +# Expect storage slot 0 of address b to be 0. Ensures that tload doesn't load the calling contracts transient storage. +# Expect storage slot 1 of address b to be 20. Ensures that tstore did result in a change to the transient storage of a called contract. 04_tloadAfterCall: _info: @@ -39,6 +41,10 @@ :yul { let val := verbatim_1i_1o(hex"b3", 0) sstore(0, val) + + verbatim_2i_0o(hex"b4", 0, 20) + let updated_val := verbatim_1i_1o(hex"b3", 0) + sstore(1, updated_val) } storage: { 0x00: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: @@ -73,3 +79,4 @@ 000000000000000000000000000000000000000B: storage: 0x00: 0 + 0x01: 20 From 2bcc343480ed47b2dd6cd0bf1957a95aae3447bc Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 8 Dec 2022 00:47:53 -0500 Subject: [PATCH 27/56] oog undoes tstore after reentrant call --- .../stEIP1153/19_oogUndoesTransientStore.json | 78 ++++++++++++++++ .../19_oogUndoesTransientStoreFiller.yml | 92 +++++++++++++++++++ 2 files changed, 170 insertions(+) create mode 100644 GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json create mode 100644 src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml diff --git a/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json b/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json new file mode 100644 index 00000000000..a35d495dc7d --- /dev/null +++ b/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json @@ -0,0 +1,78 @@ +{ + "19_oogUndoesTransientStore" : { + "_info" : { + "comment" : "Out of gas undoes the transient storage writes from a call.", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "ed9c6772d2fd3d3038ceb5e13ec048311f5fff5ecfcbd16af900375bb1df9bb3", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml", + "sourceHash" : "d309326f99d4a6bb3bb0a4833014c0d0f31df159dc1c7e4cf064370c736d44e2" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "Merge+1153" : [ + { + "hash" : "0x766b5d5ff0a28d3c533cc2a56d72f997c0808be3fc811a4fd8daf742ffa7d992", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056097565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326048565b5b5060c3565b600b6000b4622fffff600020505b565b604e6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61c350f1806002556000b360015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff", + "0x01" : "0xffff", + "0x02" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x3f371692" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml new file mode 100644 index 00000000000..58cf606f734 --- /dev/null +++ b/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml @@ -0,0 +1,92 @@ +# 19 +# Out of gas undoes the transient storage write from reentrant subcall: TSTORE(x, y), CALL(self, ...), TSTORE(x, z), where oog reverts subcall +# +# Expect slot 0 to have 0x4e from tstore. +# Expect slot 1 to have 0x4e from the original tstore. +# Expect slot 2 to have 0 for unsuccessful call. + +19_oogUndoesTransientStore: + _info: + comment: Out of gas undoes the transient storage writes from a call. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + case 0xe2da2eb0 { // doStoreAndRevert() + doStoreAndRevert() + } + + case 0x3f371692 { // doReenter() + doReenter() + } + + default { + sstore(2, 1) + } + + function doStoreAndRevert() { + verbatim_2i_0o(hex"b4", 0, 11) + let hash := keccak256(0, 0x2fffff) + } + + function doReenter() { + verbatim_2i_0o(hex"b4", 0, 0x4e) + let v := verbatim_1i_1o(hex"b3", 0) + sstore(0, v) + + mstore(0, hex"e2da2eb0") // doStoreAndRevert() runs out of gas + let fail := call(0xC350, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + sstore(2, fail) + + sstore(1, verbatim_1i_1o(hex"b3", 0)) + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: { 0x00: 0xffff, 0x01: 0xffff, 0x02: 0xffff } + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doReenter() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - network: + - "Merge+1153" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 0x4e + 0x01: 0x4e + 0x02: 0 From c86bd00f9ff7f6938b48f7a3767c18d48e54b6ae Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 8 Dec 2022 00:58:01 -0500 Subject: [PATCH 28/56] oog undoes transient store after subcall --- .../20_oogUndoesTransientStoreInCall.json | 85 +++++++++++++++++++ ...20_oogUndoesTransientStoreInCallFiller.yml | 77 +++++++++++++++++ 2 files changed, 162 insertions(+) create mode 100644 GeneralStateTests/stEIP1153/20_oogUndoesTransientStoreInCall.json create mode 100644 src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml diff --git a/GeneralStateTests/stEIP1153/20_oogUndoesTransientStoreInCall.json b/GeneralStateTests/stEIP1153/20_oogUndoesTransientStoreInCall.json new file mode 100644 index 00000000000..08f39663e97 --- /dev/null +++ b/GeneralStateTests/stEIP1153/20_oogUndoesTransientStoreInCall.json @@ -0,0 +1,85 @@ +{ + "20_oogUndoesTransientStoreInCall" : { + "_info" : { + "comment" : "Out of gas undoes the transient storage writes from a call.", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "a82ebe1ae72aa0fd7c5b0bdfe1bcad5d212a7963a433e49cd7163047e3f5c669", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml", + "sourceHash" : "63c1493cf1ab79e4c216bd1ed8b4b249a7f21b2b85c5e75a5e6992f14dd85751" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "Merge+1153" : [ + { + "hash" : "0x6d3fc22bfd987aced7c9c344f1fcc32ba655a1697d1d6bce402334bbbf6c8636", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056001b46001b380600a5560006000602060006000600b61c350f180600c556001b3600b555050", + "nonce" : "0x00", + "storage" : { + "0x0a" : "0xffff", + "0x0b" : "0xffff", + "0x0c" : "0xffff" + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600b6000b4622fffff60002050", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x3f371692" + ], + "gasLimit" : [ + "0x061a80" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml new file mode 100644 index 00000000000..6fb05acb187 --- /dev/null +++ b/src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml @@ -0,0 +1,77 @@ +# 20 +# Out of gas undoes the transient storage write from out of gas: TSTORE(x, y), CALL(...), TSTORE(x, z), where oog reverts subcall. +# +# Expect slot 0xa to have 0x05 from tstore. +# Expect slot 0xb to have 0x05 from the original tstore. +# Expect slot 2xc to have 0 from the unsuccessful call. + +20_oogUndoesTransientStoreInCall: + _info: + comment: Out of gas undoes the transient storage writes from a call. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + verbatim_2i_0o(hex"b4", 1, 0x05) + let v := verbatim_1i_1o(hex"b3", 1) + sstore(0xa, v) + + // reverts from oog + let fail := call(0xC350, 0x000000000000000000000000000000000000000B, 0, 0, 32, 0, 0) + sstore(0xc, fail) + + sstore(0xb, verbatim_1i_1o(hex"b3", 1)) + + } + storage: { 0xa: 0xffff, 0xb: 0xffff, 0xc: 0xffff } + 000000000000000000000000000000000000000B: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + verbatim_2i_0o(hex"b4", 0, 11) + let hash := keccak256(0, 0x2fffff) + } + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doReenter() + accessList: [] + gasLimit: + - "400000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - network: + - "Merge+1153" + result: + 000000000000000000000000000000000000000A: + storage: + # expect .. + 0xa: 0x05 + 0xb: 0x05 + 0xc: 0 From 285c951c37e8b9cbcca24249b7bbc8d495a7b97f Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 8 Dec 2022 01:13:45 -0500 Subject: [PATCH 29/56] 09 use fail & add tstore w/new key --- .../stEIP1153/09_revertUndoesAll.json | 8 ++++---- .../stEIP1153/09_revertUndoesAllFiller.yml | 20 ++++++++++++++----- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json index b1fc7591bfa..ad1fd5a6b91 100644 --- a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json +++ b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes all the transient storage writes to the same key from the failed call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "b6392b2c7703fd492a183abe70b03189ca1b1bec440937a96fca6d2bd4568c7b", + "generatedTestHash" : "d1154285d2c98091f6df5868c6fadc2b6789971d4a02e96b17ec117103fa05e2", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml", - "sourceHash" : "ebd060e19a0c636054978f4cbc719a4658a19568f07eeceb055a76918344cf21" + "sourceHash" : "fafe159ea4ed6a6db396a1a3a917d6d2b6404fd37d2e2003d306dccd3ec11fa1" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xcbf66b883f940c8561841257635ba80736a699ec1c2bcb23c2141100989d91ee", + "hash" : "0xd1d899a3f5e61bb34d8c98ed6947b93fff60c61621b27f4635e38402eee3ca8f", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6005608e565b633f3716928114601d5763578290e58114602757602e565b60236045565b602e565b602d6033565b5b5060ba565b60056000b460066000b460006000fd5b565b60046000b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b3816000558060015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x600560a5565b633f3716928114601d5763578290e58114602757602e565b6023604f565b602e565b602d6033565b5b5060d1565b60056000b460066000b4600b6001b4600c6001b460006000fd5b565b60046000b4600a6001b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806000556000b3806001556001b3806002555050505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff" diff --git a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml index 0beac1eec74..339a8503201 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml @@ -3,7 +3,8 @@ # TSTORE(x, y), CALL(self, ...), TSTORE(x, z), TSTORE(x, z + 1) REVERT, TLOAD(x) returns y # # Expect storage slot 0 of address a to be 0. Call failed. -# Expect storage slot 1 of address a to be 4. The original value in transient storage before failed call. +# Expect storage slot 1 of address a to be 4. The original value in transient storage before failed reentrant subcall. +# Expect storage slot 2 of address a to be 10. The original value in transient storage before failed reentrant subcall. 09_revertUndoesAll: _info: @@ -39,16 +40,24 @@ function storeTwiceAndRevert() { verbatim_2i_0o(hex"b4", 0, 5) verbatim_2i_0o(hex"b4", 0, 6) + verbatim_2i_0o(hex"b4", 1, 11) + verbatim_2i_0o(hex"b4", 1, 12) revert(0,0) } function doReenter() { verbatim_2i_0o(hex"b4", 0, 4) + verbatim_2i_0o(hex"b4", 1, 10) mstore(0, hex"578290e5") - let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) - let v := verbatim_1i_1o(hex"b3", 0) - sstore(0, success) - sstore(1, v) + + let fail := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + sstore(0, fail) + + let v0 := verbatim_1i_1o(hex"b3", 0) + sstore(1, v0) + + let v1 := verbatim_1i_1o(hex"b3", 1) + sstore(2, v1) } function selector() -> s { @@ -86,3 +95,4 @@ storage: 0x00: 0 0x01: 4 + 0x02: 10 From 9f78f4ada7aebe6455da8f020db9335e18e7ef5a Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 8 Dec 2022 01:24:49 -0500 Subject: [PATCH 30/56] 10 fail --- .../stEIP1153/10_revertUndoesStoreAfterReturn.json | 2 +- .../stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json index a30de8ea22b..df38cf2ef54 100644 --- a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json +++ b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json @@ -8,7 +8,7 @@ "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml", - "sourceHash" : "30a96dfea8fcd91825c41ed20b4b4c35739051eb696dbae25bec937880755cfe" + "sourceHash" : "ea6a82b2bbbfd3a7bfee2150bab036d9c36e7f16a111a6dc88247c07cb40e508" }, "env" : { "currentBaseFee" : "0x0a", diff --git a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml index 012d75f2269..00890410e60 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml @@ -49,8 +49,8 @@ let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) - let success := doReenter(hex"76b85d23") // calls doCallThenRevert() - sstore(1, success) // should be 0 (revert) + let fail := doReenter(hex"76b85d23") // calls doCallThenRevert() + sstore(1, fail) // should be 0 (revert) let val := verbatim_1i_1o(hex"b3", 0) sstore(2, val) From 31319495e03410614c38351d6498aa7d6c393435 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 8 Dec 2022 02:14:15 -0500 Subject: [PATCH 31/56] 11 delegatecall with revert --- .../stEIP1153/11_tstoreDelegateCall.json | 16 +++++++++--- .../stEIP1153/11_tstoreDelegateCallFiller.yml | 25 ++++++++++++++++--- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json index 05a31088ef3..dc8b3bacd60 100644 --- a/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json +++ b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json @@ -4,11 +4,11 @@ "comment" : "delegatecall manipulates transient storage in the context of the current address.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "57974a50c57f830ca4881203eff7eddb9f717f875ddeda0740f357039891de50", + "generatedTestHash" : "9d66550d03777d406cc1c68d5b8a4d1d21ad7be7243ab65ab762b5fd16da58d9", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml", - "sourceHash" : "b39d63bb8dcebb2cae3aadda96e47b29fd5be11bf2cd213d1650f4c4b488afd8" + "sourceHash" : "347c8d5b4778ea5ebbfe8b12a905c12b8ef1ca421c0a0e49582d6f63f26b07fb" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x2b06f892cdb5375ccf896e25a01416e25ed94016660fa51ec4cd7a0a692895ab", + "hash" : "0xc975794bd77f5de067e13a6fc4f39e13a49e0085746e7266601556b5acb4ebe3", "indexes" : { "data" : 0, "gas" : 0, @@ -37,9 +37,10 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016000b46000600060206000600b61fffff46000b381600055806001555050", + "code" : "0x60016000b46000600060206000600b61fffff46000b381600055806001556000600060206000600c61fffff46000b3816002558060035550505050", "nonce" : "0x00", "storage" : { + "0x02" : "0xffff" } }, "0x000000000000000000000000000000000000000b" : { @@ -49,6 +50,13 @@ "storage" : { } }, + "0x000000000000000000000000000000000000000c" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60036000b460006000fd", + "nonce" : "0x00", + "storage" : { + } + }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0x3635c9adc5dea00000", "code" : "0x", diff --git a/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml index 1491dba8d47..aff89a14b3b 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml @@ -25,13 +25,21 @@ code: | :yul { verbatim_2i_0o(hex"b4", 0, 1) + + // transient storage at slot 0 successfully changes let success := delegatecall(0xffff, 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) - let v := verbatim_1i_1o(hex"b3", 0) + let v0 := verbatim_1i_1o(hex"b3", 0) sstore(0, success) - sstore(1, v) + sstore(1, v0) + + // transient storage at slot 0 does not change + let fail := delegatecall(0xffff, 0x000000000000000000000000000000000000000C, 0, 32, 0, 0) + let v1 := verbatim_1i_1o(hex"b3", 0) + sstore(2, fail) + sstore(3, v1) } - storage: {} + storage: { 0x02: 0xffff } 000000000000000000000000000000000000000B: balance: 1000000000000000000 nonce: 0 @@ -40,6 +48,15 @@ verbatim_2i_0o(hex"b4", 0, 2) } storage: {} + 000000000000000000000000000000000000000C: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + verbatim_2i_0o(hex"b4", 0, 3) + revert(0,0) + } + storage: {} a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" @@ -68,3 +85,5 @@ storage: 0x00: 1 0x01: 2 + 0x02: 0 + 0x03: 2 From 11ffdeb108d5379fa9f4bd45d61aba17d677bea1 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 8 Dec 2022 02:53:24 -0500 Subject: [PATCH 32/56] 13 add loading in staticcall check --- .../stEIP1153/13_tloadStaticCall.json | 8 ++--- .../stEIP1153/13_tloadStaticCallFiller.yml | 29 ++++++++++++++++--- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json index 07924c7de49..a7e059d35c3 100644 --- a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json +++ b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be manipulated in a static context, tstore reverts.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "7918185d17a6fb43074bcabebe07ce053c18d1ca301674f3cc0f4d3133c4ad29", + "generatedTestHash" : "c893cbefb778c8fca3bcc61bf279057614062988ef46033b21d0c417509637f9", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml", - "sourceHash" : "d343c393a90b51aa1f02ffd26d8c8179a9073fa28cde0aba6bb096b85066a5ff" + "sourceHash" : "a3b5e87134b476d5abd2a968ac2ae21804a7060edadc4987929c7992c28f69be" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x1ad501531c8bb98bef2f70579e0256b40d994175510518fa34fdb18358503e2b", + "hash" : "0x3f27d4deb9fc704d63530e41ccc72a08e102386173dd400a885e2bb0658604e7", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60056082565b633f3716928114601d5763611e535a8114602757602e565b6023603b565b602e565b602d6033565b5b5060ae565b60036000b45b565b60026000b47f611e535a000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa6000b3816000558060015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6100076100f9565b633f371692811461002d5763611e535a811461003a576301729275811461004757610051565b610035610073565b610051565b610042610057565b610051565b61004f61005f565b505b50610125565b60036000b45b565b60006000b390508060005260206000f35b90565b60026000b47f611e535a000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa6000b381600055806001557f01729275000000000000000000000000000000000000000000000000000000006000526020600060206000600a61fffffa6000518160025580600355505050505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff" diff --git a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml index 0c7b84695d5..8e5e406e0f6 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml @@ -1,9 +1,12 @@ # 13 -# Transient storage cannot be manipulated in a static context:. +# Transient storage cannot be manipulated in a static context but can be read. # TSTORE(x, y), STATICCALL(self, ...), TSTORE(x, z) reverts +# TSTORE(a, b), STATICCALL(self, ...), TLOAD(a) returns b # # Expect storage slot 0 of address a to be 0. staticcall was unsuccessful. # Expect storage slot 1 of address a to be 2. The original tstore value before the staticcall. +# Expect storage slot 2 of address a to be 1. staticcall was successful. +# Expect storage slot 3 of address a to be 2. The tstored value before staticcall. 13_tloadStaticCall: _info: @@ -34,19 +37,35 @@ tstore3() } + case 0x01729275 { // tload0() + let saved_val := tload0() + } + default {} function tstore3() { verbatim_2i_0o(hex"b4", 0, 3) } + function tload0() -> v{ + v := verbatim_1i_1o(hex"b3", 0) + mstore(0, v) + return(0, 32) + } + function doReenter() { verbatim_2i_0o(hex"b4", 0, 2) - mstore(0, hex"611e535a") - let success := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 0) + mstore(0, hex"611e535a") // tstore3() + let fail := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 0) let v := verbatim_1i_1o(hex"b3", 0) - sstore(0, success) + sstore(0, fail) sstore(1, v) + + mstore(0, hex"01729275") // tload0() + let success := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 32) + let v0 := mload(0) + sstore(2, success) + sstore(3, v0) } function selector() -> s { @@ -83,3 +102,5 @@ storage: 0x00: 0 0x01: 2 + 0x02: 1 + 0x03: 2 From c07c1485a9b43874b9ee106ebeb18fdaef98836e Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Mon, 12 Dec 2022 15:23:08 -0500 Subject: [PATCH 33/56] update gas --- GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json | 8 ++++---- .../stEIP1153/15_tstoreCannotBeDosdFiller.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json index cd059ccda6f..3ddb116fb80 100644 --- a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be DOS’d.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "2799586b394cae45c1d418992ad0b1cd2f4d49c7b27cbab9e6b6af483158d2e8", + "generatedTestHash" : "3715f9a794b0db51f09c9d7279b12b3c1cf8f408eb9d95f6643e0829796c767c", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "3aae4e1e926538fb15af0984204e74036c50d126962884387aede16b0ffa4c0e" + "sourceHash" : "9211d18e796bc2a56341922fb5aebf645986c8af2c3a242718fcd07c8760b7c9" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x4631ec7c266a482ceb1ca9eb5fea755265f8ed8a194497dba1849bddf936a6d1", + "hash" : "0xe679fbf105f52cbb3d02b43eb3108263b75cdd2db04c8075575ef7f08b0ba02e", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560c8565b63883264e8811460225763f7d6c0eb81146050576005600055605c565b7c010000000000000000000000000000000000000000000000000000000060203504604b816061565b50605c565b602035605a8160aa565b505b5060f4565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260006000604060006000600a61fffff1806000556000b3806001555050505b565b60005b8181101560c357603081b45b60018101905060ad565b50505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x600560c6565b63883264e8811460225763f7d6c0eb81146050576005600055605c565b7c010000000000000000000000000000000000000000000000000000000060203504604b816061565b50605c565b602035605a8160a8565b505b5060f2565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260006000604060006000600a5af1806000556000b3806001555050505b565b60005b8181101560c157603081b45b60018101905060ab565b50505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", diff --git a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml index 7fd0a2d5fd7..bf0fbf00b00 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml @@ -42,7 +42,7 @@ function doCall(n) { mstore(0, hex"f7d6c0eb") // doNStores(n) mstore(32, n) - let t := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 0) + let t := call(gas(), 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 0) sstore(0, t) // should revert let v := verbatim_1i_1o(hex"b3", 0) From 947ebcaeb3e33266f7af456722057536595db53a Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Mon, 12 Dec 2022 15:31:10 -0500 Subject: [PATCH 34/56] 16 remove sload comparison --- GeneralStateTests/stEIP1153/16_tloadGas.json | 9 ++++----- .../stEIP1153/16_tloadGasFiller.yml | 20 ++++--------------- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/GeneralStateTests/stEIP1153/16_tloadGas.json b/GeneralStateTests/stEIP1153/16_tloadGas.json index 0c70c2f7985..08db1eeb409 100644 --- a/GeneralStateTests/stEIP1153/16_tloadGas.json +++ b/GeneralStateTests/stEIP1153/16_tloadGas.json @@ -4,11 +4,11 @@ "comment" : "tload costs 100 gas same as a warm sload", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "23311bfeb640c68e1803d0800d1ae8a552a05acfd0d994918dd46539ce3afb72", + "generatedTestHash" : "926fb5ccdc69da721f24cb4b914675a09aa0e6074cae17bc204e8f44341909d8", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml", - "sourceHash" : "dedd786c1b0defc6dbb4dee92865a5f43a4fc12665976c2972360fdb3fc62424" + "sourceHash" : "edffbdcda9960f9cbcb3dd3561e2625c2d8b50aadd6a15c266cc2c631d89693a" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x971000ab9ca47073e927e0f3f64ae126817f055772d86e913be1d9fdc5c34834", + "hash" : "0x3f16b6eebabbd2757125425753224519c9d24e9c62ee6497ea9f89ab3e9bfe44", "indexes" : { "data" : 0, "gas" : 0, @@ -37,10 +37,9 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60056005545a6005545a848184030360005560026000b45a6000b35a8781840303600155808303848703146002555050505050505050", + "code" : "0x600560026000b45a6000b35a838184030360005550505050", "nonce" : "0x00", "storage" : { - "0x05" : "0x05" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml index c3a4bfb7361..3fbc2ef8013 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml @@ -26,24 +26,15 @@ :yul { let extraOpcodesGas := 5 - // calculate warm sload gas - let s := sload(5) - let g1 := gas() - let s2 := sload(5) - let g2 := gas() - sstore(0, sub(sub(g1, g2), extraOpcodesGas)) - // calculate tload gas verbatim_2i_0o(hex"b4", 0, 2) - let g3 := gas() + let g1 := gas() let t := verbatim_1i_1o(hex"b3", 0) - let g4 := gas() - sstore(1, sub(sub(g3, g4), extraOpcodesGas)) + let g2 := gas() + sstore(0, sub(sub(g1, g2), extraOpcodesGas)) - sstore(2, eq(sub(g1, g2), sub(g3, g4))) } - storage: - 0x05: 5 + storage: {} a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" @@ -71,6 +62,3 @@ 000000000000000000000000000000000000000A: storage: 0x00: 100 - 0x01: 100 - 0x02: 1 - 0x05: 5 From 2556022df9340b4fe1911a64478885b26f22fb9b Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Mon, 12 Dec 2022 15:43:07 -0500 Subject: [PATCH 35/56] 17 remove sstore gas comparison --- GeneralStateTests/stEIP1153/17_tstoreGas.json | 9 ++++---- .../stEIP1153/16_tloadGasFiller.yml | 2 +- .../stEIP1153/17_tstoreGasFiller.yml | 21 ++++--------------- 3 files changed, 9 insertions(+), 23 deletions(-) diff --git a/GeneralStateTests/stEIP1153/17_tstoreGas.json b/GeneralStateTests/stEIP1153/17_tstoreGas.json index 400b2cadf8c..53f27a83b5d 100644 --- a/GeneralStateTests/stEIP1153/17_tstoreGas.json +++ b/GeneralStateTests/stEIP1153/17_tstoreGas.json @@ -4,11 +4,11 @@ "comment" : "Tstore arbitrary value in arbitrary slot costs 100 gas.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "ad65aac7788948222730ff01db68d1f7d4fd929361b9e12d71c9361b929e4477", + "generatedTestHash" : "cf67f5a50a80420750471255e607d19697bcf92a1cec0ff7e915cc6962f78852", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml", - "sourceHash" : "951650ff436b31bad1252356772d6a0c373438734319cf7f627a174a9e4d591a" + "sourceHash" : "8c4ffd2154e941c8f1a8b62755d19749e001c47567a34a24a90be87faf737f2a" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x16be7c34d8ea8d91d2b6d3c9acdc5e15d67310042fb7c3dd642a3cc2ea1ca662", + "hash" : "0x6b8067a6ee705dc352b700e96babf1568ce138668a24527759f8b2e762923df9", "indexes" : { "data" : 0, "gas" : 0, @@ -37,10 +37,9 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600860016005555a60026005555a82818303036000555a60036000b45a8481830303600155828403818303146002555050505050", + "code" : "0x60085a60036000b45a8281830303600155505050", "nonce" : "0x00", "storage" : { - "0x05" : "0x05" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { diff --git a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml index 3fbc2ef8013..25d0c596294 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml @@ -1,5 +1,5 @@ # 16 -# TLOAD(x) should cost 100 gas, same as SLOAD(x) +# TLOAD(x) should cost 100 gas # # Expect storage slot 0 of address a to be 100, representing the gas of sload. # Expect storage slot 1 of address a to be 100, representing the gas of tload. diff --git a/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml index 69d85ed2b0b..20639f9b0f7 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml @@ -26,24 +26,14 @@ code: | :yul { let extraOpcodes := 8 - - // calculate warm dirty sstore gas - sstore(5, 1) - let g1 := gas() - sstore(5, 2) - let g2 := gas() - sstore(0, sub(sub(g1, g2), extraOpcodes)) // calculate tstore gas - let g3 := gas() + let g1 := gas() verbatim_2i_0o(hex"b4", 0, 3) - let g4 := gas() - sstore(1, sub(sub(g3, g4), extraOpcodes)) - - sstore(2, eq(sub(g3, g4),sub(g1, g2))) + let g2 := gas() + sstore(1, sub(sub(g1, g2), extraOpcodes)) } - storage: - 0x05: 5 + storage: {} a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" @@ -70,7 +60,4 @@ result: 000000000000000000000000000000000000000A: storage: - 0x00: 100 0x01: 100 - 0x02: 0x01 - 0x05: 0x02 From 75e479fb379d84db383fa51247e654211aad5fe3 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Mon, 12 Dec 2022 19:50:48 -0500 Subject: [PATCH 36/56] 21 add out of order stores --- .../stEIP1153/21_tstoreCannotBeDosdOOO.json | 77 +++++++++++++ .../21_tstoreCannotBeDosdOOOFiller.yml | 105 ++++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100644 GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json create mode 100644 src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml diff --git a/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json b/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json new file mode 100644 index 00000000000..7c8845544d7 --- /dev/null +++ b/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json @@ -0,0 +1,77 @@ +{ + "21_tstoreCannotBeDosdOOO" : { + "_info" : { + "comment" : "Transient storage cannot be DOS’d.", + "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", + "generatedTestHash" : "f719e014c709fcc1ecef6f18ca800fbac31588fc63fb7e583175012754e6e4d9", + "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml", + "sourceHash" : "b14b4aeb18fcb0e9c7e23fb1ffed4ff59aeaa47281811ac0a73863eadd75678c" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x10000000000000", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "Merge+1153" : [ + { + "hash" : "0x910f97a95aa7264451f2d94d783f766f4c12b1b2d37dc3d348aeebda578ecf6e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0x02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000030d40c080a07af604a7e60799d1c20f236fdc22124998b2e296c77adfdde2bc2aed98a1d919a078cb7be5110c005605ec0f5a3fca68bc37e7cefa4b8f73471093a220ef34440b" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x610007610112565b63883264e881146100275763f7d6c0eb8114610058576005600055610066565b7c0100000000000000000000000000000000000000000000000000000000602035046100528161006c565b50610066565b602035610064816100b3565b505b5061013e565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260006000604060006000600a5af1806000556000b3806001555050505b565b61010060020a60005b8281101561010c5761025881b460028106600081600081146100e557600181146100f2576100fd565b83915061025884b46100fd565b838503915061025882b45b5050505b6001810190506100bc565b5050505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff", + "0x01" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "accessLists" : [ + [ + ] + ], + "data" : [ + "0x883264e80000000000000000000000000000000000000000000000000000000000030d40" + ], + "gasLimit" : [ + "0x01c9c380" + ], + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml new file mode 100644 index 00000000000..6096ec0c997 --- /dev/null +++ b/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml @@ -0,0 +1,105 @@ +# 21 +# Similar to 15. Transient storage cannot be DOS’d: CALL(self, ...), TSTORE(x, y), TSTORE(x + 1, y), TSTORE(x + 2, y), ... ,TSTORE(x + n, y), REVERT, TLOAD(x) returns 0 and runs in under 15 seconds +# tstore in a non-monotonic order skipping some slots. +# +# Expect slot 0 to have 0. Call fails. +# Expect slot 1 to have 0. Loading returns 0. + +21_tstoreCannotBeDosdOOO: + _info: + comment: Transient storage cannot be DOS’d. + + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: 0x20000 + currentNumber: 1 + currentTimestamp: 1000 + currentGasLimit: 0x10000000000000 + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + currentBaseFee: 10 + + pre: + 000000000000000000000000000000000000000A: + balance: 1000000000000000000 + nonce: 0 + code: | + :yul { + switch selector() + + case 0x883264e8 { // doCall(uint) + let n:= div(calldataload(32), 0x100000000000000000000000000000000000000000000000000000000) + doCall(n) + } + + case 0xf7d6c0eb { // doNStores(n) + let n := calldataload(32) + doNStores(n) + } + + default { + sstore(0, 5) + } + + function doCall(n) { + mstore(0, hex"f7d6c0eb") // doNStores(n) + mstore(32, n) + let t := call(gas(), 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 0) + sstore(0, t) // should revert + + let v := verbatim_1i_1o(hex"b3", 0) + sstore(1, v) + } + + function doNStores(n) { + let val := exp(2, 256) + for { let i := 0 } lt(i, n) { i := add(i, 1) } { + verbatim_2i_0o(hex"b4", i, 600) + let even := mod(i, 2) + let index + switch even + case 0 { + index := i + verbatim_2i_0o(hex"b4", i, 600) + } + case 1 { + index := sub(val, i) + verbatim_2i_0o(hex"b4", index, 600) + } + default {} + } + } + + function selector() -> s { + let value := calldataload(0) + s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + } + } + storage: { 0x00: 0xffff, 0x01: 0xffff } + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: 1000000000000000000000 + code: "0x" + nonce: 0 + storage: {} + + transaction: + data: + - data: :abi doCall(uint) 0x30D40 + accessList: [] + gasLimit: + - "30000000" + nonce: 0 + to: 000000000000000000000000000000000000000A + value: + - 0 + secretKey: "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + maxPriorityFeePerGas: 0 + maxFeePerGas: 2000 + + expect: + - network: + - "Merge+1153" + result: + 000000000000000000000000000000000000000A: + storage: + 0x00: 0 + 0x01: 0 From bc0dcbc292b8256d9566b05be2eccab60a2e73c9 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 15 Dec 2022 17:15:06 -0500 Subject: [PATCH 37/56] 15&21 fix dos tests --- .../stEIP1153/15_tstoreCannotBeDosd.json | 12 +++++----- .../stEIP1153/21_tstoreCannotBeDosdOOO.json | 15 +++++++------ .../stEIP1153/15_tstoreCannotBeDosdFiller.yml | 16 +++++++++----- .../21_tstoreCannotBeDosdOOOFiller.yml | 22 +++++++++++-------- 4 files changed, 38 insertions(+), 27 deletions(-) diff --git a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json index 3ddb116fb80..fc2a37f9ba6 100644 --- a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be DOS’d.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "3715f9a794b0db51f09c9d7279b12b3c1cf8f408eb9d95f6643e0829796c767c", + "generatedTestHash" : "75082e38121498f8bb9ca5b58118b25c7224376fae7e8a3965a7dd2c255afe34", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "9211d18e796bc2a56341922fb5aebf645986c8af2c3a242718fcd07c8760b7c9" + "sourceHash" : "85491cebb5a35cb6e00b5de53dd522e08e8490b93a0875038f5658ed5802a263" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,21 +23,21 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xe679fbf105f52cbb3d02b43eb3108263b75cdd2db04c8075575ef7f08b0ba02e", + "hash" : "0x45768307896815a6b0c09d2770f963764b748e6c750ed18f02e901cfd5f049f4", "indexes" : { "data" : 0, "gas" : 0, "value" : 0 }, "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "txbytes" : "0x02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000030d40c080a07af604a7e60799d1c20f236fdc22124998b2e296c77adfdde2bc2aed98a1d919a078cb7be5110c005605ec0f5a3fca68bc37e7cefa4b8f73471093a220ef34440b" + "txbytes" : "0x02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e800000000000000000000000000000000000000000000000000000000000249f0c001a0352fe13c3a60f7ef9a1269915c18b60fd9f1686e848a26cdfb41cdf9546acd7ba070e25c08b5015d73bca0ebc9e0e28bebac930c03eb219453bfa37599299a2eb9" } ] }, "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560c6565b63883264e8811460225763f7d6c0eb81146050576005600055605c565b7c010000000000000000000000000000000000000000000000000000000060203504604b816061565b50605c565b602035605a8160a8565b505b5060f2565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260006000604060006000600a5af1806000556000b3806001555050505b565b60005b8181101560c157603081b45b60018101905060ab565b50505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x600560ba565b63883264e8811460225763f7d6c0eb81146031576005600055603d565b600435602c816042565b50603d565b602035603b81608f565b505b5060ca565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000600a5af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560ac57603081b45b6001810190506096565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", @@ -58,7 +58,7 @@ ] ], "data" : [ - "0x883264e80000000000000000000000000000000000000000000000000000000000030d40" + "0x883264e800000000000000000000000000000000000000000000000000000000000249f0" ], "gasLimit" : [ "0x01c9c380" diff --git a/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json b/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json index 7c8845544d7..8d36f0c6c29 100644 --- a/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json +++ b/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be DOS’d.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "f719e014c709fcc1ecef6f18ca800fbac31588fc63fb7e583175012754e6e4d9", + "generatedTestHash" : "e0e54cdba00ef348079cd0542f4da2e2b5564ec42b4a6ea7cdd0dcc61def6f9d", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml", - "sourceHash" : "b14b4aeb18fcb0e9c7e23fb1ffed4ff59aeaa47281811ac0a73863eadd75678c" + "sourceHash" : "c6d9499c5d3eb141db1d999b24de85a69d44007095df1a291d684577d21f65ca" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,25 +23,26 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x910f97a95aa7264451f2d94d783f766f4c12b1b2d37dc3d348aeebda578ecf6e", + "hash" : "0xdc1c3183cd281405e72b91fcbe5a5cdb1b536399af5be523da86d5bb53a771ab", "indexes" : { "data" : 0, "gas" : 0, "value" : 0 }, "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "txbytes" : "0x02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000030d40c080a07af604a7e60799d1c20f236fdc22124998b2e296c77adfdde2bc2aed98a1d919a078cb7be5110c005605ec0f5a3fca68bc37e7cefa4b8f73471093a220ef34440b" + "txbytes" : "0x02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000013880c080a0135ff76fa8cfe6290737dd4f602dff9edea97f60dc89ab551e8ae6c5c6856cd9a017bf177ff6aa40eec3ecad5ff25ea73b5e0c7087ee630ecf9ec43ee63188eb3d" } ] }, "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x610007610112565b63883264e881146100275763f7d6c0eb8114610058576005600055610066565b7c0100000000000000000000000000000000000000000000000000000000602035046100528161006c565b50610066565b602035610064816100b3565b505b5061013e565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260006000604060006000600a5af1806000556000b3806001555050505b565b61010060020a60005b8281101561010c5761025881b460028106600081600081146100e557600181146100f2576100fd565b83915061025884b46100fd565b838503915061025882b45b5050505b6001810190506100bc565b5050505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x610007610100565b63883264e881146100275763f7d6c0eb8114610039576005600055610047565b6004356100338161004d565b50610047565b6020356100458161009a565b505b50610110565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000600a5af1806000556000516002556000b3806001555050505b565b6000600090505b818110156100f25761025881b460028106600081600081146100ca57600181146100d7576100e3565b83915061025884b46100e3565b83600003915061025882b45b5050505b6001810190506100a1565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", - "0x01" : "0xffff" + "0x01" : "0xffff", + "0x02" : "0xffff" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { @@ -58,7 +59,7 @@ ] ], "data" : [ - "0x883264e80000000000000000000000000000000000000000000000000000000000030d40" + "0x883264e80000000000000000000000000000000000000000000000000000000000013880" ], "gasLimit" : [ "0x01c9c380" diff --git a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml index bf0fbf00b00..93c74506080 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml @@ -26,7 +26,7 @@ switch selector() case 0x883264e8 { // doCall(uint) - let n:= div(calldataload(32), 0x100000000000000000000000000000000000000000000000000000000) + let n:= calldataload(4) doCall(n) } @@ -42,22 +42,27 @@ function doCall(n) { mstore(0, hex"f7d6c0eb") // doNStores(n) mstore(32, n) - let t := call(gas(), 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 0) + let t := call(gas(), 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 32) sstore(0, t) // should revert + sstore(2, mload(0)) + let v := verbatim_1i_1o(hex"b3", 0) sstore(1, v) } function doNStores(n) { - for { let i := 0 } lt(i, n) { i := add(i, 1) } { + let i + for {i := 0 } lt(i, n) { i := add(i, 1) } { verbatim_2i_0o(hex"b4", i, 48) } + mstore(0, i) + revert(0, 32) } function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } storage: { 0x00: 0xffff, 0x01: 0xffff } @@ -69,7 +74,7 @@ transaction: data: - - data: :abi doCall(uint) 0x30d40 + - data: :abi doCall(uint) 0x249F0 accessList: [] gasLimit: - "30000000" @@ -89,3 +94,4 @@ storage: 0x00: 0 0x01: 0 + 0x02: 0x249F0 diff --git a/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml index 6096ec0c997..2ebd93055af 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml @@ -27,7 +27,7 @@ switch selector() case 0x883264e8 { // doCall(uint) - let n:= div(calldataload(32), 0x100000000000000000000000000000000000000000000000000000000) + let n:= calldataload(4) doCall(n) } @@ -43,16 +43,18 @@ function doCall(n) { mstore(0, hex"f7d6c0eb") // doNStores(n) mstore(32, n) - let t := call(gas(), 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 0) + let t := call(gas(), 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 32) sstore(0, t) // should revert + sstore(2, mload(0)) + let v := verbatim_1i_1o(hex"b3", 0) sstore(1, v) } function doNStores(n) { - let val := exp(2, 256) - for { let i := 0 } lt(i, n) { i := add(i, 1) } { + let i + for {i := 0 } lt(i, n) { i := add(i, 1) } { verbatim_2i_0o(hex"b4", i, 600) let even := mod(i, 2) let index @@ -62,19 +64,20 @@ verbatim_2i_0o(hex"b4", i, 600) } case 1 { - index := sub(val, i) + index := sub(0, i) verbatim_2i_0o(hex"b4", index, 600) } - default {} } + mstore(0, i) + revert(0, 32) } function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } - storage: { 0x00: 0xffff, 0x01: 0xffff } + storage: { 0x00: 0xffff, 0x01: 0xffff, 0x02: 0xffff } a94f5374fce5edbc8e2a8697c15331677e6ebf0b: balance: 1000000000000000000000 code: "0x" @@ -83,7 +86,7 @@ transaction: data: - - data: :abi doCall(uint) 0x30D40 + - data: :abi doCall(uint) 0x13880 accessList: [] gasLimit: - "30000000" @@ -103,3 +106,4 @@ storage: 0x00: 0 0x01: 0 + 0x02: 0x13880 From eb0a02818c20be023e6407928054d3478b51b899 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 15 Dec 2022 18:11:32 -0500 Subject: [PATCH 38/56] make selector more readable --- GeneralStateTests/stEIP1153/05_tloadReentrancy.json | 8 ++++---- .../stEIP1153/06_tstoreInReentrancyCall.json | 8 ++++---- .../stEIP1153/07_tloadAfterReentrancyStore.json | 8 ++++---- .../stEIP1153/08_revertUndoesTransientStore.json | 8 ++++---- GeneralStateTests/stEIP1153/09_revertUndoesAll.json | 8 ++++---- .../stEIP1153/10_revertUndoesStoreAfterReturn.json | 8 ++++---- GeneralStateTests/stEIP1153/13_tloadStaticCall.json | 8 ++++---- .../stEIP1153/14_revertAfterNestedStaticcall.json | 8 ++++---- .../stEIP1153/19_oogUndoesTransientStore.json | 8 ++++---- .../bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml | 2 +- .../bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml | 2 +- .../stEIP1153/05_tloadReentrancyFiller.yml | 2 +- .../stEIP1153/06_tstoreInReentrancyCallFiller.yml | 2 +- .../stEIP1153/07_tloadAfterReentrancyStoreFiller.yml | 2 +- .../stEIP1153/08_revertUndoesTransientStoreFiller.yml | 2 +- .../stEIP1153/09_revertUndoesAllFiller.yml | 2 +- .../stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml | 2 +- .../stEIP1153/13_tloadStaticCallFiller.yml | 2 +- .../stEIP1153/14_revertAfterNestedStaticcallFiller.yml | 2 +- .../stEIP1153/19_oogUndoesTransientStoreFiller.yml | 2 +- 20 files changed, 47 insertions(+), 47 deletions(-) diff --git a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json index 1d3df765db7..5bf7d6bd37e 100644 --- a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json +++ b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json @@ -4,11 +4,11 @@ "comment" : "Reentrant calls access the same transient storage.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "9e53a57015d3d5a339c14e8750d98af132f4bf3c3e4e5c19cc323b189996b2dc", + "generatedTestHash" : "c0f14497b78767618ed88525b2eb19ca7a8458a05df9650a2bf373c41f2fb90b", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml", - "sourceHash" : "9942c22d633d6a2d2ab3b8ad9e658d87008d49aa38e37d79881d719d694c01fc" + "sourceHash" : "4bf70d390ec83b4140b8ef0aff0c4e2822e41136bdd9be3217267b6d275fed65" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xe7a0ddc4a304c1e0b4c93743a3aeb2745c398de1b430a17dfee48b127a7c76e5", + "hash" : "0x45e75bfbc5f69d1407184ed545ea62ac4ec3d25a61ceed5b37b99c00deb433c5", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6100076100eb565b6362fdb9be8114610032576343ac1c39811461003f57633f371692811461004c576000600255610055565b61003a61005b565b610055565b610047610063565b610055565b61005461006e565b5b50610117565b602c6000b45b565b6000b380600155505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff17f43ac1c390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b38060005582600255816003555050505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x600560dc565b6362fdb9be8114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c6054565b6047565b6046605f565b5b5060ec565b602c6000b45b565b6000b380600155505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff17f43ac1c390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b38060005582600255816003555050505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json index b389109aee2..cab88e5e026 100644 --- a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json +++ b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json @@ -4,11 +4,11 @@ "comment" : "Reentrant calls access the same transient storage.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "b02b363f40df3bb17099f64ee864b9a1cc31b2744d3b3f01cadf621866ed3cc3", + "generatedTestHash" : "4cae788b77453fe370bb1d9dce8831a1a4e0d44813b25432e8949c47b0daa2f6", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml", - "sourceHash" : "72cb7271f3ff5531fe26a3e76ddabee6630abce42284130631325c902765ebdc" + "sourceHash" : "f06737c798b7a18b668bba05f80254dee8205215b9a5c97427e9f4d86a9489cb" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xf100b8b8ee1601f792d89125cf4b2773ffe1f3cf6ba741deb559eefc78b79619", + "hash" : "0xc5386a7ed6f273ca144f9883bf9da4fc95b9281dab5bca142b7b4127dd90dccc", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560ae565b630accf7398114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c605a565b6047565b60466065565b5b5060da565b605a6000b46057605a565b5b565b6000b380600155505b565b60506000b46000b3806000557f0accf7390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060025550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x600560ae565b630accf7398114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c605a565b6047565b60466065565b5b5060be565b605a6000b46057605a565b5b565b6000b380600155505b565b60506000b46000b3806000557f0accf7390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060025550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json index 8176e2fd91c..a7db3508712 100644 --- a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json +++ b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json @@ -4,11 +4,11 @@ "comment" : "Successfully returned calls do not revert transient storage writes.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "13f426d999d67a768eeb815ac1ec2cc770002c72e96dabe099f16621d41df5a1", + "generatedTestHash" : "23cceb1ccd18226efdfa97494fe4c05924b97732abce52f25a2f68465d9f52c3", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml", - "sourceHash" : "b7026153a63cf361be3026a989b6669ccaa834a23b7a8829050a179372c688bb" + "sourceHash" : "210501178088f8ca1e7668704e42f942ab3e98d6269712db138b561e4166d297" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xa252d312fab0d7339e304c3b1ff5a8b6590b6699bf8b38db29b2d851d93bcbd2", + "hash" : "0x92c705376d96eae4c51d5c387146f6acfe1fdac796167f0b9417c0ab116144d8", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6005608f565b6362fdb9be8114602257633f3716928114602c5760006002556033565b60286038565b6033565b60326040565b5b5060bb565b604e6000b45b565b60376000b46000b3806000557f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806002556000b360015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6005608f565b6362fdb9be8114602257633f3716928114602c5760006002556033565b60286038565b6033565b60326040565b5b50609f565b604e6000b45b565b60376000b46000b3806000557f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json index dccdabb9bdc..83669c41324 100644 --- a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json +++ b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes the transient storage writes from a call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "1d9e662e9834a6c4ca5f382ff6ee5d70976e2c3567af79bad2f153283f1edf33", + "generatedTestHash" : "f721684b52353f6142a8e60e65382e6ef162df851733f3ff5c27fc08d599fc6b", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml", - "sourceHash" : "73cea7eee0212ccf9461ab6d4450e3b0c190c057f3c39eabffaad376760b3f15" + "sourceHash" : "befa05dfc85db9e22da822a4704851ef8828d608801174b78caeec87b787b470" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x14002126d7f15384d51ff5ebaa8e3390b2d3cacd065fb91a6189c669f6bf71d9", + "hash" : "0x1a457e553b6ce860fe8a6737b7bfbd4460cd3073a1739404f7b04fd80705712d", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60056094565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326045565b5b5060c0565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806002556000b360015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x60056094565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326045565b5b5060a4565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x02" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json index ad1fd5a6b91..254147b501a 100644 --- a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json +++ b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes all the transient storage writes to the same key from the failed call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "d1154285d2c98091f6df5868c6fadc2b6789971d4a02e96b17ec117103fa05e2", + "generatedTestHash" : "3a8be72431fc879924bba90b255402a5c2f41298563cf95db84eae3d5daa454a", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml", - "sourceHash" : "fafe159ea4ed6a6db396a1a3a917d6d2b6404fd37d2e2003d306dccd3ec11fa1" + "sourceHash" : "3a63904a38b4afbae2682458e6027db7732e50e735c1762ce3c3102164a26781" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xd1d899a3f5e61bb34d8c98ed6947b93fff60c61621b27f4635e38402eee3ca8f", + "hash" : "0x33bb7eaacbaf92f82bd140e298c94934b38d70111d7fbfc77c71855eb4b63a3c", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560a5565b633f3716928114601d5763578290e58114602757602e565b6023604f565b602e565b602d6033565b5b5060d1565b60056000b460066000b4600b6001b4600c6001b460006000fd5b565b60046000b4600a6001b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806000556000b3806001556001b3806002555050505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x600560a5565b633f3716928114601d5763578290e58114602757602e565b6023604f565b602e565b602d6033565b5b5060b5565b60056000b460066000b4600b6001b4600c6001b460006000fd5b565b60046000b4600a6001b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806000556000b3806001556001b3806002555050505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json index df38cf2ef54..d3d5539136d 100644 --- a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json +++ b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes the transient storage writes after a successful call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "bfc686bc01ecfd884d75478a012934c0586f1d98f04ce661fe6c2166d4f7f91c", + "generatedTestHash" : "f309274ffe1565d7ca9e7c73d2b230a048d7a2d406b6b93aaeaee9edf76d8c79", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml", - "sourceHash" : "ea6a82b2bbbfd3a7bfee2150bab036d9c36e7f16a111a6dc88247c07cb40e508" + "sourceHash" : "6379a105cf4bfbde86c0dd66d19bfa499564f93d7f1310cd4650b6da9c5065fe" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x639be6ea75f3359dc32ebaa9521c9c0ff86b6edd3ba51cbad3ec2a59eb744062", + "hash" : "0x5dc2e2af3974ea726dbb400058ea7d1bee5f21e85011c278a92b2b2bee33f472", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6100076100f9565b6370ac643e8114610032576376b85d23811461003f57634ccca553811461004c576001600255610055565b61003a61005b565b610055565b6100476100a1565b610055565b6100546100d3565b5b50610125565b60056000b46000b3806000556100907f76b85d23000000000000000000000000000000000000000000000000000000006100db565b806001556000b3806002555050505b565b6100ca7f4ccca553000000000000000000000000000000000000000000000000000000006100db565b60006000fd505b565b60066000b45b565b60008160005260006000602060006000600a61fffff190505b919050565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x600560e6565b6370ac643e8114602c576376b85d238114603657634ccca553811460405760016002556047565b6032604c565b6047565b603c6090565b6047565b604660c0565b5b5060f6565b60056000b46000b380600055607f7f76b85d230000000000000000000000000000000000000000000000000000000060c8565b806001556000b3806002555050505b565b60b77f4ccca5530000000000000000000000000000000000000000000000000000000060c8565b60006000fd505b565b60066000b45b565b60008160005260006000602060006000600a61fffff190505b919050565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x01" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json index a7e059d35c3..3aea030b2c6 100644 --- a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json +++ b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be manipulated in a static context, tstore reverts.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "c893cbefb778c8fca3bcc61bf279057614062988ef46033b21d0c417509637f9", + "generatedTestHash" : "496823b98d7bbaf9d12efe1abd1c5c95e8f4180deb6b30715a0249b8b21c219b", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml", - "sourceHash" : "a3b5e87134b476d5abd2a968ac2ae21804a7060edadc4987929c7992c28f69be" + "sourceHash" : "5085c4ac7217d2e058c7220a5dd86afb3584d76d10026c13fbb6f88ffa2bf887" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x3f27d4deb9fc704d63530e41ccc72a08e102386173dd400a885e2bb0658604e7", + "hash" : "0xc5700fa70d52ca141f4b0e87f84fc2726460c447084b2ef6a0f55220ee919a87", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6100076100f9565b633f371692811461002d5763611e535a811461003a576301729275811461004757610051565b610035610073565b610051565b610042610057565b610051565b61004f61005f565b505b50610125565b60036000b45b565b60006000b390508060005260206000f35b90565b60026000b47f611e535a000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa6000b381600055806001557f01729275000000000000000000000000000000000000000000000000000000006000526020600060206000600a61fffffa6000518160025580600355505050505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x600560ea565b633f371692811460275763611e535a811460315763017292758114603b576043565b602d6064565b6043565b60376048565b6043565b60416050565b505b5060fa565b60036000b45b565b60006000b390508060005260206000f35b90565b60026000b47f611e535a000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa6000b381600055806001557f01729275000000000000000000000000000000000000000000000000000000006000526020600060206000600a61fffffa6000518160025580600355505050505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json index cbb78e03857..2e8771ab21d 100644 --- a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json +++ b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json @@ -4,11 +4,11 @@ "comment" : "Transient storage can't be manipulated from nested staticcall.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "087e5b17ff3bc1f55e120fece089942af9ff5a82901feea68dc59d862241c0ef", + "generatedTestHash" : "a7c6ac56f1c38acfc6f60c8a176b6e5bce16540e1dd9bc8a686c057152046f48", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml", - "sourceHash" : "0842b3db9dc685bb4ea072db3fa5740bbd6c5bd258eceb7535ba9ade3b7a2fb9" + "sourceHash" : "1c9822e2887daadf5cc9e84cb24d66caf610e37fb81a703a0231e8a58eb3d524" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x42c36065d120fc8731725423229e05b971247e3e474f76bd3e06ee06318be5f1", + "hash" : "0xd65377a28cf107a6158bab285cf92930171b01ab9b51b07c31ad4c6117557f40", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x610007610101565b63f5f4059081146100325763f8dfc2d0811461003f576362fdb9be811461004c576001600255610055565b61003a61005b565b610055565b6100476100b8565b610055565b6100546100f9565b5b5061012d565b600a6000b46000b3806000557ff8dfc2d0000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa3d80600060003e600051600155816002556000b380600355505050505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060005260206000f3505b565b600b6000b45b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x610007610101565b63f5f4059081146100325763f8dfc2d0811461003f576362fdb9be811461004c576001600255610055565b61003a61005b565b610055565b6100476100b8565b610055565b6100546100f9565b5b50610111565b600a6000b46000b3806000557ff8dfc2d0000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa3d80600060003e600051600155816002556000b380600355505050505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060005260206000f3505b565b600b6000b45b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x01" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json b/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json index a35d495dc7d..20d65f3582d 100644 --- a/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json +++ b/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json @@ -4,11 +4,11 @@ "comment" : "Out of gas undoes the transient storage writes from a call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "ed9c6772d2fd3d3038ceb5e13ec048311f5fff5ecfcbd16af900375bb1df9bb3", + "generatedTestHash" : "1217b863c61c42f75a37186857e700536da0ba4bdd20753e7b10ac7a45c18121", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml", - "sourceHash" : "d309326f99d4a6bb3bb0a4833014c0d0f31df159dc1c7e4cf064370c736d44e2" + "sourceHash" : "5adb425beca94b63b52308f7ee2d849257a5f748a9af1e4d1bcb4dc175576013" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x766b5d5ff0a28d3c533cc2a56d72f997c0808be3fc811a4fd8daf742ffa7d992", + "hash" : "0x8f8e1fe9837bb1e0586a2e1f2b1e23b0891617b1d592243c6eed094aa56d2094", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60056097565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326048565b5b5060c3565b600b6000b4622fffff600020505b565b604e6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61c350f1806002556000b360015550505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x60056097565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326048565b5b5060a7565b600b6000b4622fffff600020505b565b604e6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61c350f1806002556000b360015550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml index c021120692b..9b45b804355 100644 --- a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml +++ b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml @@ -56,7 +56,7 @@ tloadDoesNotPersistAcrossBlocks: function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } nonce: '0x00' diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml index 78bb4d739ac..96bfe147a7d 100644 --- a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml +++ b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml @@ -56,7 +56,7 @@ tloadDoesNotPersistCrossTxn: function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } nonce: '0x00' diff --git a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml index 3d02787db92..b3e812ec8d3 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml @@ -68,7 +68,7 @@ function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } storage: {} diff --git a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml index ba7daf546d2..4d2415e6ab2 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml @@ -64,7 +64,7 @@ function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } storage: {} diff --git a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml index bb3fa01c5fc..be2ca3e1333 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml @@ -56,7 +56,7 @@ function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } storage: {} diff --git a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml index 995c8556c02..ab26e58ae3d 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml @@ -57,7 +57,7 @@ function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } storage: { 0x02: 0xffff } diff --git a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml index 339a8503201..73895da5dfa 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml @@ -62,7 +62,7 @@ function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } diff --git a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml index 00890410e60..49ab9f85408 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml @@ -73,7 +73,7 @@ function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } storage: { 0x01: 0xffff } diff --git a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml index 8e5e406e0f6..39cc8c95c16 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml @@ -70,7 +70,7 @@ function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } storage: { 0x00: 0xffff } diff --git a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml index 7695dc057b6..1d405cfcb65 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml @@ -75,7 +75,7 @@ function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } storage: { 0x01: 0xffff } diff --git a/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml index 58cf606f734..bac5e682dd9 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml @@ -57,7 +57,7 @@ function selector() -> s { let value := calldataload(0) - s := div(value, 0x100000000000000000000000000000000000000000000000000000000) + s := shr(224, value) } } storage: { 0x00: 0xffff, 0x01: 0xffff, 0x02: 0xffff } From fcd3575118cc621b2ada3f4d0b88070ea9f81263 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Thu, 15 Dec 2022 18:24:34 -0500 Subject: [PATCH 39/56] use address() --- GeneralStateTests/stEIP1153/05_tloadReentrancy.json | 8 ++++---- .../stEIP1153/06_tstoreInReentrancyCall.json | 8 ++++---- .../stEIP1153/07_tloadAfterReentrancyStore.json | 8 ++++---- .../stEIP1153/08_revertUndoesTransientStore.json | 8 ++++---- GeneralStateTests/stEIP1153/09_revertUndoesAll.json | 8 ++++---- .../stEIP1153/10_revertUndoesStoreAfterReturn.json | 8 ++++---- GeneralStateTests/stEIP1153/13_tloadStaticCall.json | 8 ++++---- .../stEIP1153/14_revertAfterNestedStaticcall.json | 8 ++++---- GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json | 8 ++++---- .../stEIP1153/19_oogUndoesTransientStore.json | 8 ++++---- GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json | 8 ++++---- .../stEIP1153/05_tloadReentrancyFiller.yml | 4 ++-- .../stEIP1153/06_tstoreInReentrancyCallFiller.yml | 2 +- .../stEIP1153/07_tloadAfterReentrancyStoreFiller.yml | 2 +- .../stEIP1153/08_revertUndoesTransientStoreFiller.yml | 2 +- .../stEIP1153/09_revertUndoesAllFiller.yml | 2 +- .../stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml | 2 +- .../stEIP1153/13_tloadStaticCallFiller.yml | 4 ++-- .../stEIP1153/14_revertAfterNestedStaticcallFiller.yml | 4 ++-- .../stEIP1153/15_tstoreCannotBeDosdFiller.yml | 2 +- .../stEIP1153/19_oogUndoesTransientStoreFiller.yml | 2 +- .../stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml | 2 +- 22 files changed, 58 insertions(+), 58 deletions(-) diff --git a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json index 5bf7d6bd37e..1ac326ae736 100644 --- a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json +++ b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json @@ -4,11 +4,11 @@ "comment" : "Reentrant calls access the same transient storage.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "c0f14497b78767618ed88525b2eb19ca7a8458a05df9650a2bf373c41f2fb90b", + "generatedTestHash" : "6c15d53c18c52f0a22efdb529d96a8a95a8388405202b57469b2a86f4c3437cd", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml", - "sourceHash" : "4bf70d390ec83b4140b8ef0aff0c4e2822e41136bdd9be3217267b6d275fed65" + "sourceHash" : "c2ac3eb491bd8edd54bcde147b17ced3a3bdfcd02e63e9fe5ca5edbd139a5bbd" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x45e75bfbc5f69d1407184ed545ea62ac4ec3d25a61ceed5b37b99c00deb433c5", + "hash" : "0x5c7ac90d9b1739ae3f2a7858d6defd7491562bfc2e5e67020ec4327c1efc84f4", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560dc565b6362fdb9be8114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c6054565b6047565b6046605f565b5b5060ec565b602c6000b45b565b6000b380600155505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff17f43ac1c390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff16000b38060005582600255816003555050505b565b60006000358060e01c9150505b90565b", + "code" : "0x600560da565b6362fdb9be8114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c6054565b6047565b6046605f565b5b5060ea565b602c6000b45b565b6000b380600155505b565b7f62fdb9be00000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff17f43ac1c3900000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff16000b38060005582600255816003555050505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json index cab88e5e026..5bc45b941c4 100644 --- a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json +++ b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json @@ -4,11 +4,11 @@ "comment" : "Reentrant calls access the same transient storage.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "4cae788b77453fe370bb1d9dce8831a1a4e0d44813b25432e8949c47b0daa2f6", + "generatedTestHash" : "476900fb1a4064871375dfdb48ad5e734d1739d7cc46d58f349470cec241d0ac", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml", - "sourceHash" : "f06737c798b7a18b668bba05f80254dee8205215b9a5c97427e9f4d86a9489cb" + "sourceHash" : "ee77e3f6335937b9bcd978c2c278d85a6df321b7e06ff9a7a130ca9ab5841e18" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xc5386a7ed6f273ca144f9883bf9da4fc95b9281dab5bca142b7b4127dd90dccc", + "hash" : "0x87b187d04ab7d7f4c2b0185ad5b46d02d089b3223204c6e84d7e1e647733853d", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560ae565b630accf7398114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c605a565b6047565b60466065565b5b5060be565b605a6000b46057605a565b5b565b6000b380600155505b565b60506000b46000b3806000557f0accf7390000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060025550505b565b60006000358060e01c9150505b90565b", + "code" : "0x600560ad565b630accf7398114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c605a565b6047565b60466065565b5b5060bd565b605a6000b46057605a565b5b565b6000b380600155505b565b60506000b46000b3806000557f0accf73900000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff18060025550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json index a7db3508712..c7e956425b8 100644 --- a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json +++ b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json @@ -4,11 +4,11 @@ "comment" : "Successfully returned calls do not revert transient storage writes.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "23cceb1ccd18226efdfa97494fe4c05924b97732abce52f25a2f68465d9f52c3", + "generatedTestHash" : "cdee8211a65f6781b32af1e3397b539dc60d081841402dfb54fa21cc6e84ba97", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml", - "sourceHash" : "210501178088f8ca1e7668704e42f942ab3e98d6269712db138b561e4166d297" + "sourceHash" : "dd9460de4d38595be153fb069cbb581732db698a89c7c01be9246378627fbf22" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x92c705376d96eae4c51d5c387146f6acfe1fdac796167f0b9417c0ab116144d8", + "hash" : "0x527da1d6811ce7d7b03d562c25cd953c379c1283b5ee9ef6248fb4d4c7325ba1", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6005608f565b6362fdb9be8114602257633f3716928114602c5760006002556033565b60286038565b6033565b60326040565b5b50609f565b604e6000b45b565b60376000b46000b3806000557f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "code" : "0x6005608e565b6362fdb9be8114602257633f3716928114602c5760006002556033565b60286038565b6033565b60326040565b5b50609e565b604e6000b45b565b60376000b46000b3806000557f62fdb9be00000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json index 83669c41324..28a18be254a 100644 --- a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json +++ b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes the transient storage writes from a call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "f721684b52353f6142a8e60e65382e6ef162df851733f3ff5c27fc08d599fc6b", + "generatedTestHash" : "d5fb58b1bfafb50c5810e4291a427f39106328ce178fa401512a9b12c3700eef", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml", - "sourceHash" : "befa05dfc85db9e22da822a4704851ef8828d608801174b78caeec87b787b470" + "sourceHash" : "cc57ad18dc7deb08f90707f13f0938d7c0ac62b9e914aedf8da9d19d4124b917" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x1a457e553b6ce860fe8a6737b7bfbd4460cd3073a1739404f7b04fd80705712d", + "hash" : "0x72834493c903e393d6edf8a4d9a94116723e606e502b2a2a5dd48f8acad0356b", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60056094565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326045565b5b5060a4565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "code" : "0x60056093565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326045565b5b5060a3565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x02" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json index 254147b501a..09914bb6f3e 100644 --- a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json +++ b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes all the transient storage writes to the same key from the failed call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "3a8be72431fc879924bba90b255402a5c2f41298563cf95db84eae3d5daa454a", + "generatedTestHash" : "c2f9a5982e029a5f00a4ab21604a9763f766f34efc6e5a439e0a2f5926bc2e28", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml", - "sourceHash" : "3a63904a38b4afbae2682458e6027db7732e50e735c1762ce3c3102164a26781" + "sourceHash" : "fc1db5c319fbaaddd0445ae82c9037d0afbc71925e5a39017f02419478843bc9" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x33bb7eaacbaf92f82bd140e298c94934b38d70111d7fbfc77c71855eb4b63a3c", + "hash" : "0x0db49f8710b67e19280b870781606892dd3ba6a88c27db591850a07b187f867b", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560a5565b633f3716928114601d5763578290e58114602757602e565b6023604f565b602e565b602d6033565b5b5060b5565b60056000b460066000b4600b6001b4600c6001b460006000fd5b565b60046000b4600a6001b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff1806000556000b3806001556001b3806002555050505b565b60006000358060e01c9150505b90565b", + "code" : "0x600560a4565b633f3716928114601d5763578290e58114602757602e565b6023604f565b602e565b602d6033565b5b5060b4565b60056000b460066000b4600b6001b4600c6001b460006000fd5b565b60046000b4600a6001b47f578290e500000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff1806000556000b3806001556001b3806002555050505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json index d3d5539136d..8a1c05a7cd8 100644 --- a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json +++ b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes the transient storage writes after a successful call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "f309274ffe1565d7ca9e7c73d2b230a048d7a2d406b6b93aaeaee9edf76d8c79", + "generatedTestHash" : "c2018fb4a82c499981285efa6159b6931e0a1a5d7eee3a03bceb5351d506deb0", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml", - "sourceHash" : "6379a105cf4bfbde86c0dd66d19bfa499564f93d7f1310cd4650b6da9c5065fe" + "sourceHash" : "1f4673635aa98b2fa5df01290102358e8e65737d86f01b4b9fe277f79dba7f0b" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x5dc2e2af3974ea726dbb400058ea7d1bee5f21e85011c278a92b2b2bee33f472", + "hash" : "0xcee6790b4a2b47c2d3365a19b8893d1b2bfa775762bf1a224fb44f14edbdfff1", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560e6565b6370ac643e8114602c576376b85d238114603657634ccca553811460405760016002556047565b6032604c565b6047565b603c6090565b6047565b604660c0565b5b5060f6565b60056000b46000b380600055607f7f76b85d230000000000000000000000000000000000000000000000000000000060c8565b806001556000b3806002555050505b565b60b77f4ccca5530000000000000000000000000000000000000000000000000000000060c8565b60006000fd505b565b60066000b45b565b60008160005260006000602060006000600a61fffff190505b919050565b60006000358060e01c9150505b90565b", + "code" : "0x600560e5565b6370ac643e8114602c576376b85d238114603657634ccca553811460405760016002556047565b6032604c565b6047565b603c6090565b6047565b604660c0565b5b5060f5565b60056000b46000b380600055607f7f76b85d230000000000000000000000000000000000000000000000000000000060c8565b806001556000b3806002555050505b565b60b77f4ccca5530000000000000000000000000000000000000000000000000000000060c8565b60006000fd505b565b60066000b45b565b600081600052600060006020600060003061fffff190505b919050565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x01" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json index 3aea030b2c6..fdfd876b817 100644 --- a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json +++ b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be manipulated in a static context, tstore reverts.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "496823b98d7bbaf9d12efe1abd1c5c95e8f4180deb6b30715a0249b8b21c219b", + "generatedTestHash" : "224ac21aab3820b4666e6b43b5819b0c62a3a638e33b84ef8aec45b0adf0c81b", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml", - "sourceHash" : "5085c4ac7217d2e058c7220a5dd86afb3584d76d10026c13fbb6f88ffa2bf887" + "sourceHash" : "a47ca41892d20f65f1a9445d4d65b47833056cab306965ada024bf90365ae880" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xc5700fa70d52ca141f4b0e87f84fc2726460c447084b2ef6a0f55220ee919a87", + "hash" : "0xe0ff5cd6df6a3e4150a89d29e81e0be50f3ea48342e17cc3fd656bed51bf6d26", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560ea565b633f371692811460275763611e535a811460315763017292758114603b576043565b602d6064565b6043565b60376048565b6043565b60416050565b505b5060fa565b60036000b45b565b60006000b390508060005260206000f35b90565b60026000b47f611e535a000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa6000b381600055806001557f01729275000000000000000000000000000000000000000000000000000000006000526020600060206000600a61fffffa6000518160025580600355505050505b565b60006000358060e01c9150505b90565b", + "code" : "0x600560e8565b633f371692811460275763611e535a811460315763017292758114603b576043565b602d6064565b6043565b60376048565b6043565b60416050565b505b5060f8565b60036000b45b565b60006000b390508060005260206000f35b90565b60026000b47f611e535a0000000000000000000000000000000000000000000000000000000060005260006000602060003061fffffa6000b381600055806001557f017292750000000000000000000000000000000000000000000000000000000060005260206000602060003061fffffa6000518160025580600355505050505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json index 2e8771ab21d..6c1f3562a24 100644 --- a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json +++ b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json @@ -4,11 +4,11 @@ "comment" : "Transient storage can't be manipulated from nested staticcall.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "a7c6ac56f1c38acfc6f60c8a176b6e5bce16540e1dd9bc8a686c057152046f48", + "generatedTestHash" : "a36c86c2f62e0cde195556f76ef0f958007dc746d1e582f0f9c849b795d98de5", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml", - "sourceHash" : "1c9822e2887daadf5cc9e84cb24d66caf610e37fb81a703a0231e8a58eb3d524" + "sourceHash" : "86ebd1ac29a0645dde5de176ac42874aee3b5a8fdb752a3d52b8e75735fb670b" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xd65377a28cf107a6158bab285cf92930171b01ab9b51b07c31ad4c6117557f40", + "hash" : "0x37978651024d4cf54e7237e5870d30298a35d9b5bd1a341bbc6c0cab669e5c13", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x610007610101565b63f5f4059081146100325763f8dfc2d0811461003f576362fdb9be811461004c576001600255610055565b61003a61005b565b610055565b6100476100b8565b610055565b6100546100f9565b5b50610111565b600a6000b46000b3806000557ff8dfc2d0000000000000000000000000000000000000000000000000000000006000526000600060206000600a61fffffa3d80600060003e600051600155816002556000b380600355505050505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61fffff18060005260206000f3505b565b600b6000b45b565b60006000358060e01c9150505b90565b", + "code" : "0x6100076100ff565b63f5f4059081146100325763f8dfc2d0811461003f576362fdb9be811461004c576001600255610055565b61003a61005b565b610055565b6100476100b7565b610055565b6100546100f7565b5b5061010f565b600a6000b46000b3806000557ff8dfc2d00000000000000000000000000000000000000000000000000000000060005260006000602060003061fffffa3d80600060003e600051600155816002556000b380600355505050505b565b7f62fdb9be00000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff18060005260206000f3505b565b600b6000b45b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x01" : "0xffff" diff --git a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json index fc2a37f9ba6..94ac66bbff7 100644 --- a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be DOS’d.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "75082e38121498f8bb9ca5b58118b25c7224376fae7e8a3965a7dd2c255afe34", + "generatedTestHash" : "055ff4eded7a97d03e51f6ae25773be764681bf0495665de375c0d26943b7090", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "85491cebb5a35cb6e00b5de53dd522e08e8490b93a0875038f5658ed5802a263" + "sourceHash" : "0f0c6e2b0aea6a71341fc45df0252226478005bb21a3e0f262fbe66ce9eb27c3" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x45768307896815a6b0c09d2770f963764b748e6c750ed18f02e901cfd5f049f4", + "hash" : "0x605cda26e18c7fbf7ba1b3734e75b79a3ad5add4ccb42732cdaa88d7aa019a70", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560ba565b63883264e8811460225763f7d6c0eb81146031576005600055603d565b600435602c816042565b50603d565b602035603b81608f565b505b5060ca565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000600a5af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560ac57603081b45b6001810190506096565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", + "code" : "0x600560b9565b63883264e8811460225763f7d6c0eb81146031576005600055603d565b600435602c816042565b50603d565b602035603b81608e565b505b5060c9565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560ab57603081b45b6001810190506095565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", diff --git a/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json b/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json index 20d65f3582d..e25a9e00448 100644 --- a/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json +++ b/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json @@ -4,11 +4,11 @@ "comment" : "Out of gas undoes the transient storage writes from a call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "1217b863c61c42f75a37186857e700536da0ba4bdd20753e7b10ac7a45c18121", + "generatedTestHash" : "9d2e4e7df91a6bf17c6317b41086329a31e3c42323ea1f3cddd75774bd378294", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml", - "sourceHash" : "5adb425beca94b63b52308f7ee2d849257a5f748a9af1e4d1bcb4dc175576013" + "sourceHash" : "4235592180684fdc99433ff30dd76d4f7d04dda033d5d6ab74bdfeab5d6335fc" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x8f8e1fe9837bb1e0586a2e1f2b1e23b0891617b1d592243c6eed094aa56d2094", + "hash" : "0xf3b3cd2eb68ff467247a9a4f27c04bf669274ef0e19cb3f83a0bb612c2bb5888", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60056097565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326048565b5b5060a7565b600b6000b4622fffff600020505b565b604e6000b46000b3806000557fe2da2eb00000000000000000000000000000000000000000000000000000000060005260006000602060006000600a61c350f1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "code" : "0x60056096565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326048565b5b5060a6565b600b6000b4622fffff600020505b565b604e6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061c350f1806002556000b360015550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", diff --git a/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json b/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json index 8d36f0c6c29..add65b0e2a4 100644 --- a/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json +++ b/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be DOS’d.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "e0e54cdba00ef348079cd0542f4da2e2b5564ec42b4a6ea7cdd0dcc61def6f9d", + "generatedTestHash" : "35df1edbd9eac02cc744a3209a3af68a72d612a4d7de69e77b54b1966951d822", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml", - "sourceHash" : "c6d9499c5d3eb141db1d999b24de85a69d44007095df1a291d684577d21f65ca" + "sourceHash" : "222db3fd2cdecda0f359a0da32876546d44f11e8c121544400cbe48b541d6fcb" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xdc1c3183cd281405e72b91fcbe5a5cdb1b536399af5be523da86d5bb53a771ab", + "hash" : "0x75b01ac1507dde6b652404ebc47f31e1a2daa781fe32801d3c8a8df1d21a175f", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x610007610100565b63883264e881146100275763f7d6c0eb8114610039576005600055610047565b6004356100338161004d565b50610047565b6020356100458161009a565b505b50610110565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000600a5af1806000556000516002556000b3806001555050505b565b6000600090505b818110156100f25761025881b460028106600081600081146100ca57600181146100d7576100e3565b83915061025884b46100e3565b83600003915061025882b45b5050505b6001810190506100a1565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", + "code" : "0x6100076100ff565b63883264e881146100275763f7d6c0eb8114610039576005600055610047565b6004356100338161004d565b50610047565b60203561004581610099565b505b5061010f565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b818110156100f15761025881b460028106600081600081146100c957600181146100d6576100e2565b83915061025884b46100e2565b83600003915061025882b45b5050505b6001810190506100a0565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", diff --git a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml index b3e812ec8d3..b645d15125b 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml @@ -54,10 +54,10 @@ function doReenter() { mstore(0, hex"62fdb9be") // doStore() - let successStore := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let successStore := call(0xffff, address(), 0, 0, 32, 0, 0) mstore(0, hex"43ac1c39") // doLoad() - let successLoad := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let successLoad := call(0xffff, address(), 0, 0, 32, 0, 0) let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) diff --git a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml index 4d2415e6ab2..91c9f749dd2 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml @@ -58,7 +58,7 @@ sstore(0, v) mstore(0, hex"0accf739") // doStoreAndLoad() - let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let success := call(0xffff, address(), 0, 0, 32, 0, 0) sstore(2, success) } diff --git a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml index be2ca3e1333..f63cb52a714 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml @@ -48,7 +48,7 @@ sstore(0, v) mstore(0, hex"62fdb9be") // doStore() - let success := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let success := call(0xffff, address(), 0, 0, 32, 0, 0) sstore(2, success) sstore(1, verbatim_1i_1o(hex"b3", 0)) diff --git a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml index ab26e58ae3d..11f7ac04378 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml @@ -49,7 +49,7 @@ sstore(0, v) mstore(0, hex"e2da2eb0") // doStoreAndRevert() - let fail := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let fail := call(0xffff, address(), 0, 0, 32, 0, 0) sstore(2, fail) sstore(1, verbatim_1i_1o(hex"b3", 0)) diff --git a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml index 73895da5dfa..c831bd7adc2 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml @@ -50,7 +50,7 @@ verbatim_2i_0o(hex"b4", 1, 10) mstore(0, hex"578290e5") - let fail := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let fail := call(0xffff, address(), 0, 0, 32, 0, 0) sstore(0, fail) let v0 := verbatim_1i_1o(hex"b3", 0) diff --git a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml index 49ab9f85408..37ab72a3af6 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml @@ -68,7 +68,7 @@ function doReenter(fs) -> f { mstore(0, fs) - f := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + f := call(0xffff, address(), 0, 0, 32, 0, 0) } function selector() -> s { diff --git a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml index 39cc8c95c16..a4ca42e4e7c 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml @@ -56,13 +56,13 @@ function doReenter() { verbatim_2i_0o(hex"b4", 0, 2) mstore(0, hex"611e535a") // tstore3() - let fail := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 0) + let fail := staticcall(0xffff, address(), 0, 32, 0, 0) let v := verbatim_1i_1o(hex"b3", 0) sstore(0, fail) sstore(1, v) mstore(0, hex"01729275") // tload0() - let success := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 32) + let success := staticcall(0xffff, address(), 0, 32, 0, 32) let v0 := mload(0) sstore(2, success) sstore(3, v0) diff --git a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml index 1d405cfcb65..868efd416c8 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml @@ -50,7 +50,7 @@ sstore(0, v) mstore(0, hex"f8dfc2d0") // doCallToStore() - let success := staticcall(0xffff, 0x000000000000000000000000000000000000000A, 0, 32, 0, 0) + let success := staticcall(0xffff, address(), 0, 32, 0, 0) let size := returndatasize() returndatacopy(0, 0, size) @@ -64,7 +64,7 @@ function doCallToStore() { mstore(0, hex"62fdb9be") // doStore() - let f := call(0xffff, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) // call with zero-value + let f := call(0xffff, address(), 0, 0, 32, 0, 0) // call with zero-value mstore(0, f) return(0, 32) } diff --git a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml index 93c74506080..0dc304d9b67 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml @@ -42,7 +42,7 @@ function doCall(n) { mstore(0, hex"f7d6c0eb") // doNStores(n) mstore(32, n) - let t := call(gas(), 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 32) + let t := call(gas(), address(), 0, 0, 64, 0, 32) sstore(0, t) // should revert sstore(2, mload(0)) diff --git a/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml index bac5e682dd9..f5b5a27852f 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml @@ -49,7 +49,7 @@ sstore(0, v) mstore(0, hex"e2da2eb0") // doStoreAndRevert() runs out of gas - let fail := call(0xC350, 0x000000000000000000000000000000000000000A, 0, 0, 32, 0, 0) + let fail := call(0xC350, address(), 0, 0, 32, 0, 0) sstore(2, fail) sstore(1, verbatim_1i_1o(hex"b3", 0)) diff --git a/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml index 2ebd93055af..f37fed0a0e5 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml @@ -43,7 +43,7 @@ function doCall(n) { mstore(0, hex"f7d6c0eb") // doNStores(n) mstore(32, n) - let t := call(gas(), 0x000000000000000000000000000000000000000A, 0, 0, 64, 0, 32) + let t := call(gas(), address(), 0, 0, 64, 0, 32) sstore(0, t) // should revert sstore(2, mload(0)) From d9fb9f1fdf364187817dea706c7fe3588e290c10 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 12:32:39 -0500 Subject: [PATCH 40/56] 04 use gas() --- GeneralStateTests/stEIP1153/04_tloadAfterCall.json | 8 ++++---- .../stEIP1153/04_tloadAfterCallFiller.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/GeneralStateTests/stEIP1153/04_tloadAfterCall.json b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json index 4ad5de598d2..b9229b208a3 100644 --- a/GeneralStateTests/stEIP1153/04_tloadAfterCall.json +++ b/GeneralStateTests/stEIP1153/04_tloadAfterCall.json @@ -4,11 +4,11 @@ "comment" : "Loading a slot after a call to another contract is 0.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "48c77d51b3ce072654bd6e83d6543f4a4c56c8046bc80abf5d142ac022ebd6c9", + "generatedTestHash" : "4e135c17853b68f686938e2baf3269436f139606fbd56fbed4f829521ed5eb23", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml", - "sourceHash" : "6e4e2454b8db227ff95f3520fd3ce2dfcc2eb4f29d2b144ba8934786b6f450d7" + "sourceHash" : "805f563ddb6ff4f8c834fe73baa94d74979bcf83380159a952f3e3925025269c" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xcc1d3a238141ce7e0a033fc4432bb5f340cd8dbc58fc61556d72aef14c14f2fa", + "hash" : "0xe3d2b861fc7c3da8e14feb307e85e3bd82efecf25a451ed1cdf0aba0b74c160a", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600a6000b460006000602060006000600b61fffff16000b380600055816001555050", + "code" : "0x600a6000b460006000602060006000600b5af16000b380600055816001555050", "nonce" : "0x00", "storage" : { } diff --git a/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml index de676ed6f01..77b871e71d9 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml @@ -28,7 +28,7 @@ code: | :yul { verbatim_2i_0o(hex"b4", 0, 10) - let success := call(0xffff, 0x000000000000000000000000000000000000000B, 0, 0, 32, 0, 0) + let success := call(gas(), 0x000000000000000000000000000000000000000B, 0, 0, 32, 0, 0) let val := verbatim_1i_1o(hex"b3", 0) sstore(0, val) sstore(1, success) From 5524a07626e8146897d6712f27597e60d12c7379 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 12:33:18 -0500 Subject: [PATCH 41/56] 05 cleanup: tstore without reenter --- .../stEIP1153/05_tloadReentrancy.json | 8 +++--- .../stEIP1153/05_tloadReentrancyFiller.yml | 25 ++++--------------- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json index 1ac326ae736..f3b10e5db5b 100644 --- a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json +++ b/GeneralStateTests/stEIP1153/05_tloadReentrancy.json @@ -4,11 +4,11 @@ "comment" : "Reentrant calls access the same transient storage.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "6c15d53c18c52f0a22efdb529d96a8a95a8388405202b57469b2a86f4c3437cd", + "generatedTestHash" : "8e2461447a037ef5f5e5e97c2753bd0fe19220e3354b730ee61d2bff18328b08", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml", - "sourceHash" : "c2ac3eb491bd8edd54bcde147b17ced3a3bdfcd02e63e9fe5ca5edbd139a5bbd" + "sourceHash" : "6321b02739a52ddaba1ee43c218403106e8fcf2ae7baee2442dd2640ad1d03e2" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x5c7ac90d9b1739ae3f2a7858d6defd7491562bfc2e5e67020ec4327c1efc84f4", + "hash" : "0x2486820720ab16d07f1b1b506c5871a14a03c07429f91f5c8c336845e491e5e8", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560da565b6362fdb9be8114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c6054565b6047565b6046605f565b5b5060ea565b602c6000b45b565b6000b380600155505b565b7f62fdb9be00000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff17f43ac1c3900000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff16000b38060005582600255816003555050505b565b60006000358060e01c9150505b90565b", + "code" : "0x60056084565b6343ac1c398114601d57633f3716928114602757602e565b60236033565b602e565b602d603e565b5b506094565b6000b380600155505b565b602c6000b47f43ac1c390000000000000000000000000000000000000000000000000000000060005260006000602060006000305af16000b3806000558160025550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml index b645d15125b..25f219815a6 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml @@ -3,8 +3,7 @@ # # Expect slot 0 to have 44 from the first tstore & tload. # Expect slot 1 to have 44 from the re-entered call. -# Expect slot 2 to have 1 (for successful call to doStore()). -# Expect slot 3 to have 1 (for successful call to doLoad()). +# Expect slot 2 to have 1 (for successful call to doLoad()). 05_tloadReentrancy: _info: @@ -27,10 +26,6 @@ :yul { switch selector() - case 0x62fdb9be { - doStore() // doStore() - } - case 0x43ac1c39 { // doLoad() doLoad() } @@ -39,31 +34,22 @@ doReenter() } - default { - sstore(2, 0) - } - - function doStore() { - verbatim_2i_0o(hex"b4", 0, 44) - } - function doLoad() { let v := verbatim_1i_1o(hex"b3", 0) sstore(1, v) } function doReenter() { - mstore(0, hex"62fdb9be") // doStore() - let successStore := call(0xffff, address(), 0, 0, 32, 0, 0) + + verbatim_2i_0o(hex"b4", 0, 44) mstore(0, hex"43ac1c39") // doLoad() - let successLoad := call(0xffff, address(), 0, 0, 32, 0, 0) + let successLoad := call(gas(), address(), 0, 0, 32, 0, 0) let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) - sstore(2, successStore) - sstore(3, successLoad) + sstore(2, successLoad) } function selector() -> s { @@ -102,4 +88,3 @@ 0x00: 44 0x01: 44 0x02: 1 - 0x03: 1 From 093eace849ed25f9dca6395c7393c1366ea17765 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 12:55:13 -0500 Subject: [PATCH 42/56] 06 cleanup --- .../stEIP1153/06_tstoreInReentrancyCall.json | 8 +++--- .../06_tstoreInReentrancyCallFiller.yml | 27 +++++++------------ 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json index 5bc45b941c4..3c8779d42ca 100644 --- a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json +++ b/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json @@ -4,11 +4,11 @@ "comment" : "Reentrant calls access the same transient storage.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "476900fb1a4064871375dfdb48ad5e734d1739d7cc46d58f349470cec241d0ac", + "generatedTestHash" : "50d636ccc8c07e909ce93535ac0a7d15e27bef097c445dd8179199166a77b5c6", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml", - "sourceHash" : "ee77e3f6335937b9bcd978c2c278d85a6df321b7e06ff9a7a130ca9ab5841e18" + "sourceHash" : "2b5f24e122dba75a5390649fd543ae7fcb00fe2abcf1c63e16281d1289322e05" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x87b187d04ab7d7f4c2b0185ad5b46d02d089b3223204c6e84d7e1e647733853d", + "hash" : "0x55b561edab5415c863927a70fca3b1fa7a8249a317ab4c9e49fb8676da538eee", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560ad565b630accf7398114602c576343ac1c398114603657633f371692811460405760006002556047565b6032604c565b6047565b603c605a565b6047565b60466065565b5b5060bd565b605a6000b46057605a565b5b565b6000b380600155505b565b60506000b46000b3806000557f0accf73900000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff18060025550505b565b60006000358060e01c9150505b90565b", + "code" : "0x60056091565b630accf7398114601d57633f3716928114602757602e565b60236033565b602e565b602d6043565b5b5060a1565b605a60ffb460ffb380600155505b565b605060ffb460ffb3806000557f0accf7390000000000000000000000000000000000000000000000000000000060005260006000602060006000305af18060025560ffb3806003555050505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml index 91c9f749dd2..6ab4bdbff79 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml @@ -4,6 +4,7 @@ # Expect slot 0 to have 80 from the first tstore & tload. # Expect slot 1 to have 90 from the re-entered call. # Expect slot 2 to have 1. Call was successful. +# Expect slot 3 to have 90. The updated tstored value from the re-entered call. 06_tstoreInReentrancyCall: _info: @@ -30,36 +31,27 @@ doStoreAndLoad() } - case 0x43ac1c39 { // doLoad() - doLoad() - } - case 0x3f371692 { // doReenter() doReenter() } - default { - sstore(2, 0) - } - function doStoreAndLoad() { - verbatim_2i_0o(hex"b4", 0, 90) - doLoad() - } - - function doLoad() { - let v := verbatim_1i_1o(hex"b3", 0) + verbatim_2i_0o(hex"b4", 0xff, 90) + let v := verbatim_1i_1o(hex"b3", 0xff) sstore(1, v) } function doReenter() { - verbatim_2i_0o(hex"b4", 0, 80) - let v := verbatim_1i_1o(hex"b3", 0) + verbatim_2i_0o(hex"b4", 0xff, 80) + let v := verbatim_1i_1o(hex"b3", 0xff) sstore(0, v) mstore(0, hex"0accf739") // doStoreAndLoad() - let success := call(0xffff, address(), 0, 0, 32, 0, 0) + let success := call(gas(), address(), 0, 0, 32, 0, 0) sstore(2, success) + + let updated_val := verbatim_1i_1o(hex"b3", 0xff) + sstore(3, updated_val) } function selector() -> s { @@ -100,3 +92,4 @@ 0x00: 80 0x01: 90 0x02: 1 + 0x03: 90 From 07af97ac2fc4f1088524d41fb1fece67100a8aa0 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 14:47:52 -0500 Subject: [PATCH 43/56] 07 cleanup --- .../stEIP1153/07_tloadAfterReentrancyStore.json | 8 ++++---- .../stEIP1153/07_tloadAfterReentrancyStoreFiller.yml | 6 +----- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json index c7e956425b8..65adb544b03 100644 --- a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json +++ b/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json @@ -4,11 +4,11 @@ "comment" : "Successfully returned calls do not revert transient storage writes.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "cdee8211a65f6781b32af1e3397b539dc60d081841402dfb54fa21cc6e84ba97", + "generatedTestHash" : "3b62fa1117ed4632db049280639500e9f60bba72ffa8af73cd3a647d486153ea", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml", - "sourceHash" : "dd9460de4d38595be153fb069cbb581732db698a89c7c01be9246378627fbf22" + "sourceHash" : "28a6e199e503eb0c8fc42946701d638602da25af2a65fd0df00c206f26219247" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x527da1d6811ce7d7b03d562c25cd953c379c1283b5ee9ef6248fb4d4c7325ba1", + "hash" : "0xdc9e7809c823b0ca7a455a9a315fe85cdc0c2a0c14b3b777e598e04e37e2b0bf", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6005608e565b6362fdb9be8114602257633f3716928114602c5760006002556033565b60286038565b6033565b60326040565b5b50609e565b604e6000b45b565b60376000b46000b3806000557f62fdb9be00000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "code" : "0x60056087565b6362fdb9be8114601d57633f3716928114602757602e565b60236033565b602e565b602d603b565b5b506097565b604e6000b45b565b60376000b46000b3806000557f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000305af1806002556000b360015550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { } diff --git a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml index f63cb52a714..d199db85d46 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml @@ -34,10 +34,6 @@ doReenter() } - default { - sstore(2, 0) - } - function doStore() { verbatim_2i_0o(hex"b4", 0, 78) } @@ -48,7 +44,7 @@ sstore(0, v) mstore(0, hex"62fdb9be") // doStore() - let success := call(0xffff, address(), 0, 0, 32, 0, 0) + let success := call(gas(), address(), 0, 0, 32, 0, 0) sstore(2, success) sstore(1, verbatim_1i_1o(hex"b3", 0)) From 758e4e93ab4b37801cc58d7157da8ac3c85b9b34 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 14:50:59 -0500 Subject: [PATCH 44/56] 08 cleanup --- .../stEIP1153/08_revertUndoesTransientStore.json | 8 ++++---- .../stEIP1153/08_revertUndoesTransientStoreFiller.yml | 6 +----- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json index 28a18be254a..1ed0bddb9ff 100644 --- a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json +++ b/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes the transient storage writes from a call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "d5fb58b1bfafb50c5810e4291a427f39106328ce178fa401512a9b12c3700eef", + "generatedTestHash" : "fde55095a7a6f8b7b0073ef23487e02872a22ab7a2d0ae7cc547e1134ef889d0", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml", - "sourceHash" : "cc57ad18dc7deb08f90707f13f0938d7c0ac62b9e914aedf8da9d19d4124b917" + "sourceHash" : "61af2f620ebf501422a3e4caa5e313e91ed0b543cac6c9ab4d0144a8d7a5da52" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x72834493c903e393d6edf8a4d9a94116723e606e502b2a2a5dd48f8acad0356b", + "hash" : "0xa995941a9b06b9ebc0ed67c7a18c9032f1e1f96b495e7416a0abc8b172b96f8b", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60056093565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326045565b5b5060a3565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "code" : "0x6005608e565b63e2da2eb08114601d57633f3716928114602757602e565b60236033565b602e565b602d6040565b5b50609e565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x02" : "0xffff" diff --git a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml index 11f7ac04378..2ce57931d9c 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml @@ -33,11 +33,7 @@ case 0x3f371692 { // doReenter() doReenter() } - - default { - sstore(2, 1) - } - + function doStoreAndRevert() { verbatim_2i_0o(hex"b4", 0, 11) revert(0, 0) From 0029ff1e5fc3ecd17cb5ee049c4cdc78a7ba81a2 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 15:00:03 -0500 Subject: [PATCH 45/56] 09 cleanup --- GeneralStateTests/stEIP1153/09_revertUndoesAll.json | 8 ++++---- .../stEIP1153/09_revertUndoesAllFiller.yml | 6 ++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json index 09914bb6f3e..41c6d8feb0e 100644 --- a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json +++ b/GeneralStateTests/stEIP1153/09_revertUndoesAll.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes all the transient storage writes to the same key from the failed call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "c2f9a5982e029a5f00a4ab21604a9763f766f34efc6e5a439e0a2f5926bc2e28", + "generatedTestHash" : "be26e8e96b265d6d628621e1261dfbf71f6b9a255e4ff29b165b6c43db6037a1", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml", - "sourceHash" : "fc1db5c319fbaaddd0445ae82c9037d0afbc71925e5a39017f02419478843bc9" + "sourceHash" : "9369585ff984b9ddd59a7cd084448283ec6489e84711bdca2b335b68767c50d2" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x0db49f8710b67e19280b870781606892dd3ba6a88c27db591850a07b187f867b", + "hash" : "0x86e376dc2333668835586e827ddc54ed582a42766550821c32a55fe0bf163789", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560a4565b633f3716928114601d5763578290e58114602757602e565b6023604f565b602e565b602d6033565b5b5060b4565b60056000b460066000b4600b6001b4600c6001b460006000fd5b565b60046000b4600a6001b47f578290e500000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff1806000556000b3806001556001b3806002555050505b565b60006000358060e01c9150505b90565b", + "code" : "0x600560a2565b633f3716928114601d5763578290e58114602757602e565b6023604f565b602e565b602d6033565b5b5060b2565b60056000b460066000b4600b6001b4600c6001b460006000fd5b565b60046000b4600a6001b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000305af1806000556000b3806001556001b3806002555050505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff" diff --git a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml index c831bd7adc2..94727f6c6fc 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml @@ -35,8 +35,6 @@ storeTwiceAndRevert() } - default {} - function storeTwiceAndRevert() { verbatim_2i_0o(hex"b4", 0, 5) verbatim_2i_0o(hex"b4", 0, 6) @@ -48,9 +46,9 @@ function doReenter() { verbatim_2i_0o(hex"b4", 0, 4) verbatim_2i_0o(hex"b4", 1, 10) - mstore(0, hex"578290e5") + mstore(0, hex"578290e5") // storeTwiceAndRevert() - let fail := call(0xffff, address(), 0, 0, 32, 0, 0) + let fail := call(gas(), address(), 0, 0, 32, 0, 0) sstore(0, fail) let v0 := verbatim_1i_1o(hex"b3", 0) From 05ae4f2be84b4cb0421bcf1c47b9395e88622ca9 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 15:29:51 -0500 Subject: [PATCH 46/56] 10 cleanup and check successful call --- .../10_revertUndoesStoreAfterReturn.json | 8 +++--- .../10_revertUndoesStoreAfterReturnFiller.yml | 25 +++++++++++-------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json index 8a1c05a7cd8..ce2b0a37895 100644 --- a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json +++ b/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json @@ -4,11 +4,11 @@ "comment" : "Revert undoes the transient storage writes after a successful call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "c2018fb4a82c499981285efa6159b6931e0a1a5d7eee3a03bceb5351d506deb0", + "generatedTestHash" : "d904e1d2a9add71b23e9724d474c4c7a9ef381132aa8e6e8406caa07382d4298", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml", - "sourceHash" : "1f4673635aa98b2fa5df01290102358e8e65737d86f01b4b9fe277f79dba7f0b" + "sourceHash" : "2cbbf4b6fedc93fcb11c1b0fcbc56921633d844f7ff21ffe81c88320137cff02" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xcee6790b4a2b47c2d3365a19b8893d1b2bfa775762bf1a224fb44f14edbdfff1", + "hash" : "0xd2f177be40de1178ddff9c199f39691f85b6cab09fb9778f0311dea4d3c109e7", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560e5565b6370ac643e8114602c576376b85d238114603657634ccca553811460405760016002556047565b6032604c565b6047565b603c6090565b6047565b604660c0565b5b5060f5565b60056000b46000b380600055607f7f76b85d230000000000000000000000000000000000000000000000000000000060c8565b806001556000b3806002555050505b565b60b77f4ccca5530000000000000000000000000000000000000000000000000000000060c8565b60006000fd505b565b60066000b45b565b600081600052600060006020600060003061fffff190505b919050565b60006000358060e01c9150505b90565b", + "code" : "0x61000761010b565b6370ac643e811461002d576376b85d23811461003a57634ccca553811461004757610050565b610035610056565b610050565b6100426100aa565b610050565b61004f6100e8565b5b5061011b565b60056000b46000b3806000557f76b85d230000000000000000000000000000000000000000000000000000000060005260206000602060006000305af1806001556000516002556000b3806003555050505b565b7f4ccca5530000000000000000000000000000000000000000000000000000000060005260006000602060006000305af18060005260206000fd505b565b60066000b45b565b60008160005260006000602060006000305af190505b919050565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x01" : "0xffff" diff --git a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml index 37ab72a3af6..190cf0c222b 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml @@ -4,7 +4,8 @@ # # Expect slot 0 to have 5 from the first tstore & tload. # Expect slot 1 to have 0. Call was unsuccessful. -# Expect slot 2 to have 5. Should load the value stored before the unsuccessful call. +# Expect slot 2 to have 1. Inner call was successful. +# Expect slot 3 to have 5. Should load the value stored before the unsuccessful call. 10_revertUndoesStoreAfterReturn: _info: @@ -39,27 +40,28 @@ doSuccessfulStore() } - default { - sstore(2, 1) - } - function doFirstCall() { verbatim_2i_0o(hex"b4", 0, 5) let v := verbatim_1i_1o(hex"b3", 0) sstore(0, v) - let fail := doReenter(hex"76b85d23") // calls doCallThenRevert() + mstore(0, hex"76b85d23") // calls doCallThenRevert() + let fail := call(gas(), address(), 0, 0, 32, 0, 32) + sstore(1, fail) // should be 0 (revert) + sstore(2, mload(0)) // load 1 (successful call) let val := verbatim_1i_1o(hex"b3", 0) - sstore(2, val) + sstore(3, val) } function doCallThenRevert() { - let s := doReenter(hex"4ccca553") // calls doSuccessfulStore() - revert(0, 0) + mstore(0, hex"4ccca553") // calls doSuccessfulStore() + let s := call(gas(), address(), 0, 0, 32, 0, 0) + mstore(0, s) + revert(0, 32) } function doSuccessfulStore() { @@ -68,7 +70,7 @@ function doReenter(fs) -> f { mstore(0, fs) - f := call(0xffff, address(), 0, 0, 32, 0, 0) + f := call(gas(), address(), 0, 0, 32, 0, 0) } function selector() -> s { @@ -105,4 +107,5 @@ storage: 0x00: 5 0x01: 0 - 0x02: 5 + 0x02: 1 + 0x03: 5 From 66899253fbfe81ccf88b18d7ffda51e7eb75bb38 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 15:34:51 -0500 Subject: [PATCH 47/56] 11 cleanup --- GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json | 8 ++++---- .../stEIP1153/11_tstoreDelegateCallFiller.yml | 8 +++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json index dc8b3bacd60..4667a8a7142 100644 --- a/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json +++ b/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json @@ -4,11 +4,11 @@ "comment" : "delegatecall manipulates transient storage in the context of the current address.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "9d66550d03777d406cc1c68d5b8a4d1d21ad7be7243ab65ab762b5fd16da58d9", + "generatedTestHash" : "9977af60900bae16d12a827cbf53b59b6d3d33e36254cfb132476ba14d3936a8", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml", - "sourceHash" : "347c8d5b4778ea5ebbfe8b12a905c12b8ef1ca421c0a0e49582d6f63f26b07fb" + "sourceHash" : "c59d4a235c562035ac11d2198475a8a09f95a789300fc250bee8684c39943ec0" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xc975794bd77f5de067e13a6fc4f39e13a49e0085746e7266601556b5acb4ebe3", + "hash" : "0x36e92fa72aa3c499d7e2d128da764607e75550240a89cc155546c9418c81e0b6", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016000b46000600060206000600b61fffff46000b381600055806001556000600060206000600c61fffff46000b3816002558060035550505050", + "code" : "0x60016000b46000600060206000600b5af46000b381600055806001556000600060206000600c5af46000b3816002558060035550505050", "nonce" : "0x00", "storage" : { "0x02" : "0xffff" diff --git a/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml index aff89a14b3b..0111fff72c6 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml @@ -3,7 +3,9 @@ # TSTORE(x, y), DELEGATECALL(a, ...), TSTORE(x, z), RETURN, TLOAD(x) returns z # # Expect storage slot 0 of address a to be 1. Delegatecall was successful. -# Expect storage slot 0 of address a to be 2. The updated transient storage value from the delegatecall. +# Expect storage slot 1 of address a to be 2. The updated transient storage value from the delegatecall. +# Expect storage slot 2 of address a to be 0. Delegatecall was unsuccessful. +# Expect storage slot 3 of address a to be 2. Value from successful delegatecall. 11_tstoreDelegateCall: _info: @@ -27,13 +29,13 @@ verbatim_2i_0o(hex"b4", 0, 1) // transient storage at slot 0 successfully changes - let success := delegatecall(0xffff, 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) + let success := delegatecall(gas(), 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) let v0 := verbatim_1i_1o(hex"b3", 0) sstore(0, success) sstore(1, v0) // transient storage at slot 0 does not change - let fail := delegatecall(0xffff, 0x000000000000000000000000000000000000000C, 0, 32, 0, 0) + let fail := delegatecall(gas(), 0x000000000000000000000000000000000000000C, 0, 32, 0, 0) let v1 := verbatim_1i_1o(hex"b3", 0) sstore(2, fail) sstore(3, v1) From 4b386437503e278cec08b971dd8f71654e0e1846 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 15:38:26 -0500 Subject: [PATCH 48/56] 12 cleanup --- GeneralStateTests/stEIP1153/12_tloadDelegateCall.json | 8 ++++---- .../stEIP1153/12_tloadDelegateCallFiller.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json b/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json index d8b6f6c5945..5cb450f65ed 100644 --- a/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json +++ b/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json @@ -4,11 +4,11 @@ "comment" : "delegatecall reads transient storage in the context of the current address", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "1dc73ffe3dc8292c5361cb5afd39b86cec2a630a9fca7d6326d0be5bb7a4e917", + "generatedTestHash" : "9ef8c1f13f1f3566580c879a985c70c77b650f30d0e2ee2b0de2c6a2496ee0d7", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml", - "sourceHash" : "cd2ec1e757d9823a94c38f3759740fce24c07a51143ea84665fa7be9f1831d1b" + "sourceHash" : "0f1a065429ed4aae25cfedb437f32aeae08c463ae00044fad0712320010d1426" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x7a2c72b0c5de84358fe3f49ae9c846781bc7d3a9ddd413ab5d9ce7bd80f0498d", + "hash" : "0x6688706a01dfcb816e3d20bdd63a1f9aed637c0b9104fb7480c3674740cbf7d7", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60026000b46000600060206000600b61fffff48060005550", + "code" : "0x60026000b46000600060206000600b5af48060005550", "nonce" : "0x00", "storage" : { } diff --git a/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml index 1a2a1db30fb..b9227722fd4 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml @@ -25,7 +25,7 @@ code: | :yul { verbatim_2i_0o(hex"b4", 0, 2) - let success := delegatecall(0xffff, 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) + let success := delegatecall(gas(), 0x000000000000000000000000000000000000000B, 0, 32, 0, 0) sstore(0, success) } storage: {} From 410577784c1a5db39b0f223a891d29260a937af2 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 16:06:38 -0500 Subject: [PATCH 49/56] 13 cleanup --- .../stEIP1153/13_tloadStaticCall.json | 8 ++++---- .../stEIP1153/13_tloadStaticCallFiller.yml | 20 +++++++++++-------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json index fdfd876b817..0836fef543d 100644 --- a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json +++ b/GeneralStateTests/stEIP1153/13_tloadStaticCall.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be manipulated in a static context, tstore reverts.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "224ac21aab3820b4666e6b43b5819b0c62a3a638e33b84ef8aec45b0adf0c81b", + "generatedTestHash" : "40f24bac2a1802d86f00ec966d290afa5eda3e934bc3f7e91830e5544f0dbe89", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml", - "sourceHash" : "a47ca41892d20f65f1a9445d4d65b47833056cab306965ada024bf90365ae880" + "sourceHash" : "23fa311e073e3c7678699f1a1cbe5d298ea396a60152472590f569e2a23eeb8a" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xe0ff5cd6df6a3e4150a89d29e81e0be50f3ea48342e17cc3fd656bed51bf6d26", + "hash" : "0xe5607d66e18df9d5bccb54dfa47090e3776b74a304a52503742cd8a9bfe748e7", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560e8565b633f371692811460275763611e535a811460315763017292758114603b576043565b602d6064565b6043565b60376048565b6043565b60416050565b505b5060f8565b60036000b45b565b60006000b390508060005260206000f35b90565b60026000b47f611e535a0000000000000000000000000000000000000000000000000000000060005260006000602060003061fffffa6000b381600055806001557f017292750000000000000000000000000000000000000000000000000000000060005260206000602060003061fffffa6000518160025580600355505050505b565b60006000358060e01c9150505b90565b", + "code" : "0x600560e1565b633f371692811460275763611e535a811460315763017292758114603b576042565b602d605f565b6042565b60376047565b6042565b6041604f565b5b5060f1565b60036000b45b565b6000b38060005260206000f3505b565b60026000b47f611e535a0000000000000000000000000000000000000000000000000000000060005260006000602060003061fffffa806000556000b3806001557f01729275000000000000000000000000000000000000000000000000000000006000526020600060206000305afa8060025560005180600355505050505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff" diff --git a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml index a4ca42e4e7c..d9a23664c35 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml @@ -38,33 +38,37 @@ } case 0x01729275 { // tload0() - let saved_val := tload0() + tload0() } - default {} - function tstore3() { verbatim_2i_0o(hex"b4", 0, 3) } - function tload0() -> v{ - v := verbatim_1i_1o(hex"b3", 0) + function tload0() { + let v := verbatim_1i_1o(hex"b3", 0) mstore(0, v) return(0, 32) } function doReenter() { verbatim_2i_0o(hex"b4", 0, 2) + mstore(0, hex"611e535a") // tstore3() + + // cap the gas to continue execution let fail := staticcall(0xffff, address(), 0, 32, 0, 0) - let v := verbatim_1i_1o(hex"b3", 0) sstore(0, fail) + + // should load prev value, 2 + let v := verbatim_1i_1o(hex"b3", 0) sstore(1, v) mstore(0, hex"01729275") // tload0() - let success := staticcall(0xffff, address(), 0, 32, 0, 32) - let v0 := mload(0) + let success := staticcall(gas(), address(), 0, 32, 0, 32) sstore(2, success) + + let v0 := mload(0) sstore(3, v0) } From 59aedbfd085ad318d41d85f588999d5213a1083f Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 16:18:38 -0500 Subject: [PATCH 50/56] 14 cleanup --- .../stEIP1153/14_revertAfterNestedStaticcall.json | 8 ++++---- .../14_revertAfterNestedStaticcallFiller.yml | 15 ++++----------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json index 6c1f3562a24..c97a7b351f8 100644 --- a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json +++ b/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json @@ -4,11 +4,11 @@ "comment" : "Transient storage can't be manipulated from nested staticcall.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "a36c86c2f62e0cde195556f76ef0f958007dc746d1e582f0f9c849b795d98de5", + "generatedTestHash" : "4fbab6a8764789c2633d1a5fb5c6f3a9fcb9181458ac285d1c2afee1477d1667", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml", - "sourceHash" : "86ebd1ac29a0645dde5de176ac42874aee3b5a8fdb752a3d52b8e75735fb670b" + "sourceHash" : "c32cee300f3e10015228d40322a1e13e1e721437da85a88ca06f1ffe90f7fd23" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x37978651024d4cf54e7237e5870d30298a35d9b5bd1a341bbc6c0cab669e5c13", + "hash" : "0x4a8cd77e0cdd46c65cc9ccfdd0182f646b63a91b16a1277a2082ac49df9ba117", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6100076100ff565b63f5f4059081146100325763f8dfc2d0811461003f576362fdb9be811461004c576001600255610055565b61003a61005b565b610055565b6100476100b7565b610055565b6100546100f7565b5b5061010f565b600a6000b46000b3806000557ff8dfc2d00000000000000000000000000000000000000000000000000000000060005260006000602060003061fffffa3d80600060003e600051600155816002556000b380600355505050505b565b7f62fdb9be00000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff18060005260206000f3505b565b600b6000b45b565b60006000358060e01c9150505b90565b", + "code" : "0x600560e1565b63f5f40590811460275763f8dfc2d081146031576362fdb9be8114603b576042565b602d6047565b6042565b6037609b565b6042565b604160d9565b5b5060f1565b600a6000b46000b3806000557ff8dfc2d00000000000000000000000000000000000000000000000000000000060005260206000602060003061fffffa600051600155806002556000b3806003555050505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000305af18060005260206000f3505b565b600b6000b45b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x01" : "0xffff" diff --git a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml index 868efd416c8..66554ff7393 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml @@ -39,10 +39,6 @@ doStore() } - default { - sstore(2, 1) - } - function doStoreAndStaticCall() { verbatim_2i_0o(hex"b4", 0, 10) @@ -50,13 +46,10 @@ sstore(0, v) mstore(0, hex"f8dfc2d0") // doCallToStore() - let success := staticcall(0xffff, address(), 0, 32, 0, 0) - - let size := returndatasize() - returndatacopy(0, 0, size) + let success := staticcall(0xffff, address(), 0, 32, 0, 32) - sstore(1, mload(0)) // should be 0 from unsuccessful call - sstore(2, success) // should be 1 since no store inside nested call + sstore(1, mload(0)) // should be 0 from nested unsuccessful call + sstore(2, success) // should be 1 let val := verbatim_1i_1o(hex"b3", 0) sstore(3, val) @@ -64,7 +57,7 @@ function doCallToStore() { mstore(0, hex"62fdb9be") // doStore() - let f := call(0xffff, address(), 0, 0, 32, 0, 0) // call with zero-value + let f := call(gas(), address(), 0, 0, 32, 0, 0) // call with zero-value mstore(0, f) return(0, 32) } From 145ee8457bc941464cf3a0737877c30f3fd02eba Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 16:34:07 -0500 Subject: [PATCH 51/56] 15,16,17,19,20 cleanup --- GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json | 8 ++++---- .../stEIP1153/19_oogUndoesTransientStore.json | 8 ++++---- .../stEIP1153/15_tstoreCannotBeDosdFiller.yml | 4 ---- .../stEIP1153/16_tloadGasFiller.yml | 4 +--- .../stEIP1153/17_tstoreGasFiller.yml | 3 --- .../stEIP1153/19_oogUndoesTransientStoreFiller.yml | 4 ---- .../stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml | 1 - 7 files changed, 9 insertions(+), 23 deletions(-) diff --git a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json index 94ac66bbff7..15abbe92c98 100644 --- a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json +++ b/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be DOS’d.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "055ff4eded7a97d03e51f6ae25773be764681bf0495665de375c0d26943b7090", + "generatedTestHash" : "5f55d74d000d10bfd577dd127fc4bf3ef132741baa556baec43dfac81877087b", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml", - "sourceHash" : "0f0c6e2b0aea6a71341fc45df0252226478005bb21a3e0f262fbe66ce9eb27c3" + "sourceHash" : "527cc1fdf4e0738c1596ff0924ab7bbb9eb8297a591019f8d9c09cd12582dfc7" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x605cda26e18c7fbf7ba1b3734e75b79a3ad5add4ccb42732cdaa88d7aa019a70", + "hash" : "0x108f5c8d88f631f2e34cd344f012906ba2778174befc892419a52e34457a39d3", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x600560b9565b63883264e8811460225763f7d6c0eb81146031576005600055603d565b600435602c816042565b50603d565b602035603b81608e565b505b5060c9565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560ab57603081b45b6001810190506095565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", + "code" : "0x600560b4565b63883264e88114601d5763f7d6c0eb8114602c576038565b600435602781603d565b506038565b6020356036816089565b505b5060c4565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560a657603081b45b6001810190506090565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", diff --git a/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json b/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json index e25a9e00448..efdbf79a862 100644 --- a/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json +++ b/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json @@ -4,11 +4,11 @@ "comment" : "Out of gas undoes the transient storage writes from a call.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "9d2e4e7df91a6bf17c6317b41086329a31e3c42323ea1f3cddd75774bd378294", + "generatedTestHash" : "59194bc10a6789eafa733d21c13ca3bd3dc7a052369f7fe0431a7bd4d1bf0132", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml", - "sourceHash" : "4235592180684fdc99433ff30dd76d4f7d04dda033d5d6ab74bdfeab5d6335fc" + "sourceHash" : "f53145dcf525bdb7b85aaab7bd752210c256ae38515a3025f7bbc2d933c35ffd" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,7 +23,7 @@ "post" : { "Merge+1153" : [ { - "hash" : "0xf3b3cd2eb68ff467247a9a4f27c04bf669274ef0e19cb3f83a0bb612c2bb5888", + "hash" : "0x38495fa3ca9a6eb7c47368e99eaba14e8ea689f8da4a0a4dd3fd9697c052be48", "indexes" : { "data" : 0, "gas" : 0, @@ -37,7 +37,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x60056096565b63e2da2eb08114602257633f3716928114602c5760016002556033565b60286038565b6033565b60326048565b5b5060a6565b600b6000b4622fffff600020505b565b604e6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061c350f1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "code" : "0x60056091565b63e2da2eb08114601d57633f3716928114602757602e565b60236033565b602e565b602d6043565b5b5060a1565b600b6000b4622fffff600020505b565b604e6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061c350f1806002556000b360015550505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", diff --git a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml index 0dc304d9b67..1dc9b821a85 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml @@ -35,10 +35,6 @@ doNStores(n) } - default { - sstore(0, 5) - } - function doCall(n) { mstore(0, hex"f7d6c0eb") // doNStores(n) mstore(32, n) diff --git a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml index 25d0c596294..6e344d2ab34 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml @@ -1,9 +1,7 @@ # 16 # TLOAD(x) should cost 100 gas # -# Expect storage slot 0 of address a to be 100, representing the gas of sload. -# Expect storage slot 1 of address a to be 100, representing the gas of tload. -# Expect storage slot 2 of address a to be 1, representing sload and tload have equal gas. +# Expect storage slot 0 of address a to be 100, representing the gas of tload. 16_tloadGas: _info: diff --git a/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml index 20639f9b0f7..e0e7222fd9f 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml @@ -1,10 +1,7 @@ # 17 # Tstore arbitrary value in arbitrary slot costs 100 gas : TSTORE(x, y) costs 100 gas. # -# Expect storage slot 0 to be 100. Cost of warm sstore of dirty slot. # Expect storage slot 1 to be 100. Cost of tstore. -# Expect storage slot 2 to be 1. tstore gas and sstore gas should be equal. -# Expect storage slot 5 to be 2 from the last sstore. 17_tstoreGas: _info: diff --git a/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml index f5b5a27852f..47461f1c208 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml @@ -34,10 +34,6 @@ doReenter() } - default { - sstore(2, 1) - } - function doStoreAndRevert() { verbatim_2i_0o(hex"b4", 0, 11) let hash := keccak256(0, 0x2fffff) diff --git a/src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml index 6fb05acb187..219b002ae68 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml @@ -71,7 +71,6 @@ result: 000000000000000000000000000000000000000A: storage: - # expect .. 0xa: 0x05 0xb: 0x05 0xc: 0 From 87c71ff6e89ffe52df43940a017da0ac07817eff Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 16:39:16 -0500 Subject: [PATCH 52/56] 21 cleanup, remove repeated tstore, bump n --- .../stEIP1153/21_tstoreCannotBeDosdOOO.json | 12 ++++++------ .../stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml | 5 ++--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json b/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json index add65b0e2a4..28febf58a1f 100644 --- a/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json +++ b/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json @@ -4,11 +4,11 @@ "comment" : "Transient storage cannot be DOS’d.", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "35df1edbd9eac02cc744a3209a3af68a72d612a4d7de69e77b54b1966951d822", + "generatedTestHash" : "74e43405216e55e82fc36bb9614b65df23ec999b6548eedfd264f8434bafb836", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml", - "sourceHash" : "222db3fd2cdecda0f359a0da32876546d44f11e8c121544400cbe48b541d6fcb" + "sourceHash" : "1daf1e00bfecf7c42720665127626cb728bb19aa37ca3d56f35a8368bb70a333" }, "env" : { "currentBaseFee" : "0x0a", @@ -23,21 +23,21 @@ "post" : { "Merge+1153" : [ { - "hash" : "0x75b01ac1507dde6b652404ebc47f31e1a2daa781fe32801d3c8a8df1d21a175f", + "hash" : "0x2cc978ef47ee1c46aebd25df31d25d0dfdcb8ebbf8777f4de282b4b0d354346c", "indexes" : { "data" : 0, "gas" : 0, "value" : 0 }, "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "txbytes" : "0x02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e80000000000000000000000000000000000000000000000000000000000013880c080a0135ff76fa8cfe6290737dd4f602dff9edea97f60dc89ab551e8ae6c5c6856cd9a017bf177ff6aa40eec3ecad5ff25ea73b5e0c7087ee630ecf9ec43ee63188eb3d" + "txbytes" : "0x02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e800000000000000000000000000000000000000000000000000000000000186a0c080a04b2d97b890bc7ccf4df3feeaa6f49870625163b2d5cf98f12b246c4f226e609da07098394b4613c99c1ad2c30cba3ee2dcbeca900d7c87a053827d98a72947a87e" } ] }, "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x0de0b6b3a7640000", - "code" : "0x6100076100ff565b63883264e881146100275763f7d6c0eb8114610039576005600055610047565b6004356100338161004d565b50610047565b60203561004581610099565b505b5061010f565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b818110156100f15761025881b460028106600081600081146100c957600181146100d6576100e2565b83915061025884b46100e2565b83600003915061025882b45b5050505b6001810190506100a0565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", + "code" : "0x600560e9565b63883264e8811460225763f7d6c0eb81146031576005600055603d565b600435602c816042565b50603d565b602035603b81608e565b505b5060f9565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560db57600281066000816000811460b5576001811460c15760cd565b83915061025884b460cd565b83600003915061025882b45b5050505b6001810190506095565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0xffff", @@ -59,7 +59,7 @@ ] ], "data" : [ - "0x883264e80000000000000000000000000000000000000000000000000000000000013880" + "0x883264e800000000000000000000000000000000000000000000000000000000000186a0" ], "gasLimit" : [ "0x01c9c380" diff --git a/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml b/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml index f37fed0a0e5..257902c53b8 100644 --- a/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml +++ b/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml @@ -55,7 +55,6 @@ function doNStores(n) { let i for {i := 0 } lt(i, n) { i := add(i, 1) } { - verbatim_2i_0o(hex"b4", i, 600) let even := mod(i, 2) let index switch even @@ -86,7 +85,7 @@ transaction: data: - - data: :abi doCall(uint) 0x13880 + - data: :abi doCall(uint) 0x186A0 accessList: [] gasLimit: - "30000000" @@ -106,4 +105,4 @@ storage: 0x00: 0 0x01: 0 - 0x02: 0x13880 + 0x02: 0x186A0 From a507461649b5d7a885478c8012784314d2596771 Mon Sep 17 00:00:00 2001 From: Sara Reynolds Date: Fri, 16 Dec 2022 16:50:39 -0500 Subject: [PATCH 53/56] bc tests cleanup --- .../tloadDoesNotPersistAcrossBlocks.json | 44 +++++++++---------- .../tloadDoesNotPersistCrossTxn.json | 32 +++++++------- .../tloadDoesNotPersistAcrossBlocksFiller.yml | 4 -- .../tloadDoesNotPersistCrossTxnFiller.yml | 4 -- 4 files changed, 38 insertions(+), 46 deletions(-) diff --git a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json index 39ef6f4a50a..dac4ccb99f8 100644 --- a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json +++ b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json @@ -4,11 +4,11 @@ "comment" : "", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "123a6cac87fcbb468994089624cc1b79e17b13f4b488fb09406bb50a1a109e5f", + "generatedTestHash" : "4a56662876726adc8218de3851df03af0c765563d2fc312c9f258b420dba8400", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml", - "sourceHash" : "71e7cd9b61f058cdc561de32e13aa04b0de8a88e559a659aff55b8ee5172dd0c" + "sourceHash" : "cdfe8ed8cee91d14260685e992ea0333515a7e477777c14b564fe6d0a24e13e9" }, "blocks" : [ { @@ -19,21 +19,21 @@ "difficulty" : "0x00", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", - "gasUsed" : "0xa9f6", - "hash" : "0x611dbf6bc45105b4f9d1ad5656ec50e9f78e61b376db8bc468f67144ff955b12", + "gasUsed" : "0xa9f4", + "hash" : "0xe1ec57db4bf082ed8f2928ad4b4c609b7851f07cbbcee18316b424db78af01dd", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x01", - "parentHash" : "0x5be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226", - "receiptTrie" : "0x58d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778", - "stateRoot" : "0x25f0cbc82610386761c31c08f0b5d4e329e4442985648666040c6c5e5d15708a", + "parentHash" : "0x0831bbf8ec7060f53ecd9c2d72c5830eff33c4c46d5216c25f2d0233141be528", + "receiptTrie" : "0x99c74ece9c6784b58036e18bf771ddf994fd0da2d620d7c5efbeddadbf2c96bc", + "stateRoot" : "0x9832168efe1501e5fab8a7bba1790204635794453ac310e3973050239db7ead5", "timestamp" : "0x079e", "transactionsTrie" : "0xaa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcd", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "1", "chainname" : "default", - "rlp" : "0xf90272f901fca05be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a025f0cbc82610386761c31c08f0b5d4e329e4442985648666040c6c5e5d15708aa0aa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcda058d5e0da4ffa116e9640437af02385c55f2ccda65ddafa68343766b35eb50778b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800188016345785d8a000082a9f682079e42a0000000000000000000000000000000000000000000000000000000000002000088000000000000000082036bf870b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603c0", + "rlp" : "0xf90272f901fca00831bbf8ec7060f53ecd9c2d72c5830eff33c4c46d5216c25f2d0233141be528a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a09832168efe1501e5fab8a7bba1790204635794453ac310e3973050239db7ead5a0aa7e8383c944c425e964822d7d780e758a7c380d3791bcade2b499257c292bcda099c74ece9c6784b58036e18bf771ddf994fd0da2d620d7c5efbeddadbf2c96bcb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800188016345785d8a000082a9f482079e42a0000000000000000000000000000000000000000000000000000000000002000088000000000000000082036bf870b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603c0", "transactions" : [ { "accessList" : [ @@ -63,21 +63,21 @@ "difficulty" : "0x00", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", - "gasUsed" : "0x540b", - "hash" : "0xe3ea3cf9298aa33d878aeca13de4976887c969b75e8ee5010d50578e3ea8619b", + "gasUsed" : "0x5409", + "hash" : "0x1ca490a47ff406c3c130434be802155e6da246cc6de9c3e9aabcce7522e233c8", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x02", - "parentHash" : "0x611dbf6bc45105b4f9d1ad5656ec50e9f78e61b376db8bc468f67144ff955b12", - "receiptTrie" : "0xb82d09a2aa28e30e8dc2b38336742f7f0b8c5705a45451e72d6d88424fd5cb60", - "stateRoot" : "0xe01efa0d9b15746045afaee8879d4ef58d820eaccfe66215721bf37c8eb70741", + "parentHash" : "0xe1ec57db4bf082ed8f2928ad4b4c609b7851f07cbbcee18316b424db78af01dd", + "receiptTrie" : "0x9cf15d51ff40d0a75594b79920a56010c279e3b8166d3ac3c91dd82808d82bd3", + "stateRoot" : "0x79e3463c25ba0f35137a6324043e8066bca80a951013441f0cba0a396502679e", "timestamp" : "0x0b86", "transactionsTrie" : "0xda0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "2", "chainname" : "default", - "rlp" : "0xf90272f901fca0611dbf6bc45105b4f9d1ad5656ec50e9f78e61b376db8bc468f67144ff955b12a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0e01efa0d9b15746045afaee8879d4ef58d820eaccfe66215721bf37c8eb70741a0da0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904a0b82d09a2aa28e30e8dc2b38336742f7f0b8c5705a45451e72d6d88424fd5cb60b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800288016345785d8a000082540b820b8642a000000000000000000000000000000000000000000000000000000000000200008800000000000000008202fef870b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", + "rlp" : "0xf90272f901fca0e1ec57db4bf082ed8f2928ad4b4c609b7851f07cbbcee18316b424db78af01dda01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a079e3463c25ba0f35137a6324043e8066bca80a951013441f0cba0a396502679ea0da0f4a390f88121c99ca5bc764bd01522d25ab1bbd6a71670072744eed1e8904a09cf15d51ff40d0a75594b79920a56010c279e3b8166d3ac3c91dd82808d82bd3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800288016345785d8a0000825409820b8642a000000000000000000000000000000000000000000000000000000000000200008800000000000000008202fef870b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", "transactions" : [ { "accessList" : [ @@ -108,38 +108,38 @@ "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0x00", - "hash" : "0x5be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226", + "hash" : "0x0831bbf8ec7060f53ecd9c2d72c5830eff33c4c46d5216c25f2d0233141be528", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x00", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "stateRoot" : "0xa72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5", + "stateRoot" : "0x354ba2d34b468f72dce1533103a27a7cba0e6bce9563446475fa74ffb83353d0", "timestamp" : "0x03b6", "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, - "genesisRLP" : "0xf901fff901faa00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0a72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000808088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000200008800000000000000008203e8c0c0", - "lastblockhash" : "0xe3ea3cf9298aa33d878aeca13de4976887c969b75e8ee5010d50578e3ea8619b", + "genesisRLP" : "0xf901fff901faa00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0354ba2d34b468f72dce1533103a27a7cba0e6bce9563446475fa74ffb83353d0a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000808088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000200008800000000000000008203e8c0c0", + "lastblockhash" : "0x1ca490a47ff406c3c130434be802155e6da246cc6de9c3e9aabcce7522e233c8", "network" : "Merge+1153", "postState" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x01000000000000000000", - "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6005604e565b630accf7398114601d576343ac1c398114602757602e565b60236033565b602e565b602d6043565b5b50605e565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0x5a" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffcbe9d43", + "balance" : "0xfffffffffffcbeaa19", "code" : "0x", "nonce" : "0x02", "storage" : { } }, "0xba5e000000000000000000000000000000000000" : { - "balance" : "0xfe01", + "balance" : "0xfdfd", "code" : "0x", "nonce" : "0x00", "storage" : { @@ -149,7 +149,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x01000000000000000000", - "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6005604e565b630accf7398114601d576343ac1c398114602757602e565b60236033565b602e565b602d6043565b5b50605e565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x01" : "0xffff" diff --git a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json index 62d980788cf..eb9feb57354 100644 --- a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json +++ b/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json @@ -4,11 +4,11 @@ "comment" : "", "filling-rpc-server" : "evm version 1.11.0-unstable-1b8a3921-20221128", "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.17808a69.Linux.g++", - "generatedTestHash" : "bb09c61547db9041c6cea513dbc2f2ce9f1dc60dd5db09f7e4cb32549b575cf7", + "generatedTestHash" : "6be5ed3ef4e68396ec338a499596f7cc2110ba657dadc406ee8c1b9aa65e765c", "lllcversion" : "Version: 0.5.14-develop.2022.11.29+commit.a096d7a9.Linux.g++", "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", "source" : "src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml", - "sourceHash" : "fbaed198418655708c3f7ae248220aa4e71e127ed2cf73d67c4aebb51dce4559" + "sourceHash" : "9106d706ad6701b26910cf17a260b6e552c61340180753956d2dddee33866b19" }, "blocks" : [ { @@ -19,21 +19,21 @@ "difficulty" : "0x00", "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", - "gasUsed" : "0xfe01", - "hash" : "0xbfa142db8b12221cb2c1e2d95dc9aad110f4c72d2863e6c3ef582fb56c16ab3b", + "gasUsed" : "0xfdfd", + "hash" : "0xd5d8e5e2b1542673d84bfe91ece9fa8288943ac957e4b06f01f68dfa5fa9c6f8", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x01", - "parentHash" : "0x5be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226", - "receiptTrie" : "0x2c87fff9ef2ef91295a810e6e65b424362f21769196f4d375d8ed306da715cdb", - "stateRoot" : "0xc228c0e158d91f3c0add09711d1a0b880a55fbffc60d880334d58e8269930384", + "parentHash" : "0x0831bbf8ec7060f53ecd9c2d72c5830eff33c4c46d5216c25f2d0233141be528", + "receiptTrie" : "0xcc3faa01c0403a28996a533aeb6133ced02941df0541b75f8f32a16619362dac", + "stateRoot" : "0x480af4ccbbc35800d4f068b431e89d51784dcdc4e5f8965c9bd911ad2f49ffb4", "timestamp" : "0x079e", "transactionsTrie" : "0x14a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "1", "chainname" : "default", - "rlp" : "0xf902e2f901fca05be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0c228c0e158d91f3c0add09711d1a0b880a55fbffc60d880334d58e8269930384a014a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51a02c87fff9ef2ef91295a810e6e65b424362f21769196f4d375d8ed306da715cdbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800188016345785d8a000082fe0182079e42a0000000000000000000000000000000000000000000000000000000000002000088000000000000000082036bf8e0b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", + "rlp" : "0xf902e2f901fca00831bbf8ec7060f53ecd9c2d72c5830eff33c4c46d5216c25f2d0233141be528a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0480af4ccbbc35800d4f068b431e89d51784dcdc4e5f8965c9bd911ad2f49ffb4a014a190132d5acef90a958c950643058383a50f8221837fee1a12b75710e44f51a0cc3faa01c0403a28996a533aeb6133ced02941df0541b75f8f32a16619362dacb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800188016345785d8a000082fdfd82079e42a0000000000000000000000000000000000000000000000000000000000002000088000000000000000082036bf8e0b86e02f86b0180018203e885e8d4a5100094000000000000000000000000000000000000000a80840accf739c001a012d2b2fdd72b664f1cb63fd9e6b137f4695e2d7fa1c2ac517e0561b57bac39f0a0051de0849dfa8564def63103c582eaf728794fb0e92a4d691fa1adfc0e6c8603b86e02f86b0101018203e885e8d4a5100094000000000000000000000000000000000000000a808443ac1c39c080a019a564e377bfb32e1c5125a15b2708f63b883720eddcfe7c4b4b07a22a1c1051a011303d2f45b5e07e7ecab491fce55b10ecb9b338f44fc15bce7ba9ef63ce8ca5c0", "transactions" : [ { "accessList" : [ @@ -80,38 +80,38 @@ "extraData" : "0x42", "gasLimit" : "0x016345785d8a0000", "gasUsed" : "0x00", - "hash" : "0x5be49b107bf73765d9f564fa0a1a8e5ab829501091ab2049945f00f2dd07d226", + "hash" : "0x0831bbf8ec7060f53ecd9c2d72c5830eff33c4c46d5216c25f2d0233141be528", "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", "nonce" : "0x0000000000000000", "number" : "0x00", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "stateRoot" : "0xa72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5", + "stateRoot" : "0x354ba2d34b468f72dce1533103a27a7cba0e6bce9563446475fa74ffb83353d0", "timestamp" : "0x03b6", "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, - "genesisRLP" : "0xf901fff901faa00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0a72b49bafabb2b8db966e0baeaabb5fe5873c47c72dc32b33a7ada5e1004eef5a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000808088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000200008800000000000000008203e8c0c0", - "lastblockhash" : "0xbfa142db8b12221cb2c1e2d95dc9aad110f4c72d2863e6c3ef582fb56c16ab3b", + "genesisRLP" : "0xf901fff901faa00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ba5e000000000000000000000000000000000000a0354ba2d34b468f72dce1533103a27a7cba0e6bce9563446475fa74ffb83353d0a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000808088016345785d8a0000808203b642a000000000000000000000000000000000000000000000000000000000000200008800000000000000008203e8c0c0", + "lastblockhash" : "0xd5d8e5e2b1542673d84bfe91ece9fa8288943ac957e4b06f01f68dfa5fa9c6f8", "network" : "Merge+1153", "postState" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x01000000000000000000", - "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6005604e565b630accf7398114601d576343ac1c398114602757602e565b60236033565b602e565b602d6043565b5b50605e565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x00" : "0x5a" } }, "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffc9ad494", + "balance" : "0xfffffffffffc9ae244", "code" : "0x", "nonce" : "0x02", "storage" : { } }, "0xba5e000000000000000000000000000000000000" : { - "balance" : "0xfe01", + "balance" : "0xfdfd", "code" : "0x", "nonce" : "0x00", "storage" : { @@ -121,7 +121,7 @@ "pre" : { "0x000000000000000000000000000000000000000a" : { "balance" : "0x01000000000000000000", - "code" : "0x60056053565b630accf73981146022576343ac1c398114602c5760016000556033565b60286038565b6033565b60326048565b5b50607f565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000357c010000000000000000000000000000000000000000000000000000000081049150505b90565b", + "code" : "0x6005604e565b630accf7398114601d576343ac1c398114602757602e565b60236033565b602e565b602d6043565b5b50605e565b605a6000b46000b380600055505b565b6000b380600155505b565b60006000358060e01c9150505b90565b", "nonce" : "0x00", "storage" : { "0x01" : "0xffff" diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml index 9b45b804355..8a83a5ce3bf 100644 --- a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml +++ b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml @@ -39,10 +39,6 @@ tloadDoesNotPersistAcrossBlocks: doLoad() } - default { - sstore(0, 1) - } - function doStoreAndLoad() { verbatim_2i_0o(hex"b4", 0, 90) let v := verbatim_1i_1o(hex"b3", 0) diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml index 96bfe147a7d..0e42d1b3e8e 100644 --- a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml +++ b/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml @@ -39,10 +39,6 @@ tloadDoesNotPersistCrossTxn: doLoad() } - default { - sstore(0, 1) - } - function doStoreAndLoad() { verbatim_2i_0o(hex"b4", 0, 90) let v := verbatim_1i_1o(hex"b3", 0) From 23e5a67b6384e8283f977f9037dddbbd354d2e59 Mon Sep 17 00:00:00 2001 From: Dimitry Kh Date: Wed, 4 Jan 2023 10:57:37 +0100 Subject: [PATCH 54/56] move stEIP1153 to EIPTests folder --- .../{ => EIPTests}/stEIP1153/01_tloadBeginningTxn.json | 0 .../{ => EIPTests}/stEIP1153/02_tloadAfterTstore.json | 0 .../{ => EIPTests}/stEIP1153/03_tloadAfterStoreIs0.json | 0 GeneralStateTests/{ => EIPTests}/stEIP1153/04_tloadAfterCall.json | 0 .../{ => EIPTests}/stEIP1153/05_tloadReentrancy.json | 0 .../{ => EIPTests}/stEIP1153/06_tstoreInReentrancyCall.json | 0 .../{ => EIPTests}/stEIP1153/07_tloadAfterReentrancyStore.json | 0 .../{ => EIPTests}/stEIP1153/08_revertUndoesTransientStore.json | 0 .../{ => EIPTests}/stEIP1153/09_revertUndoesAll.json | 0 .../{ => EIPTests}/stEIP1153/10_revertUndoesStoreAfterReturn.json | 0 .../{ => EIPTests}/stEIP1153/11_tstoreDelegateCall.json | 0 .../{ => EIPTests}/stEIP1153/12_tloadDelegateCall.json | 0 .../{ => EIPTests}/stEIP1153/13_tloadStaticCall.json | 0 .../{ => EIPTests}/stEIP1153/14_revertAfterNestedStaticcall.json | 0 .../{ => EIPTests}/stEIP1153/15_tstoreCannotBeDosd.json | 0 GeneralStateTests/{ => EIPTests}/stEIP1153/16_tloadGas.json | 0 GeneralStateTests/{ => EIPTests}/stEIP1153/17_tstoreGas.json | 0 .../{ => EIPTests}/stEIP1153/18_tloadAfterStore.json | 0 .../{ => EIPTests}/stEIP1153/19_oogUndoesTransientStore.json | 0 .../stEIP1153/20_oogUndoesTransientStoreInCall.json | 0 .../{ => EIPTests}/stEIP1153/21_tstoreCannotBeDosdOOO.json | 0 .../{ => EIPTests}/stEIP1153/01_tloadBeginningTxnFiller.yml | 0 .../{ => EIPTests}/stEIP1153/02_tloadAfterTstoreFiller.yml | 0 .../{ => EIPTests}/stEIP1153/03_tloadAfterStoreIs0Filler.yml | 0 .../{ => EIPTests}/stEIP1153/04_tloadAfterCallFiller.yml | 0 .../{ => EIPTests}/stEIP1153/05_tloadReentrancyFiller.yml | 0 .../{ => EIPTests}/stEIP1153/06_tstoreInReentrancyCallFiller.yml | 0 .../stEIP1153/07_tloadAfterReentrancyStoreFiller.yml | 0 .../stEIP1153/08_revertUndoesTransientStoreFiller.yml | 0 .../{ => EIPTests}/stEIP1153/09_revertUndoesAllFiller.yml | 0 .../stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml | 0 .../{ => EIPTests}/stEIP1153/11_tstoreDelegateCallFiller.yml | 0 .../{ => EIPTests}/stEIP1153/12_tloadDelegateCallFiller.yml | 0 .../{ => EIPTests}/stEIP1153/13_tloadStaticCallFiller.yml | 0 .../stEIP1153/14_revertAfterNestedStaticcallFiller.yml | 0 .../{ => EIPTests}/stEIP1153/15_tstoreCannotBeDosdFiller.yml | 0 .../{ => EIPTests}/stEIP1153/16_tloadGasFiller.yml | 0 .../{ => EIPTests}/stEIP1153/17_tstoreGasFiller.yml | 0 .../{ => EIPTests}/stEIP1153/18_tloadAfterStoreFiller.yml | 0 .../{ => EIPTests}/stEIP1153/19_oogUndoesTransientStoreFiller.yml | 0 .../stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml | 0 .../{ => EIPTests}/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml | 0 42 files changed, 0 insertions(+), 0 deletions(-) rename GeneralStateTests/{ => EIPTests}/stEIP1153/01_tloadBeginningTxn.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/02_tloadAfterTstore.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/03_tloadAfterStoreIs0.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/04_tloadAfterCall.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/05_tloadReentrancy.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/06_tstoreInReentrancyCall.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/07_tloadAfterReentrancyStore.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/08_revertUndoesTransientStore.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/09_revertUndoesAll.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/10_revertUndoesStoreAfterReturn.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/11_tstoreDelegateCall.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/12_tloadDelegateCall.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/13_tloadStaticCall.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/14_revertAfterNestedStaticcall.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/15_tstoreCannotBeDosd.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/16_tloadGas.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/17_tstoreGas.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/18_tloadAfterStore.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/19_oogUndoesTransientStore.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/20_oogUndoesTransientStoreInCall.json (100%) rename GeneralStateTests/{ => EIPTests}/stEIP1153/21_tstoreCannotBeDosdOOO.json (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/01_tloadBeginningTxnFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/02_tloadAfterTstoreFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/03_tloadAfterStoreIs0Filler.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/04_tloadAfterCallFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/05_tloadReentrancyFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/06_tstoreInReentrancyCallFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/08_revertUndoesTransientStoreFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/09_revertUndoesAllFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/11_tstoreDelegateCallFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/12_tloadDelegateCallFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/13_tloadStaticCallFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/14_revertAfterNestedStaticcallFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/15_tstoreCannotBeDosdFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/16_tloadGasFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/17_tstoreGasFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/18_tloadAfterStoreFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/19_oogUndoesTransientStoreFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml (100%) rename src/GeneralStateTestsFiller/{ => EIPTests}/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml (100%) diff --git a/GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json b/GeneralStateTests/EIPTests/stEIP1153/01_tloadBeginningTxn.json similarity index 100% rename from GeneralStateTests/stEIP1153/01_tloadBeginningTxn.json rename to GeneralStateTests/EIPTests/stEIP1153/01_tloadBeginningTxn.json diff --git a/GeneralStateTests/stEIP1153/02_tloadAfterTstore.json b/GeneralStateTests/EIPTests/stEIP1153/02_tloadAfterTstore.json similarity index 100% rename from GeneralStateTests/stEIP1153/02_tloadAfterTstore.json rename to GeneralStateTests/EIPTests/stEIP1153/02_tloadAfterTstore.json diff --git a/GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json b/GeneralStateTests/EIPTests/stEIP1153/03_tloadAfterStoreIs0.json similarity index 100% rename from GeneralStateTests/stEIP1153/03_tloadAfterStoreIs0.json rename to GeneralStateTests/EIPTests/stEIP1153/03_tloadAfterStoreIs0.json diff --git a/GeneralStateTests/stEIP1153/04_tloadAfterCall.json b/GeneralStateTests/EIPTests/stEIP1153/04_tloadAfterCall.json similarity index 100% rename from GeneralStateTests/stEIP1153/04_tloadAfterCall.json rename to GeneralStateTests/EIPTests/stEIP1153/04_tloadAfterCall.json diff --git a/GeneralStateTests/stEIP1153/05_tloadReentrancy.json b/GeneralStateTests/EIPTests/stEIP1153/05_tloadReentrancy.json similarity index 100% rename from GeneralStateTests/stEIP1153/05_tloadReentrancy.json rename to GeneralStateTests/EIPTests/stEIP1153/05_tloadReentrancy.json diff --git a/GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json b/GeneralStateTests/EIPTests/stEIP1153/06_tstoreInReentrancyCall.json similarity index 100% rename from GeneralStateTests/stEIP1153/06_tstoreInReentrancyCall.json rename to GeneralStateTests/EIPTests/stEIP1153/06_tstoreInReentrancyCall.json diff --git a/GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json b/GeneralStateTests/EIPTests/stEIP1153/07_tloadAfterReentrancyStore.json similarity index 100% rename from GeneralStateTests/stEIP1153/07_tloadAfterReentrancyStore.json rename to GeneralStateTests/EIPTests/stEIP1153/07_tloadAfterReentrancyStore.json diff --git a/GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json b/GeneralStateTests/EIPTests/stEIP1153/08_revertUndoesTransientStore.json similarity index 100% rename from GeneralStateTests/stEIP1153/08_revertUndoesTransientStore.json rename to GeneralStateTests/EIPTests/stEIP1153/08_revertUndoesTransientStore.json diff --git a/GeneralStateTests/stEIP1153/09_revertUndoesAll.json b/GeneralStateTests/EIPTests/stEIP1153/09_revertUndoesAll.json similarity index 100% rename from GeneralStateTests/stEIP1153/09_revertUndoesAll.json rename to GeneralStateTests/EIPTests/stEIP1153/09_revertUndoesAll.json diff --git a/GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json b/GeneralStateTests/EIPTests/stEIP1153/10_revertUndoesStoreAfterReturn.json similarity index 100% rename from GeneralStateTests/stEIP1153/10_revertUndoesStoreAfterReturn.json rename to GeneralStateTests/EIPTests/stEIP1153/10_revertUndoesStoreAfterReturn.json diff --git a/GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json b/GeneralStateTests/EIPTests/stEIP1153/11_tstoreDelegateCall.json similarity index 100% rename from GeneralStateTests/stEIP1153/11_tstoreDelegateCall.json rename to GeneralStateTests/EIPTests/stEIP1153/11_tstoreDelegateCall.json diff --git a/GeneralStateTests/stEIP1153/12_tloadDelegateCall.json b/GeneralStateTests/EIPTests/stEIP1153/12_tloadDelegateCall.json similarity index 100% rename from GeneralStateTests/stEIP1153/12_tloadDelegateCall.json rename to GeneralStateTests/EIPTests/stEIP1153/12_tloadDelegateCall.json diff --git a/GeneralStateTests/stEIP1153/13_tloadStaticCall.json b/GeneralStateTests/EIPTests/stEIP1153/13_tloadStaticCall.json similarity index 100% rename from GeneralStateTests/stEIP1153/13_tloadStaticCall.json rename to GeneralStateTests/EIPTests/stEIP1153/13_tloadStaticCall.json diff --git a/GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json b/GeneralStateTests/EIPTests/stEIP1153/14_revertAfterNestedStaticcall.json similarity index 100% rename from GeneralStateTests/stEIP1153/14_revertAfterNestedStaticcall.json rename to GeneralStateTests/EIPTests/stEIP1153/14_revertAfterNestedStaticcall.json diff --git a/GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json b/GeneralStateTests/EIPTests/stEIP1153/15_tstoreCannotBeDosd.json similarity index 100% rename from GeneralStateTests/stEIP1153/15_tstoreCannotBeDosd.json rename to GeneralStateTests/EIPTests/stEIP1153/15_tstoreCannotBeDosd.json diff --git a/GeneralStateTests/stEIP1153/16_tloadGas.json b/GeneralStateTests/EIPTests/stEIP1153/16_tloadGas.json similarity index 100% rename from GeneralStateTests/stEIP1153/16_tloadGas.json rename to GeneralStateTests/EIPTests/stEIP1153/16_tloadGas.json diff --git a/GeneralStateTests/stEIP1153/17_tstoreGas.json b/GeneralStateTests/EIPTests/stEIP1153/17_tstoreGas.json similarity index 100% rename from GeneralStateTests/stEIP1153/17_tstoreGas.json rename to GeneralStateTests/EIPTests/stEIP1153/17_tstoreGas.json diff --git a/GeneralStateTests/stEIP1153/18_tloadAfterStore.json b/GeneralStateTests/EIPTests/stEIP1153/18_tloadAfterStore.json similarity index 100% rename from GeneralStateTests/stEIP1153/18_tloadAfterStore.json rename to GeneralStateTests/EIPTests/stEIP1153/18_tloadAfterStore.json diff --git a/GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json b/GeneralStateTests/EIPTests/stEIP1153/19_oogUndoesTransientStore.json similarity index 100% rename from GeneralStateTests/stEIP1153/19_oogUndoesTransientStore.json rename to GeneralStateTests/EIPTests/stEIP1153/19_oogUndoesTransientStore.json diff --git a/GeneralStateTests/stEIP1153/20_oogUndoesTransientStoreInCall.json b/GeneralStateTests/EIPTests/stEIP1153/20_oogUndoesTransientStoreInCall.json similarity index 100% rename from GeneralStateTests/stEIP1153/20_oogUndoesTransientStoreInCall.json rename to GeneralStateTests/EIPTests/stEIP1153/20_oogUndoesTransientStoreInCall.json diff --git a/GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json b/GeneralStateTests/EIPTests/stEIP1153/21_tstoreCannotBeDosdOOO.json similarity index 100% rename from GeneralStateTests/stEIP1153/21_tstoreCannotBeDosdOOO.json rename to GeneralStateTests/EIPTests/stEIP1153/21_tstoreCannotBeDosdOOO.json diff --git a/src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/01_tloadBeginningTxnFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/01_tloadBeginningTxnFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/01_tloadBeginningTxnFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/02_tloadAfterTstoreFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/02_tloadAfterTstoreFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/02_tloadAfterTstoreFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/03_tloadAfterStoreIs0Filler.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/03_tloadAfterStoreIs0Filler.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/03_tloadAfterStoreIs0Filler.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/04_tloadAfterCallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/04_tloadAfterCallFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/04_tloadAfterCallFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/05_tloadReentrancyFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/05_tloadReentrancyFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/05_tloadReentrancyFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/06_tstoreInReentrancyCallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/06_tstoreInReentrancyCallFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/06_tstoreInReentrancyCallFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/08_revertUndoesTransientStoreFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/08_revertUndoesTransientStoreFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/08_revertUndoesTransientStoreFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/09_revertUndoesAllFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/09_revertUndoesAllFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/09_revertUndoesAllFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/11_tstoreDelegateCallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/11_tstoreDelegateCallFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/11_tstoreDelegateCallFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/12_tloadDelegateCallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/12_tloadDelegateCallFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/12_tloadDelegateCallFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/13_tloadStaticCallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/13_tloadStaticCallFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/13_tloadStaticCallFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/14_revertAfterNestedStaticcallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/14_revertAfterNestedStaticcallFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/14_revertAfterNestedStaticcallFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/15_tstoreCannotBeDosdFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/15_tstoreCannotBeDosdFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/15_tstoreCannotBeDosdFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/16_tloadGasFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/16_tloadGasFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/16_tloadGasFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/17_tstoreGasFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/17_tstoreGasFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/17_tstoreGasFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/18_tloadAfterStoreFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/18_tloadAfterStoreFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/18_tloadAfterStoreFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/19_oogUndoesTransientStoreFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/19_oogUndoesTransientStoreFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/19_oogUndoesTransientStoreFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml diff --git a/src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml b/src/GeneralStateTestsFiller/EIPTests/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml similarity index 100% rename from src/GeneralStateTestsFiller/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml rename to src/GeneralStateTestsFiller/EIPTests/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml From 8dd560a3d642e304c3b6928f87ed708962a350d7 Mon Sep 17 00:00:00 2001 From: Dimitry Kh Date: Wed, 4 Jan 2023 11:18:40 +0100 Subject: [PATCH 55/56] fillchain --- .../stEIP1153/01_tloadBeginningTxn.json | 115 ++++++++++++++ .../stEIP1153/02_tloadAfterTstore.json | 115 ++++++++++++++ .../stEIP1153/03_tloadAfterStoreIs0.json | 117 ++++++++++++++ .../EIPTests/stEIP1153/04_tloadAfterCall.json | 132 ++++++++++++++++ .../stEIP1153/05_tloadReentrancy.json | 117 ++++++++++++++ .../stEIP1153/06_tstoreInReentrancyCall.json | 118 ++++++++++++++ .../07_tloadAfterReentrancyStore.json | 117 ++++++++++++++ .../08_revertUndoesTransientStore.json | 117 ++++++++++++++ .../stEIP1153/09_revertUndoesAll.json | 117 ++++++++++++++ .../10_revertUndoesStoreAfterReturn.json | 118 ++++++++++++++ .../stEIP1153/11_tstoreDelegateCall.json | 146 ++++++++++++++++++ .../stEIP1153/12_tloadDelegateCall.json | 130 ++++++++++++++++ .../stEIP1153/13_tloadStaticCall.json | 118 ++++++++++++++ .../14_revertAfterNestedStaticcall.json | 118 ++++++++++++++ .../stEIP1153/15_tstoreCannotBeDosd.json | 117 ++++++++++++++ .../EIPTests/stEIP1153/16_tloadGas.json | 115 ++++++++++++++ .../EIPTests/stEIP1153/17_tstoreGas.json | 115 ++++++++++++++ .../stEIP1153/18_tloadAfterStore.json | 116 ++++++++++++++ .../stEIP1153/19_oogUndoesTransientStore.json | 119 ++++++++++++++ .../20_oogUndoesTransientStoreInCall.json | 133 ++++++++++++++++ .../stEIP1153/21_tstoreCannotBeDosdOOO.json | 118 ++++++++++++++ 21 files changed, 2528 insertions(+) create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/01_tloadBeginningTxn.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/02_tloadAfterTstore.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/03_tloadAfterStoreIs0.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/04_tloadAfterCall.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/05_tloadReentrancy.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/06_tstoreInReentrancyCall.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/07_tloadAfterReentrancyStore.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/08_revertUndoesTransientStore.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/09_revertUndoesAll.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/10_revertUndoesStoreAfterReturn.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/11_tstoreDelegateCall.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/12_tloadDelegateCall.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/13_tloadStaticCall.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/14_revertAfterNestedStaticcall.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/15_tstoreCannotBeDosd.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/16_tloadGas.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/17_tstoreGas.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/18_tloadAfterStore.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/19_oogUndoesTransientStore.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/20_oogUndoesTransientStoreInCall.json create mode 100644 BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/21_tstoreCannotBeDosdOOO.json diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/01_tloadBeginningTxn.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/01_tloadBeginningTxn.json new file mode 100644 index 00000000000..7477a48f3e7 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/01_tloadBeginningTxn.json @@ -0,0 +1,115 @@ +{ + "01_tloadBeginningTxn_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "load arbitrary value is 0 at beginning of transaction", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "544efa085be77fda651a0611254c35d1caa1dea36ea971994e8bf703d32a2717", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/01_tloadBeginningTxnFiller.yml", + "sourceHash" : "dc23bd3268437372eea849e877d4d3feaea15c8a4762c6bf006dc847b5b1b685" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x533f", + "hash" : "0x0387569a9e61be3bbe9f704cd7a212c0dba207309bd7e276c6dbd968a8363c55", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x87a347dbb78b57e7e1345948d9db7e63be6744587bd3f6503e317e466d5a151f", + "receiptTrie" : "0xee87ca54eb8421ce6e9288524fc9ed1f24afa005566eb11f86c4bbf6148d9209", + "stateRoot" : "0xab25bd49990c6706252222ef956a6f42d12e146ece23fad1669dfdd3db6948b9", + "timestamp" : "0x03e8", + "transactionsTrie" : "0xf2083e2df96ed07133b03a55293a5308fe74438c3a3917315c6957c443ce949f", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026df901f9a087a347dbb78b57e7e1345948d9db7e63be6744587bd3f6503e317e466d5a151fa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0ab25bd49990c6706252222ef956a6f42d12e146ece23fad1669dfdd3db6948b9a0f2083e2df96ed07133b03a55293a5308fe74438c3a3917315c6957c443ce949fa0ee87ca54eb8421ce6e9288524fc9ed1f24afa005566eb11f86c4bbf6148d9209b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001871000000000000082533f8203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d0871000000000000094000000000000000000000000000000000000000a8080c001a0371c3eaf9c37702b54b3c60b876db06cb3b1696aad73a1c75e69f5ec6be3b948a01bca3cd059fd1a07106a68a75a6deca879c6d9aecda55a68bcb0163c67b7e787c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x", + "gasLimit" : "0x10000000000000", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x371c3eaf9c37702b54b3c60b876db06cb3b1696aad73a1c75e69f5ec6be3b948", + "s" : "0x1bca3cd059fd1a07106a68a75a6deca879c6d9aecda55a68bcb0163c67b7e787", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0x87a347dbb78b57e7e1345948d9db7e63be6744587bd3f6503e317e466d5a151f", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x2af58d9cd3afd93442689b74e8762aa27f68cd89ebdcca045e86ea1ad4c8a7be", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa02af58d9cd3afd93442689b74e8762aa27f68cd89ebdcca045e86ea1ad4c8a7bea056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x0387569a9e61be3bbe9f704cd7a212c0dba207309bd7e276c6dbd968a8363c55", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b38060015550", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de9cbf8a", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b38060015550", + "nonce" : "0x00", + "storage" : { + "0x01" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/02_tloadAfterTstore.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/02_tloadAfterTstore.json new file mode 100644 index 00000000000..56e7c892027 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/02_tloadAfterTstore.json @@ -0,0 +1,115 @@ +{ + "02_tloadAfterTstore_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "tload from same slot after tstore returns correct value", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "d42aa222eea2280f9232f054bfc39f9c30c1bc4caccbc29274b95718aa02c6db", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/02_tloadAfterTstoreFiller.yml", + "sourceHash" : "010bd043b8ddaabb1c74c094ec709263ee1e5de7ab1baa20a7e282952f9a3cf4" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0xa935", + "hash" : "0x7d99a7055cb23e2d631fd5c10f07adf24fb4960f31abcf76e8ecc2fad92bf9a1", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xbcb924e0d450409f91f4b00a0237d2dc3ab0a1fb43dc864c41cca3ec10c2b0d9", + "receiptTrie" : "0xdd76720471cb7d558899ec79cbf3e37338d597598f15ae62a741c5df9276c854", + "stateRoot" : "0x54e79effd83d6982bbeaa49524a3ca9d83671f346a3cc2f08c066514a296de18", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x20be185f444f32ccc42c3d8e42c2a0f032e6a8ced23178277092c5da3a1fca3e", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026df901f9a0bcb924e0d450409f91f4b00a0237d2dc3ab0a1fb43dc864c41cca3ec10c2b0d9a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa054e79effd83d6982bbeaa49524a3ca9d83671f346a3cc2f08c066514a296de18a020be185f444f32ccc42c3d8e42c2a0f032e6a8ced23178277092c5da3a1fca3ea0dd76720471cb7d558899ec79cbf3e37338d597598f15ae62a741c5df9276c854b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001871000000000000082a9358203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f869018080820fa0871000000000000094000000000000000000000000000000000000000a8080c001a0265982b28582156178323a10f893819c0198e299d3563732d1ab953071309fa1a00e5e9711949eb422c3d73b15f1a7cdbb1ae105002f6b6b792607803576577e91c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x", + "gasLimit" : "0x10000000000000", + "maxFeePerGas" : "0x0fa0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x265982b28582156178323a10f893819c0198e299d3563732d1ab953071309fa1", + "s" : "0x0e5e9711949eb422c3d73b15f1a7cdbb1ae105002f6b6b792607803576577e91", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xbcb924e0d450409f91f4b00a0237d2dc3ab0a1fb43dc864c41cca3ec10c2b0d9", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xa4cdc47d23830ff1da4eee543ffaa09550407e6fdc9b2a423ac94ba2bb36e2b5", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0a4cdc47d23830ff1da4eee543ffaa09550407e6fdc9b2a423ac94ba2bb36e2b5a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x7d99a7055cb23e2d631fd5c10f07adf24fb4960f31abcf76e8ecc2fad92bf9a1", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60586000b46000b38060015550", + "nonce" : "0x00", + "storage" : { + "0x01" : "0x58" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de9963ee", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60586000b46000b38060015550", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/03_tloadAfterStoreIs0.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/03_tloadAfterStoreIs0.json new file mode 100644 index 00000000000..320390cd7d9 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/03_tloadAfterStoreIs0.json @@ -0,0 +1,117 @@ +{ + "03_tloadAfterStoreIs0_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Loading any other slot after storing to a slot returns 0.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "c541d190696f6a51bc363e9c89c4d59471dbd32f4b406f5316ac89282fca9e94", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/03_tloadAfterStoreIs0Filler.yml", + "sourceHash" : "c75e82448ffc19bde474218726343cc8b0e5510429f7eb9cb9d1b00393ee665e" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x53a9", + "hash" : "0x206b917ca83289be60c2096842fa8a5bd713d848f1932df08a8b6c5a1c836a3d", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x96eba7c5f11fa66dcba86ac19d4739e543236f88e43c231ec7c6f67b285740ac", + "receiptTrie" : "0xdae07fb1d6f7029945e50f9b577369779a681a166f3f3474e06326a351850e8c", + "stateRoot" : "0x926913c6a6c7421d95ea872c650e30668aa3007da992516d420c6783a75e76aa", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x2a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231e", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf90269f901f9a096eba7c5f11fa66dcba86ac19d4739e543236f88e43c231ec7c6f67b285740aca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0926913c6a6c7421d95ea872c650e30668aa3007da992516d420c6783a75e76aaa02a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231ea0dae07fb1d6f7029945e50f9b577369779a681a166f3f3474e06326a351850e8cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800187100000000000008253a98203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86ab86802f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0xdcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9a", + "s" : "0x140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x00", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0x96eba7c5f11fa66dcba86ac19d4739e543236f88e43c231ec7c6f67b285740ac", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x2489295de0a6f77b2bf2c292b9c98915727f528d00949a3f3986dc7960649972", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa02489295de0a6f77b2bf2c292b9c98915727f528d00949a3f3986dc7960649972a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x206b917ca83289be60c2096842fa8a5bd713d848f1932df08a8b6c5a1c836a3d", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x601e6000b46001b38060015550", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de9cbb66", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x601e6000b46001b38060015550", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff", + "0x01" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/04_tloadAfterCall.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/04_tloadAfterCall.json new file mode 100644 index 00000000000..32dfac824d6 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/04_tloadAfterCall.json @@ -0,0 +1,132 @@ +{ + "04_tloadAfterCall_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Loading a slot after a call to another contract is 0.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "9d10fbc1bfafa82c231326e090b6d2e09cb488497ceb308220cc11a3e89732f1", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/04_tloadAfterCallFiller.yml", + "sourceHash" : "805f563ddb6ff4f8c834fe73baa94d74979bcf83380159a952f3e3925025269c" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x016234", + "hash" : "0x54c0ae3193c1593993838148ab5e3c01681a8b5f18458b6e8b3ece867854271c", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xef03334b264a93585e60ab17c2865b6fad19e95838d34c2c176ef4dcd284b1bc", + "receiptTrie" : "0x115992821a170b541f5602e38483eec36b2cb6744c8f04bc34d370cd37743668", + "stateRoot" : "0xe3d2b861fc7c3da8e14feb307e85e3bd82efecf25a451ed1cdf0aba0b74c160a", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x2a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231e", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026af901faa0ef03334b264a93585e60ab17c2865b6fad19e95838d34c2c176ef4dcd284b1bca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0e3d2b861fc7c3da8e14feb307e85e3bd82efecf25a451ed1cdf0aba0b74c160aa02a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231ea0115992821a170b541f5602e38483eec36b2cb6744c8f04bc34d370cd37743668b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080018710000000000000830162348203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86ab86802f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0xdcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9a", + "s" : "0x140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x00", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xef03334b264a93585e60ab17c2865b6fad19e95838d34c2c176ef4dcd284b1bc", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x15f24a3529f36bd797f86c2d0b8105f12fbb6209b7991c3f19f18f82b49f0d1f", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa015f24a3529f36bd797f86c2d0b8105f12fbb6209b7991c3f19f18f82b49f0d1fa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x54c0ae3193c1593993838148ab5e3c01681a8b5f18458b6e8b3ece867854271c", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600a6000b460006000602060006000600b5af16000b380600055816001555050", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x0a", + "0x01" : "0x01" + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b38060005560146000b46000b3806001555050", + "nonce" : "0x00", + "storage" : { + "0x01" : "0x14" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de9229f8", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600a6000b460006000602060006000600b5af16000b380600055816001555050", + "nonce" : "0x00", + "storage" : { + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b38060005560146000b46000b3806001555050", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/05_tloadReentrancy.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/05_tloadReentrancy.json new file mode 100644 index 00000000000..440bbd732a2 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/05_tloadReentrancy.json @@ -0,0 +1,117 @@ +{ + "05_tloadReentrancy_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Reentrant calls access the same transient storage.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "a16d66a3641997d0f53964f326d939cd59d23837655697c464b76bbbe90d048e", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/05_tloadReentrancyFiller.yml", + "sourceHash" : "6321b02739a52ddaba1ee43c218403106e8fcf2ae7baee2442dd2640ad1d03e2" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x015820", + "hash" : "0xae3da9dc64bd2aeb64882d71e909ca65b1102b5c70cfc929dbe72b7c95b54781", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xfcb656f15e51865c28da2664e4fc5e92bd4c4939c2c878d37b301e4d08c19833", + "receiptTrie" : "0x63cd048e5bd1bfc744a313222ccf3eb3095a222a5c77e81b5bbd6c530b43785f", + "stateRoot" : "0x2486820720ab16d07f1b1b506c5871a14a03c07429f91f5c8c336845e491e5e8", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2c", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa0fcb656f15e51865c28da2664e4fc5e92bd4c4939c2c878d37b301e4d08c19833a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa02486820720ab16d07f1b1b506c5871a14a03c07429f91f5c8c336845e491e5e8a0815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2ca063cd048e5bd1bfc744a313222ccf3eb3095a222a5c77e81b5bbd6c530b43785fb901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080018710000000000000830158208203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x3f371692", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x6ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78", + "s" : "0x3be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xfcb656f15e51865c28da2664e4fc5e92bd4c4939c2c878d37b301e4d08c19833", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x6a2e5882331495803600cbec883137cd91c5fe55b6e6fe74acb90f154e86405a", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa06a2e5882331495803600cbec883137cd91c5fe55b6e6fe74acb90f154e86405aa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0xae3da9dc64bd2aeb64882d71e909ca65b1102b5c70cfc929dbe72b7c95b54781", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056084565b6343ac1c398114601d57633f3716928114602757602e565b60236033565b602e565b602d603e565b5b506094565b6000b380600155505b565b602c6000b47f43ac1c390000000000000000000000000000000000000000000000000000000060005260006000602060006000305af16000b3806000558160025550505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x2c", + "0x01" : "0x2c", + "0x02" : "0x01" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de928ec0", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056084565b6343ac1c398114601d57633f3716928114602757602e565b60236033565b602e565b602d603e565b5b506094565b6000b380600155505b565b602c6000b47f43ac1c390000000000000000000000000000000000000000000000000000000060005260006000602060006000305af16000b3806000558160025550505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/06_tstoreInReentrancyCall.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/06_tstoreInReentrancyCall.json new file mode 100644 index 00000000000..ab53c1d27fd --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/06_tstoreInReentrancyCall.json @@ -0,0 +1,118 @@ +{ + "06_tstoreInReentrancyCall_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Reentrant calls access the same transient storage.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "05bb7f6602ed3d01807d691dd4f20d8f94479e96661aeb3b0ecd98fbd1b7579d", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/06_tstoreInReentrancyCallFiller.yml", + "sourceHash" : "2b5f24e122dba75a5390649fd543ae7fcb00fe2abcf1c63e16281d1289322e05" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x01af4d", + "hash" : "0x3ab84bf936c51cc3c27d140e33e22f9ea27fa22d18e7bca770bea053c2dcb05b", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x82eb3a0618bccf5075cc775e61faa2c87ccea957fff4296bd4517a2b00d5a68a", + "receiptTrie" : "0xb58acf37d07d220b3bad39fa7ea716f5fe8b509c011bdb185a5712f25d9b766b", + "stateRoot" : "0x55b561edab5415c863927a70fca3b1fa7a8249a317ab4c9e49fb8676da538eee", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2c", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa082eb3a0618bccf5075cc775e61faa2c87ccea957fff4296bd4517a2b00d5a68aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa055b561edab5415c863927a70fca3b1fa7a8249a317ab4c9e49fb8676da538eeea0815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2ca0b58acf37d07d220b3bad39fa7ea716f5fe8b509c011bdb185a5712f25d9b766bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800187100000000000008301af4d8203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x3f371692", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x6ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78", + "s" : "0x3be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0x82eb3a0618bccf5075cc775e61faa2c87ccea957fff4296bd4517a2b00d5a68a", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x6220650ec9a4156381137dfa0a4b9986a5b49f9db8cdc1a3ae8ef291677a20f6", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa06220650ec9a4156381137dfa0a4b9986a5b49f9db8cdc1a3ae8ef291677a20f6a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x3ab84bf936c51cc3c27d140e33e22f9ea27fa22d18e7bca770bea053c2dcb05b", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056091565b630accf7398114601d57633f3716928114602757602e565b60236033565b602e565b602d6043565b5b5060a1565b605a60ffb460ffb380600155505b565b605060ffb460ffb3806000557f0accf7390000000000000000000000000000000000000000000000000000000060005260006000602060006000305af18060025560ffb3806003555050505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x50", + "0x01" : "0x5a", + "0x02" : "0x01", + "0x03" : "0x5a" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de8f26fe", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056091565b630accf7398114601d57633f3716928114602757602e565b60236033565b602e565b602d6043565b5b5060a1565b605a60ffb460ffb380600155505b565b605060ffb460ffb3806000557f0accf7390000000000000000000000000000000000000000000000000000000060005260006000602060006000305af18060025560ffb3806003555050505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/07_tloadAfterReentrancyStore.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/07_tloadAfterReentrancyStore.json new file mode 100644 index 00000000000..b8597f28322 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/07_tloadAfterReentrancyStore.json @@ -0,0 +1,117 @@ +{ + "07_tloadAfterReentrancyStore_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Successfully returned calls do not revert transient storage writes.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "0b0b13dea0b31b45446b01f27515ef2109bd39a01ee36e3a61f667480fb28aa9", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/07_tloadAfterReentrancyStoreFiller.yml", + "sourceHash" : "28a6e199e503eb0c8fc42946701d638602da25af2a65fd0df00c206f26219247" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x015885", + "hash" : "0x6ff90ca89f38adb4e2279eb018abdb04f416c5e0ef85f4d3314d67c7a51e4636", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x2f201729c01837376aae579cf92377685c1eea25f07e3d441745fd01d2fde7ca", + "receiptTrie" : "0x8bada3d258f7184397f6c0b9e823c9be3903025bcb104b8410b1a0e4741172ce", + "stateRoot" : "0xdc9e7809c823b0ca7a455a9a315fe85cdc0c2a0c14b3b777e598e04e37e2b0bf", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2c", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa02f201729c01837376aae579cf92377685c1eea25f07e3d441745fd01d2fde7caa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0dc9e7809c823b0ca7a455a9a315fe85cdc0c2a0c14b3b777e598e04e37e2b0bfa0815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2ca08bada3d258f7184397f6c0b9e823c9be3903025bcb104b8410b1a0e4741172ceb901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080018710000000000000830158858203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x3f371692", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x6ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78", + "s" : "0x3be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0x2f201729c01837376aae579cf92377685c1eea25f07e3d441745fd01d2fde7ca", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x9840f4e0b20e8ffdebc7f4b50256f33b00ffda81c6d0ebf842f09cb87daf91fa", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa09840f4e0b20e8ffdebc7f4b50256f33b00ffda81c6d0ebf842f09cb87daf91faa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x6ff90ca89f38adb4e2279eb018abdb04f416c5e0ef85f4d3314d67c7a51e4636", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056087565b6362fdb9be8114601d57633f3716928114602757602e565b60236033565b602e565b602d603b565b5b506097565b604e6000b45b565b60376000b46000b3806000557f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000305af1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x37", + "0x01" : "0x4e", + "0x02" : "0x01" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de928ace", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056087565b6362fdb9be8114601d57633f3716928114602757602e565b60236033565b602e565b602d603b565b5b506097565b604e6000b45b565b60376000b46000b3806000557f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000305af1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/08_revertUndoesTransientStore.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/08_revertUndoesTransientStore.json new file mode 100644 index 00000000000..b9fced8bfc1 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/08_revertUndoesTransientStore.json @@ -0,0 +1,117 @@ +{ + "08_revertUndoesTransientStore_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Revert undoes the transient storage writes from a call.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "1e6d6b9bb4b7f253195e08ba246bbf107d0b8795e4b7756b19a9f6d949eaf85b", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/08_revertUndoesTransientStoreFiller.yml", + "sourceHash" : "61af2f620ebf501422a3e4caa5e313e91ed0b543cac6c9ab4d0144a8d7a5da52" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x0102dc", + "hash" : "0x8f6b7b9e3c740b74751b5e90c1cff7228b4a0c9c1125db9e05609ba718d66526", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xfe6af560713a42de757496fd19555cf43349189b6b2bdb86979003fee0eca8b8", + "receiptTrie" : "0xdc409909f75076d4a2b67ec3e8d8946f4aedc54a58ca05c912de2dcb9ecafe07", + "stateRoot" : "0xa995941a9b06b9ebc0ed67c7a18c9032f1e1f96b495e7416a0abc8b172b96f8b", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2c", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa0fe6af560713a42de757496fd19555cf43349189b6b2bdb86979003fee0eca8b8a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0a995941a9b06b9ebc0ed67c7a18c9032f1e1f96b495e7416a0abc8b172b96f8ba0815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2ca0dc409909f75076d4a2b67ec3e8d8946f4aedc54a58ca05c912de2dcb9ecafe07b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080018710000000000000830102dc8203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x3f371692", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x6ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78", + "s" : "0x3be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xfe6af560713a42de757496fd19555cf43349189b6b2bdb86979003fee0eca8b8", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xe1b24d5978599569bbaa776ec09af20a98dd834980e6e7e6eac3df692774a75e", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0e1b24d5978599569bbaa776ec09af20a98dd834980e6e7e6eac3df692774a75ea056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x8f6b7b9e3c740b74751b5e90c1cff7228b4a0c9c1125db9e05609ba718d66526", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6005608e565b63e2da2eb08114601d57633f3716928114602757602e565b60236033565b602e565b602d6040565b5b50609e565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x0a", + "0x01" : "0x0a" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de95e368", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6005608e565b63e2da2eb08114601d57633f3716928114602757602e565b60236033565b602e565b602d6040565b5b50609e565b600b6000b460006000fd5b565b600a6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061fffff1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x02" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/09_revertUndoesAll.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/09_revertUndoesAll.json new file mode 100644 index 00000000000..db28526f0fa --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/09_revertUndoesAll.json @@ -0,0 +1,117 @@ +{ + "09_revertUndoesAll_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Revert undoes all the transient storage writes to the same key from the failed call.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "e8796659b5e1b585abdffa8e58a925b55cef6e8c15fbe4395c102a8530c119e2", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/09_revertUndoesAllFiller.yml", + "sourceHash" : "9369585ff984b9ddd59a7cd084448283ec6489e84711bdca2b335b68767c50d2" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x010493", + "hash" : "0xc14e227828a2c00cd850e161533de95bb08d8424f48fbbd92fa72e3aa4219f98", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xa074d561457618c425101e62ac6e1f9ee9b2af0f1095116113b2336c3cc58ff5", + "receiptTrie" : "0xf6ca2c9d9b331c387d98f7a0c20e9885eb26a730b6933f7993c68952af7ce2ee", + "stateRoot" : "0x86e376dc2333668835586e827ddc54ed582a42766550821c32a55fe0bf163789", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2c", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa0a074d561457618c425101e62ac6e1f9ee9b2af0f1095116113b2336c3cc58ff5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa086e376dc2333668835586e827ddc54ed582a42766550821c32a55fe0bf163789a0815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2ca0f6ca2c9d9b331c387d98f7a0c20e9885eb26a730b6933f7993c68952af7ce2eeb901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080018710000000000000830104938203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x3f371692", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x6ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78", + "s" : "0x3be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xa074d561457618c425101e62ac6e1f9ee9b2af0f1095116113b2336c3cc58ff5", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x38fdaeab371fbb6bf09ef326b761c59af63ecfccb422000c638f3cec2967d8bc", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa038fdaeab371fbb6bf09ef326b761c59af63ecfccb422000c638f3cec2967d8bca056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0xc14e227828a2c00cd850e161533de95bb08d8424f48fbbd92fa72e3aa4219f98", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560a2565b633f3716928114601d5763578290e58114602757602e565b6023604f565b602e565b602d6033565b5b5060b2565b60056000b460066000b4600b6001b4600c6001b460006000fd5b565b60046000b4600a6001b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000305af1806000556000b3806001556001b3806002555050505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x01" : "0x04", + "0x02" : "0x0a" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de95d242", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560a2565b633f3716928114601d5763578290e58114602757602e565b6023604f565b602e565b602d6033565b5b5060b2565b60056000b460066000b4600b6001b4600c6001b460006000fd5b565b60046000b4600a6001b47f578290e50000000000000000000000000000000000000000000000000000000060005260006000602060006000305af1806000556000b3806001556001b3806002555050505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/10_revertUndoesStoreAfterReturn.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/10_revertUndoesStoreAfterReturn.json new file mode 100644 index 00000000000..edb2456389a --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/10_revertUndoesStoreAfterReturn.json @@ -0,0 +1,118 @@ +{ + "10_revertUndoesStoreAfterReturn_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Revert undoes the transient storage writes after a successful call.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "aa0e081a3a0f7dfecadd6d9ef59e0da638982e535f4b2f2d0efbc31ada420b33", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/10_revertUndoesStoreAfterReturnFiller.yml", + "sourceHash" : "2cbbf4b6fedc93fcb11c1b0fcbc56921633d844f7ff21ffe81c88320137cff02" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x015a74", + "hash" : "0x5ac409bc98c3190f2012c7ac9720c579d31d98d0c8e3f88840fd32f24359d66e", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x981db03a49f6664ee290b378bc1f3ffa4e757a14a3bed109f2e0ede875630464", + "receiptTrie" : "0x13f3f4f6326d8e27b5581343f52f913f710bac8989999ca88310f00012f86f86", + "stateRoot" : "0xd2f177be40de1178ddff9c199f39691f85b6cab09fb9778f0311dea4d3c109e7", + "timestamp" : "0x03e8", + "transactionsTrie" : "0xc8e9f6d3efc5270003ff0b2bf9a89056371ee66a4020a3e60f4e2767476ff4e4", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa0981db03a49f6664ee290b378bc1f3ffa4e757a14a3bed109f2e0ede875630464a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0d2f177be40de1178ddff9c199f39691f85b6cab09fb9778f0311dea4d3c109e7a0c8e9f6d3efc5270003ff0b2bf9a89056371ee66a4020a3e60f4e2767476ff4e4a013f3f4f6326d8e27b5581343f52f913f710bac8989999ca88310f00012f86f86b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001871000000000000083015a748203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a808470ac643ec001a00d8dd48064b8cff55ab4b25edcee6337b0dee8daaa15a2e3c5a416e6c265a1fea02aeaf3d4c05ddb89967fffd70789db63e4ce3e7c12afdf6dbf61011771f7dd57c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x70ac643e", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x0d8dd48064b8cff55ab4b25edcee6337b0dee8daaa15a2e3c5a416e6c265a1fe", + "s" : "0x2aeaf3d4c05ddb89967fffd70789db63e4ce3e7c12afdf6dbf61011771f7dd57", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0x981db03a49f6664ee290b378bc1f3ffa4e757a14a3bed109f2e0ede875630464", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xd589124f593c2f53d7e8e441c46ca033cb3e3ad204c8debf10a42bf889694d2f", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0d589124f593c2f53d7e8e441c46ca033cb3e3ad204c8debf10a42bf889694d2fa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x5ac409bc98c3190f2012c7ac9720c579d31d98d0c8e3f88840fd32f24359d66e", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x61000761010b565b6370ac643e811461002d576376b85d23811461003a57634ccca553811461004757610050565b610035610056565b610050565b6100426100aa565b610050565b61004f6100e8565b5b5061011b565b60056000b46000b3806000557f76b85d230000000000000000000000000000000000000000000000000000000060005260206000602060006000305af1806001556000516002556000b3806003555050505b565b7f4ccca5530000000000000000000000000000000000000000000000000000000060005260006000602060006000305af18060005260206000fd505b565b60066000b45b565b60008160005260006000602060006000305af190505b919050565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x05", + "0x02" : "0x01", + "0x03" : "0x05" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de927778", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x61000761010b565b6370ac643e811461002d576376b85d23811461003a57634ccca553811461004757610050565b610035610056565b610050565b6100426100aa565b610050565b61004f6100e8565b5b5061011b565b60056000b46000b3806000557f76b85d230000000000000000000000000000000000000000000000000000000060005260206000602060006000305af1806001556000516002556000b3806003555050505b565b7f4ccca5530000000000000000000000000000000000000000000000000000000060005260006000602060006000305af18060005260206000fd505b565b60066000b45b565b60008160005260006000602060006000305af190505b919050565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x01" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/11_tstoreDelegateCall.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/11_tstoreDelegateCall.json new file mode 100644 index 00000000000..148f6d9f070 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/11_tstoreDelegateCall.json @@ -0,0 +1,146 @@ +{ + "11_tstoreDelegateCall_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "delegatecall manipulates transient storage in the context of the current address.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "9ad4b744f652a14c476513b98fcb7b31c482d8f7b24e408688825103a06d6e21", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/11_tstoreDelegateCallFiller.yml", + "sourceHash" : "c59d4a235c562035ac11d2198475a8a09f95a789300fc250bee8684c39943ec0" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x016c73", + "hash" : "0x531c050d9bdfe742d3a3753591224032de7ba2691b2970d850f55636f1ade676", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xd9e2cb5599efc6ac4eb711fd9640b955d185c8b57d682b1cb4548e303a203b8b", + "receiptTrie" : "0xc0609ccbecf46e5faf15e427f1264bf0eb96dce735834bc95680048e73dd2235", + "stateRoot" : "0x36e92fa72aa3c499d7e2d128da764607e75550240a89cc155546c9418c81e0b6", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x2a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231e", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026af901faa0d9e2cb5599efc6ac4eb711fd9640b955d185c8b57d682b1cb4548e303a203b8ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa036e92fa72aa3c499d7e2d128da764607e75550240a89cc155546c9418c81e0b6a02a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231ea0c0609ccbecf46e5faf15e427f1264bf0eb96dce735834bc95680048e73dd2235b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001871000000000000083016c738203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86ab86802f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0xdcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9a", + "s" : "0x140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x00", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xd9e2cb5599efc6ac4eb711fd9640b955d185c8b57d682b1cb4548e303a203b8b", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x67d8e2abc7dc259927670586615ccbd8a3d195c71c6742311a408545a5599116", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa067d8e2abc7dc259927670586615ccbd8a3d195c71c6742311a408545a5599116a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x531c050d9bdfe742d3a3753591224032de7ba2691b2970d850f55636f1ade676", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016000b46000600060206000600b5af46000b381600055806001556000600060206000600c5af46000b3816002558060035550505050", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x01", + "0x01" : "0x02", + "0x03" : "0x02" + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60026000b4", + "nonce" : "0x00", + "storage" : { + } + }, + "0x000000000000000000000000000000000000000c" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60036000b460006000fd", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de91c382", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016000b46000600060206000600b5af46000b381600055806001556000600060206000600c5af46000b3816002558060035550505050", + "nonce" : "0x00", + "storage" : { + "0x02" : "0xffff" + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60026000b4", + "nonce" : "0x00", + "storage" : { + } + }, + "0x000000000000000000000000000000000000000c" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60036000b460006000fd", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/12_tloadDelegateCall.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/12_tloadDelegateCall.json new file mode 100644 index 00000000000..a023893c279 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/12_tloadDelegateCall.json @@ -0,0 +1,130 @@ +{ + "12_tloadDelegateCall_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "delegatecall reads transient storage in the context of the current address", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "b7cd12c493cbe31659d2f5f909ba9af0e110ac669e46c2dffc899dafb38b4552", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/12_tloadDelegateCallFiller.yml", + "sourceHash" : "0f1a065429ed4aae25cfedb437f32aeae08c463ae00044fad0712320010d1426" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x0109cd", + "hash" : "0x4b0cdd6cf3dda687b28cfd9f761e2db6b32d08a55df74632de1293ea98bf0c45", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xc6092635e7c73290215f21fc25b6fff7e501abde3cbad8b02ca36a8d8c45c85c", + "receiptTrie" : "0x7a838212293492f01570e94406849041dbf730c24634c1a53be26919c85080b7", + "stateRoot" : "0x6688706a01dfcb816e3d20bdd63a1f9aed637c0b9104fb7480c3674740cbf7d7", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x2a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231e", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026af901faa0c6092635e7c73290215f21fc25b6fff7e501abde3cbad8b02ca36a8d8c45c85ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa06688706a01dfcb816e3d20bdd63a1f9aed637c0b9104fb7480c3674740cbf7d7a02a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231ea07a838212293492f01570e94406849041dbf730c24634c1a53be26919c85080b7b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080018710000000000000830109cd8203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86ab86802f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0xdcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9a", + "s" : "0x140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x00", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xc6092635e7c73290215f21fc25b6fff7e501abde3cbad8b02ca36a8d8c45c85c", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xebd6a12ec527917963a3cfd95924d3af70d9fb0c8151dd71f4bf59b7785ad8fb", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0ebd6a12ec527917963a3cfd95924d3af70d9fb0c8151dd71f4bf59b7785ad8fba056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x4b0cdd6cf3dda687b28cfd9f761e2db6b32d08a55df74632de1293ea98bf0c45", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60026000b46000600060206000600b5af48060005550", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x01", + "0x01" : "0x02" + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b38060015550", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de959dfe", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60026000b46000600060206000600b5af48060005550", + "nonce" : "0x00", + "storage" : { + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000b38060015550", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/13_tloadStaticCall.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/13_tloadStaticCall.json new file mode 100644 index 00000000000..9e687d8bab1 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/13_tloadStaticCall.json @@ -0,0 +1,118 @@ +{ + "13_tloadStaticCall_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Transient storage cannot be manipulated in a static context, tstore reverts.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "a665b459545b8ba41bc3bc713dcd49b82048baafe82e8ce282bd7a4ad442b111", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/13_tloadStaticCallFiller.yml", + "sourceHash" : "23fa311e073e3c7678699f1a1cbe5d298ea396a60152472590f569e2a23eeb8a" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x02597f", + "hash" : "0x32fc415aba39a592ff2a4333878682c1e8c8bd3eb605def93871049ce1f2e399", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xd8f78fe2c9dbbc01382ab7a6413eaffdc3ac00f61b9e9fb794734e20f9d84bd9", + "receiptTrie" : "0x6f8186e307fc7c656a2ddb024e3b8fb4710b45db432b051fee4885fa25ddafc6", + "stateRoot" : "0xe5607d66e18df9d5bccb54dfa47090e3776b74a304a52503742cd8a9bfe748e7", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2c", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa0d8f78fe2c9dbbc01382ab7a6413eaffdc3ac00f61b9e9fb794734e20f9d84bd9a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0e5607d66e18df9d5bccb54dfa47090e3776b74a304a52503742cd8a9bfe748e7a0815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2ca06f8186e307fc7c656a2ddb024e3b8fb4710b45db432b051fee4885fa25ddafc6b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800187100000000000008302597f8203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x3f371692", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x6ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78", + "s" : "0x3be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xd8f78fe2c9dbbc01382ab7a6413eaffdc3ac00f61b9e9fb794734e20f9d84bd9", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xad191b44646d3ac05dcc856ba3fd2c4fcc1c934bb7128882f9c457bf7fffddff", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0ad191b44646d3ac05dcc856ba3fd2c4fcc1c934bb7128882f9c457bf7fffddffa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x32fc415aba39a592ff2a4333878682c1e8c8bd3eb605def93871049ce1f2e399", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560e1565b633f371692811460275763611e535a811460315763017292758114603b576042565b602d605f565b6042565b60376047565b6042565b6041604f565b5b5060f1565b60036000b45b565b6000b38060005260206000f3505b565b60026000b47f611e535a0000000000000000000000000000000000000000000000000000000060005260006000602060003061fffffa806000556000b3806001557f01729275000000000000000000000000000000000000000000000000000000006000526020600060206000305afa8060025560005180600355505050505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x01" : "0x02", + "0x02" : "0x01", + "0x03" : "0x02" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de88810a", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560e1565b633f371692811460275763611e535a811460315763017292758114603b576042565b602d605f565b6042565b60376047565b6042565b6041604f565b5b5060f1565b60036000b45b565b6000b38060005260206000f3505b565b60026000b47f611e535a0000000000000000000000000000000000000000000000000000000060005260006000602060003061fffffa806000556000b3806001557f01729275000000000000000000000000000000000000000000000000000000006000526020600060206000305afa8060025560005180600355505050505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/14_revertAfterNestedStaticcall.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/14_revertAfterNestedStaticcall.json new file mode 100644 index 00000000000..42923a9935a --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/14_revertAfterNestedStaticcall.json @@ -0,0 +1,118 @@ +{ + "14_revertAfterNestedStaticcall_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Transient storage can't be manipulated from nested staticcall.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "0089cbb498548e92823967ffb117f636dba54d30a8d03b56afe168aa531fe65f", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/14_revertAfterNestedStaticcallFiller.yml", + "sourceHash" : "c32cee300f3e10015228d40322a1e13e1e721437da85a88ca06f1ffe90f7fd23" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x025477", + "hash" : "0x87ac58f5d60a4a9c1e50cbb1cd3f85c635ce968dec86ccba5639d9b8f3dcc0d9", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x53efdbfbf98743b702f8edb69b8a0d2b74821da5c8ec573f6d9753b756c4dc10", + "receiptTrie" : "0xb915c9f2b8b0d09086c1780590b5eba1dcaf2a15842ce7a0ce832aa6f0c6d1b8", + "stateRoot" : "0x4a8cd77e0cdd46c65cc9ccfdd0182f646b63a91b16a1277a2082ac49df9ba117", + "timestamp" : "0x03e8", + "transactionsTrie" : "0xaf7b61a68ddad72bd68f3ef176381d8ad6c96bd9a580c84ee075c4c17c233be9", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa053efdbfbf98743b702f8edb69b8a0d2b74821da5c8ec573f6d9753b756c4dc10a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa04a8cd77e0cdd46c65cc9ccfdd0182f646b63a91b16a1277a2082ac49df9ba117a0af7b61a68ddad72bd68f3ef176381d8ad6c96bd9a580c84ee075c4c17c233be9a0b915c9f2b8b0d09086c1780590b5eba1dcaf2a15842ce7a0ce832aa6f0c6d1b8b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080018710000000000000830254778203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a8084f5f40590c001a04fcf5da7b3c5d51b292299a0fdf0e70b1beb43cdb254ec7cc3cff449849ede7ea006e4cf180aba2b2418ce18dd4743e70e15f64cd7d75d50e1a7bf67071bbbf1d1c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0xf5f40590", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x4fcf5da7b3c5d51b292299a0fdf0e70b1beb43cdb254ec7cc3cff449849ede7e", + "s" : "0x06e4cf180aba2b2418ce18dd4743e70e15f64cd7d75d50e1a7bf67071bbbf1d1", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0x53efdbfbf98743b702f8edb69b8a0d2b74821da5c8ec573f6d9753b756c4dc10", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xb3e1da91c0e2a96d5ff9ec516a9189fc15a3c2471da66093576682f84adedc7c", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0b3e1da91c0e2a96d5ff9ec516a9189fc15a3c2471da66093576682f84adedc7ca056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x87ac58f5d60a4a9c1e50cbb1cd3f85c635ce968dec86ccba5639d9b8f3dcc0d9", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560e1565b63f5f40590811460275763f8dfc2d081146031576362fdb9be8114603b576042565b602d6047565b6042565b6037609b565b6042565b604160d9565b5b5060f1565b600a6000b46000b3806000557ff8dfc2d00000000000000000000000000000000000000000000000000000000060005260206000602060003061fffffa600051600155806002556000b3806003555050505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000305af18060005260206000f3505b565b600b6000b45b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x0a", + "0x02" : "0x01", + "0x03" : "0x0a" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de88b35a", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560e1565b63f5f40590811460275763f8dfc2d081146031576362fdb9be8114603b576042565b602d6047565b6042565b6037609b565b6042565b604160d9565b5b5060f1565b600a6000b46000b3806000557ff8dfc2d00000000000000000000000000000000000000000000000000000000060005260206000602060003061fffffa600051600155806002556000b3806003555050505b565b7f62fdb9be0000000000000000000000000000000000000000000000000000000060005260006000602060006000305af18060005260206000f3505b565b600b6000b45b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x01" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/15_tstoreCannotBeDosd.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/15_tstoreCannotBeDosd.json new file mode 100644 index 00000000000..06bcfe1676e --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/15_tstoreCannotBeDosd.json @@ -0,0 +1,117 @@ +{ + "15_tstoreCannotBeDosd_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Transient storage cannot be DOS’d.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "b8808d31c50d4850c9147c6a8acab3188f66a7289af866a11b3666a6c8bd9619", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/15_tstoreCannotBeDosdFiller.yml", + "sourceHash" : "527cc1fdf4e0738c1596ff0924ab7bbb9eb8297a591019f8d9c09cd12582dfc7" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x016a4f3d", + "hash" : "0x2b8ddd74fed54997b4687237dfb3198eb1cf7ae4d517cdab54bb48cb0b5e8d25", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x030b080b69e3c24a97d782d07ae5e6104340f9db28caa06d19d8da35ddf3fa00", + "receiptTrie" : "0xaea2ca6b2bf47541785a61eafdfde0c1ec5502c32e14a027ea077d1c240ce143", + "stateRoot" : "0x108f5c8d88f631f2e34cd344f012906ba2778174befc892419a52e34457a39d3", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x4eea32276bce0d2a6a887bd4a8d5e9b148e401bdc5756513e505198fefa5e272", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf90290f901fba0030b080b69e3c24a97d782d07ae5e6104340f9db28caa06d19d8da35ddf3fa00a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0108f5c8d88f631f2e34cd344f012906ba2778174befc892419a52e34457a39d3a04eea32276bce0d2a6a887bd4a8d5e9b148e401bdc5756513e505198fefa5e272a0aea2ca6b2bf47541785a61eafdfde0c1ec5502c32e14a027ea077d1c240ce143b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001871000000000000084016a4f3d8203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af88fb88d02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e800000000000000000000000000000000000000000000000000000000000249f0c001a0352fe13c3a60f7ef9a1269915c18b60fd9f1686e848a26cdfb41cdf9546acd7ba070e25c08b5015d73bca0ebc9e0e28bebac930c03eb219453bfa37599299a2eb9c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x883264e800000000000000000000000000000000000000000000000000000000000249f0", + "gasLimit" : "0x01c9c380", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x352fe13c3a60f7ef9a1269915c18b60fd9f1686e848a26cdfb41cdf9546acd7b", + "s" : "0x70e25c08b5015d73bca0ebc9e0e28bebac930c03eb219453bfa37599299a2eb9", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0x030b080b69e3c24a97d782d07ae5e6104340f9db28caa06d19d8da35ddf3fa00", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xef21d97472e46fb9fccd263506ad6260a8a24dda1237705773eda00fdbe174d0", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0ef21d97472e46fb9fccd263506ad6260a8a24dda1237705773eda00fdbe174d0a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x2b8ddd74fed54997b4687237dfb3198eb1cf7ae4d517cdab54bb48cb0b5e8d25", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560b4565b63883264e88114601d5763f7d6c0eb8114602c576038565b600435602781603d565b506038565b6020356036816089565b505b5060c4565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560a657603081b45b6001810190506090565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x02" : "0x0249f0" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5d078e79e", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560b4565b63883264e88114601d5763f7d6c0eb8114602c576038565b600435602781603d565b506038565b6020356036816089565b505b5060c4565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560a657603081b45b6001810190506090565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff", + "0x01" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/16_tloadGas.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/16_tloadGas.json new file mode 100644 index 00000000000..eb7c27ff6c1 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/16_tloadGas.json @@ -0,0 +1,115 @@ +{ + "16_tloadGas_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "tload costs 100 gas same as a warm sload", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "bb5d0d2053f5672f82b701af3ceda26d8079815f2101d5580bf4b85075d3bf38", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/16_tloadGasFiller.yml", + "sourceHash" : "edffbdcda9960f9cbcb3dd3561e2625c2d8b50aadd6a15c266cc2c631d89693a" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0xa94e", + "hash" : "0x75c44d61b05297ad53934998c6e6985d8c2423f2298ae6d01f8b7ab2c9d72965", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x4351cd8c8e6bce2089109156f17d0f7de06078e69cf570148c360b2735a11027", + "receiptTrie" : "0x0d2d4de1f2fbe298914a0a0847c5de7756736b743cc268e6f44354d265009192", + "stateRoot" : "0x3f16b6eebabbd2757125425753224519c9d24e9c62ee6497ea9f89ab3e9bfe44", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x2a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231e", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf90269f901f9a04351cd8c8e6bce2089109156f17d0f7de06078e69cf570148c360b2735a11027a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa03f16b6eebabbd2757125425753224519c9d24e9c62ee6497ea9f89ab3e9bfe44a02a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231ea00d2d4de1f2fbe298914a0a0847c5de7756736b743cc268e6f44354d265009192b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001871000000000000082a94e8203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86ab86802f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0xdcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9a", + "s" : "0x140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x00", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0x4351cd8c8e6bce2089109156f17d0f7de06078e69cf570148c360b2735a11027", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x34327dd07f6980b471bfa1a258ce8758b9eefd6fd753ca470229e7c08e560c40", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa034327dd07f6980b471bfa1a258ce8758b9eefd6fd753ca470229e7c08e560c40a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x75c44d61b05297ad53934998c6e6985d8c2423f2298ae6d01f8b7ab2c9d72965", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560026000b45a6000b35a838184030360005550505050", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x64" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de9962f4", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560026000b45a6000b35a838184030360005550505050", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/17_tstoreGas.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/17_tstoreGas.json new file mode 100644 index 00000000000..0fde64914e5 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/17_tstoreGas.json @@ -0,0 +1,115 @@ +{ + "17_tstoreGas_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Tstore arbitrary value in arbitrary slot costs 100 gas.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "f593e696bf60f31b864295eb8198660758419661c3e2f15f1538e656aae3f505", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/17_tstoreGasFiller.yml", + "sourceHash" : "8c4ffd2154e941c8f1a8b62755d19749e001c47567a34a24a90be87faf737f2a" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0xa8e5", + "hash" : "0x0b6d2a91c620229ca14655365b869801cf300f2aab040389e3733af858f89992", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xbacad6fb614c84b1fe05b17f2ac36b83cd2095d11ec45f3f3bcca4dec5ab2308", + "receiptTrie" : "0x21866b1fef287d5d996e0e93963f83c39edeca28daa306e7b85d7500ca335b2d", + "stateRoot" : "0x6b8067a6ee705dc352b700e96babf1568ce138668a24527759f8b2e762923df9", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x2a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231e", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf90269f901f9a0bacad6fb614c84b1fe05b17f2ac36b83cd2095d11ec45f3f3bcca4dec5ab2308a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa06b8067a6ee705dc352b700e96babf1568ce138668a24527759f8b2e762923df9a02a7b68e62644c88c656e2eb23b02a62ac9267024d0d472b3f708a2ef5556231ea021866b1fef287d5d996e0e93963f83c39edeca28daa306e7b85d7500ca335b2db90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001871000000000000082a8e58203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86ab86802f8650180808207d083061a8094000000000000000000000000000000000000000a8080c080a0dcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9aa0140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0xdcca8dea0417d776a28e5cfbd257941015eef912b4f2ca5dac03d7293f57fa9a", + "s" : "0x140ab4cd143ff0b5bcb85f0a862b73139668b5c59c703b1e0cdfae0c95146e09", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x00", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xbacad6fb614c84b1fe05b17f2ac36b83cd2095d11ec45f3f3bcca4dec5ab2308", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x90c8fae43cb57b493e615a56125b5c6236852e44d81bef33643359bd10a3ede1", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa090c8fae43cb57b493e615a56125b5c6236852e44d81bef33643359bd10a3ede1a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x0b6d2a91c620229ca14655365b869801cf300f2aab040389e3733af858f89992", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60085a60036000b45a8281830303600155505050", + "nonce" : "0x00", + "storage" : { + "0x01" : "0x64" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de99670e", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60085a60036000b45a8281830303600155505050", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/18_tloadAfterStore.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/18_tloadAfterStore.json new file mode 100644 index 00000000000..7773c9907f0 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/18_tloadAfterStore.json @@ -0,0 +1,116 @@ +{ + "18_tloadAfterStore_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "tload from same slot after store returns 0", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "3f342b07da6c562f899f9a17bb493cbe27d32eb2a9b038275ea1a3ec8d918ea2", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/18_tloadAfterStoreFiller.yml", + "sourceHash" : "82711163c65d52ab61ad482ee10d7f43cc09cc4f0415dc32286ca1d96ed3dc09" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0xa999", + "hash" : "0xb51fafaaaa797f21c034dfa78acbf117e94fe6e63249c838d7ad84c201108653", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xeade6dce22a222234d05f5580e959d3f3b32c51ffd8aabac35bdc471bf46195d", + "receiptTrie" : "0x6384d506738aa73584eef8b1237e8e149ec9cf65a618c4ef3ee19a30e04d6b67", + "stateRoot" : "0xd8c02ac840e9d551fc8a60c835da856bdb6f9c62169ac3aacce4abfb57f72893", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x20be185f444f32ccc42c3d8e42c2a0f032e6a8ced23178277092c5da3a1fca3e", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026df901f9a0eade6dce22a222234d05f5580e959d3f3b32c51ffd8aabac35bdc471bf46195da01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0d8c02ac840e9d551fc8a60c835da856bdb6f9c62169ac3aacce4abfb57f72893a020be185f444f32ccc42c3d8e42c2a0f032e6a8ced23178277092c5da3a1fca3ea06384d506738aa73584eef8b1237e8e149ec9cf65a618c4ef3ee19a30e04d6b67b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001871000000000000082a9998203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f869018080820fa0871000000000000094000000000000000000000000000000000000000a8080c001a0265982b28582156178323a10f893819c0198e299d3563732d1ab953071309fa1a00e5e9711949eb422c3d73b15f1a7cdbb1ae105002f6b6b792607803576577e91c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x", + "gasLimit" : "0x10000000000000", + "maxFeePerGas" : "0x0fa0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x265982b28582156178323a10f893819c0198e299d3563732d1ab953071309fa1", + "s" : "0x0e5e9711949eb422c3d73b15f1a7cdbb1ae105002f6b6b792607803576577e91", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xeade6dce22a222234d05f5580e959d3f3b32c51ffd8aabac35bdc471bf46195d", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x662984d4d1363f94d9be8a310bf4aff6776027a66a1b3a773aed41520a9b4021", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0662984d4d1363f94d9be8a310bf4aff6776027a66a1b3a773aed41520a9b4021a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0xb51fafaaaa797f21c034dfa78acbf117e94fe6e63249c838d7ad84c201108653", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600a6000556000b38060015550", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x0a" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de996006", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600a6000556000b38060015550", + "nonce" : "0x00", + "storage" : { + "0x01" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/19_oogUndoesTransientStore.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/19_oogUndoesTransientStore.json new file mode 100644 index 00000000000..e85ac855d08 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/19_oogUndoesTransientStore.json @@ -0,0 +1,119 @@ +{ + "19_oogUndoesTransientStore_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Out of gas undoes the transient storage writes from a call.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "9758f22b50ebfe235ce442c084c29074b011a93e88dbe87ccef48c6bdd268aa6", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/19_oogUndoesTransientStoreFiller.yml", + "sourceHash" : "f53145dcf525bdb7b85aaab7bd752210c256ae38515a3025f7bbc2d933c35ffd" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x013fc9", + "hash" : "0xa1523854e148384a85ba6a8a41ecace139a52e7d05b13965a5ae7fe2baf18247", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x2e3196c8eb13411fad00a225c670353c138ac1c5fa0dc3420304edf5388ab4d4", + "receiptTrie" : "0x3889c39fd9425c4fd97f69b5e15304363e7a641796de2e7131157e3b373b9a19", + "stateRoot" : "0x38495fa3ca9a6eb7c47368e99eaba14e8ea689f8da4a0a4dd3fd9697c052be48", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2c", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa02e3196c8eb13411fad00a225c670353c138ac1c5fa0dc3420304edf5388ab4d4a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa038495fa3ca9a6eb7c47368e99eaba14e8ea689f8da4a0a4dd3fd9697c052be48a0815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2ca03889c39fd9425c4fd97f69b5e15304363e7a641796de2e7131157e3b373b9a19b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001871000000000000083013fc98203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x3f371692", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x6ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78", + "s" : "0x3be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0x2e3196c8eb13411fad00a225c670353c138ac1c5fa0dc3420304edf5388ab4d4", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x70fd09d7483cd2e894b8c58526dc0ccbe00470567b2625ae8129ce1032477f70", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa070fd09d7483cd2e894b8c58526dc0ccbe00470567b2625ae8129ce1032477f70a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0xa1523854e148384a85ba6a8a41ecace139a52e7d05b13965a5ae7fe2baf18247", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056091565b63e2da2eb08114601d57633f3716928114602757602e565b60236033565b602e565b602d6043565b5b5060a1565b600b6000b4622fffff600020505b565b604e6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061c350f1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x4e", + "0x01" : "0x4e" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de938226", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056091565b63e2da2eb08114601d57633f3716928114602757602e565b60236033565b602e565b602d6043565b5b5060a1565b600b6000b4622fffff600020505b565b604e6000b46000b3806000557fe2da2eb000000000000000000000000000000000000000000000000000000000600052600060006020600060003061c350f1806002556000b360015550505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff", + "0x01" : "0xffff", + "0x02" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/20_oogUndoesTransientStoreInCall.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/20_oogUndoesTransientStoreInCall.json new file mode 100644 index 00000000000..cc112087a8f --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/20_oogUndoesTransientStoreInCall.json @@ -0,0 +1,133 @@ +{ + "20_oogUndoesTransientStoreInCall_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Out of gas undoes the transient storage writes from a call.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "2a3cb4699cba958231437ad3848d6034bc751dd8ae6ffbef28c4754849f6270c", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/20_oogUndoesTransientStoreInCallFiller.yml", + "sourceHash" : "63c1493cf1ab79e4c216bd1ed8b4b249a7f21b2b85c5e75a5e6992f14dd85751" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x0148fb", + "hash" : "0xeed89380d2bc543fbb65fc60b684ce01ca0134ccd02dc1a5a548be18a73066a2", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xf934b577dfcd935893a9037620096708bc146ac198a0dddbf7050888d8a4e60c", + "receiptTrie" : "0x0e772abcbd55fc286f0aad9c32a8b9c46814c7e8e7771acf1499ee2528d54853", + "stateRoot" : "0x6d3fc22bfd987aced7c9c344f1fcc32ba655a1697d1d6bce402334bbbf6c8636", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2c", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf9026ef901faa0f934b577dfcd935893a9037620096708bc146ac198a0dddbf7050888d8a4e60ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa06d3fc22bfd987aced7c9c344f1fcc32ba655a1697d1d6bce402334bbbf6c8636a0815a2f9ec6762ab6e372625b15482a3fd2cf847079822020135841997e04ef2ca00e772abcbd55fc286f0aad9c32a8b9c46814c7e8e7771acf1499ee2528d54853b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080018710000000000000830148fb8203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af86eb86c02f8690180808207d083061a8094000000000000000000000000000000000000000a80843f371692c001a06ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78a03be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0c0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x3f371692", + "gasLimit" : "0x061a80", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x6ebc5c6488b5ce5519b983b0cb032243aa188d6c4f89b60f77d7079a27836f78", + "s" : "0x3be30189ce38be83c659e76c01243364c85ad8df091d3a5b8a98ec2738c20de0", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x01", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xf934b577dfcd935893a9037620096708bc146ac198a0dddbf7050888d8a4e60c", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0x41788d7e1eeafab7b0596ab287bb2d36d90b46a9ec1abead6605e95af9c15fdb", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa041788d7e1eeafab7b0596ab287bb2d36d90b46a9ec1abead6605e95af9c15fdba056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0xeed89380d2bc543fbb65fc60b684ce01ca0134ccd02dc1a5a548be18a73066a2", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056001b46001b380600a5560006000602060006000600b61c350f180600c556001b3600b555050", + "nonce" : "0x00", + "storage" : { + "0x0a" : "0x05", + "0x0b" : "0x05" + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600b6000b4622fffff60002050", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5de932632", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60056001b46001b380600a5560006000602060006000600b61c350f180600c556001b3600b555050", + "nonce" : "0x00", + "storage" : { + "0x0a" : "0xffff", + "0x0b" : "0xffff", + "0x0c" : "0xffff" + } + }, + "0x000000000000000000000000000000000000000b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600b6000b4622fffff60002050", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/21_tstoreCannotBeDosdOOO.json b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/21_tstoreCannotBeDosdOOO.json new file mode 100644 index 00000000000..dff11656974 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/EIPTests/stEIP1153/21_tstoreCannotBeDosdOOO.json @@ -0,0 +1,118 @@ +{ + "21_tstoreCannotBeDosdOOO_d0g0v0_Merge+1153" : { + "_info" : { + "comment" : "Transient storage cannot be DOS’d.", + "filling-rpc-server" : "evm version 1.11.0-unstable-6c149fd4-20230103", + "filling-tool-version" : "retesteth-0.2.3-postmerge+commit.28b443b8.Linux.g++", + "generatedTestHash" : "8147e58e21e063694dda8207544b7cdc7dd90cb1dd884eb230fb4390d686a1ef", + "lllcversion" : "Version: 0.5.14-develop.2023.1.4+commit.a096d7a9.Linux.g++", + "solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++", + "source" : "src/GeneralStateTestsFiller/EIPTests/stEIP1153/21_tstoreCannotBeDosdOOOFiller.yml", + "sourceHash" : "1daf1e00bfecf7c42720665127626cb728bb19aa37ca3d56f35a8368bb70a333" + }, + "blocks" : [ + { + "blockHeader" : { + "baseFeePerGas" : "0x0a", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x01632ea1", + "hash" : "0x5a67e0414342c3563618b3e96368d6ec135fac156cb66f26ce1b027dc6fc9001", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0xa11e234d5e88e9dae3e9715528a586fd0c5edf4ba6422084be2860b537442500", + "receiptTrie" : "0x5445518ec48b6e19236e2f72975708e2b98e73a4a286e9801b0ce0398d697906", + "stateRoot" : "0x2cc978ef47ee1c46aebd25df31d25d0dfdcb8ebbf8777f4de282b4b0d354346c", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x17585d5117c0c1c5a3f366a44e894fcaffd28295cc71094c2ba425ab1285ef1e", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf90290f901fba0a11e234d5e88e9dae3e9715528a586fd0c5edf4ba6422084be2860b537442500a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa02cc978ef47ee1c46aebd25df31d25d0dfdcb8ebbf8777f4de282b4b0d354346ca017585d5117c0c1c5a3f366a44e894fcaffd28295cc71094c2ba425ab1285ef1ea05445518ec48b6e19236e2f72975708e2b98e73a4a286e9801b0ce0398d697906b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800187100000000000008401632ea18203e800a000000000000000000000000000000000000000000000000000000000000200008800000000000000000af88fb88d02f88a0180808207d08401c9c38094000000000000000000000000000000000000000a80a4883264e800000000000000000000000000000000000000000000000000000000000186a0c080a04b2d97b890bc7ccf4df3feeaa6f49870625163b2d5cf98f12b246c4f226e609da07098394b4613c99c1ad2c30cba3ee2dcbeca900d7c87a053827d98a72947a87ec0", + "transactions" : [ + { + "accessList" : [ + ], + "chainId" : "0x01", + "data" : "0x883264e800000000000000000000000000000000000000000000000000000000000186a0", + "gasLimit" : "0x01c9c380", + "maxFeePerGas" : "0x07d0", + "maxPriorityFeePerGas" : "0x00", + "nonce" : "0x00", + "r" : "0x4b2d97b890bc7ccf4df3feeaa6f49870625163b2d5cf98f12b246c4f226e609d", + "s" : "0x7098394b4613c99c1ad2c30cba3ee2dcbeca900d7c87a053827d98a72947a87e", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000000a", + "type" : "0x02", + "v" : "0x00", + "value" : "0x00" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "baseFeePerGas" : "0x0b", + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x00", + "extraData" : "0x00", + "gasLimit" : "0x10000000000000", + "gasUsed" : "0x00", + "hash" : "0xa11e234d5e88e9dae3e9715528a586fd0c5edf4ba6422084be2860b537442500", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "nonce" : "0x0000000000000000", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xb1dcdc2a77909466259c86accf91652e9d789812575343b9911600ed29010119", + "timestamp" : "0x00", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0b1dcdc2a77909466259c86accf91652e9d789812575343b9911600ed29010119a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808710000000000000808000a000000000000000000000000000000000000000000000000000000000000200008800000000000000000bc0c0", + "lastblockhash" : "0x5a67e0414342c3563618b3e96368d6ec135fac156cb66f26ce1b027dc6fc9001", + "network" : "Merge+1153", + "postState" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560e9565b63883264e8811460225763f7d6c0eb81146031576005600055603d565b600435602c816042565b50603d565b602035603b81608e565b505b5060f9565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560db57600281066000816000811460b5576001811460c15760cd565b83915061025884b460cd565b83600003915061025882b45b5050505b6001810190506095565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x02" : "0x0186a0" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5d0c02db6", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + } + }, + "pre" : { + "0x000000000000000000000000000000000000000a" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600560e9565b63883264e8811460225763f7d6c0eb81146031576005600055603d565b600435602c816042565b50603d565b602035603b81608e565b505b5060f9565b7ff7d6c0eb000000000000000000000000000000000000000000000000000000006000528060205260206000604060006000305af1806000556000516002556000b3806001555050505b565b6000600090505b8181101560db57600281066000816000811460b5576001811460c15760cd565b83915061025884b460cd565b83600003915061025882b45b5050505b6001810190506095565b8060005260206000fd50505b565b60006000358060e01c9150505b90565b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0xffff", + "0x01" : "0xffff", + "0x02" : "0xffff" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3635c9adc5dea00000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file From d305644f0d1d36d749e9a17d8dfd718d6d211558 Mon Sep 17 00:00:00 2001 From: Dimitry Kh Date: Wed, 4 Jan 2023 11:21:38 +0100 Subject: [PATCH 56/56] move bcEIP1153 --- .../bcEIP1153/tloadDoesNotPersistAcrossBlocks.json | 0 .../bcEIP1153/tloadDoesNotPersistCrossTxn.json | 0 .../bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml | 0 .../bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename BlockchainTests/{ValidBlocks => EIPTests}/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json (100%) rename BlockchainTests/{ValidBlocks => EIPTests}/bcEIP1153/tloadDoesNotPersistCrossTxn.json (100%) rename src/BlockchainTestsFiller/{ValidBlocks => EIPTests}/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml (100%) rename src/BlockchainTestsFiller/{ValidBlocks => EIPTests}/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml (100%) diff --git a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json b/BlockchainTests/EIPTests/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json similarity index 100% rename from BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json rename to BlockchainTests/EIPTests/bcEIP1153/tloadDoesNotPersistAcrossBlocks.json diff --git a/BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json b/BlockchainTests/EIPTests/bcEIP1153/tloadDoesNotPersistCrossTxn.json similarity index 100% rename from BlockchainTests/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxn.json rename to BlockchainTests/EIPTests/bcEIP1153/tloadDoesNotPersistCrossTxn.json diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml b/src/BlockchainTestsFiller/EIPTests/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml similarity index 100% rename from src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml rename to src/BlockchainTestsFiller/EIPTests/bcEIP1153/tloadDoesNotPersistAcrossBlocksFiller.yml diff --git a/src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml b/src/BlockchainTestsFiller/EIPTests/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml similarity index 100% rename from src/BlockchainTestsFiller/ValidBlocks/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml rename to src/BlockchainTestsFiller/EIPTests/bcEIP1153/tloadDoesNotPersistCrossTxnFiller.yml