aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwinsvega <winsvega@mail.ru>2018-10-16 20:04:30 +0800
committerGitHub <noreply@github.com>2018-10-16 20:04:30 +0800
commite9d998ff7a5e71679ce02f21583dc89df4a87c13 (patch)
treeec2c77812e90fd013d097c69c2684eb0cd2e1b7f
parent95a309203890e6244c6d4353ca411671973c13b5 (diff)
parent2a458bcacd7692d1d5bf4b94b303ec548dd351d5 (diff)
downloadtangerine-tests-e9d998ff7a5e71679ce02f21583dc89df4a87c13.tar.gz
tangerine-tests-e9d998ff7a5e71679ce02f21583dc89df4a87c13.tar.zst
tangerine-tests-e9d998ff7a5e71679ce02f21583dc89df4a87c13.zip
Merge pull request #526 from ethereum/moresstore
more sstore tests
-rw-r--r--BlockchainTests/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero_d0g0v0.json112
-rw-r--r--BlockchainTests/GeneralStateTests/stSStoreTest/sstore_0to0_d0g0v0.json148
-rw-r--r--BlockchainTests/GeneralStateTests/stSStoreTest/sstore_0toXto0toX_d0g0v0.json152
-rw-r--r--BlockchainTests/GeneralStateTests/stSStoreTest/sstore_Xto0_d0g0v0.json151
-rw-r--r--BlockchainTests/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0_d0g0v0.json152
-rw-r--r--BlockchainTests/GeneralStateTests/stSStoreTest/sstore_XtoX_d0g0v0.json153
-rw-r--r--BlockchainTests/GeneralStateTests/stSStoreTest/sstore_XtoY_d0g0v0.json153
-rw-r--r--GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json64
-rw-r--r--GeneralStateTests/stSStoreTest/sstore_0to0.json77
-rw-r--r--GeneralStateTests/stSStoreTest/sstore_0toXto0toX.json77
-rw-r--r--GeneralStateTests/stSStoreTest/sstore_Xto0.json80
-rw-r--r--GeneralStateTests/stSStoreTest/sstore_Xto0toXto0.json80
-rw-r--r--GeneralStateTests/stSStoreTest/sstore_XtoX.json80
-rw-r--r--GeneralStateTests/stSStoreTest/sstore_XtoY.json80
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero_d0g0v0Filler.json85
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0to0_d0g0v0Filler.json97
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0toXto0toX_d0g0v0Filler.json106
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0_d0g0v0Filler.json99
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0_d0g0v0Filler.json105
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoX_d0g0v0Filler.json111
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoY_d0g0v0Filler.json111
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json69
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/sstore_0to0Filler.json83
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/sstore_0toXto0toXFiller.json95
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0Filler.json86
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0toXto0Filler.json95
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoXFiller.json97
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYFiller.json97
28 files changed, 2895 insertions, 0 deletions
diff --git a/BlockchainTests/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero_d0g0v0.json b/BlockchainTests/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero_d0g0v0.json
new file mode 100644
index 000000000..97b77c3c9
--- /dev/null
+++ b/BlockchainTests/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero_d0g0v0.json
@@ -0,0 +1,112 @@
+{
+ "SstoreCallToSelfSubRefundBelowZero_d0g0v0_Constantinople" : {
+ "_info" : {
+ "comment" : "Test where accnt has slot 1 value of '2', is cleared, then calls itself and overwrites with '3', causing a refund-deduction in second call context",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero_d0g0v0Filler.json",
+ "sourceHash" : "81f8f07056df29993f3a2b8d20e356dbc95d5dcf186b9f7ce1109c92381e2eb8"
+ },
+ "blocks" : [
+ {
+ "blockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "",
+ "gasLimit" : "0x1000000000",
+ "gasUsed" : "0x695c",
+ "hash" : "0x08787cc0e916a71b08dae0f8f7fd153ec11e76c32880ad458518fa7a1f0b41a3",
+ "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "nonce" : "0x0000000000000000",
+ "number" : "0x01",
+ "parentHash" : "0x1322635c0ebf54fb1f993df3836d3c173b2a8eddc0eb38ae5b4452241b70ea6b",
+ "receiptTrie" : "0x8832c6b247366f91d314cb8c1442c54f0cc54616a1b9cc871571ca855f65d527",
+ "stateRoot" : "0xb4bd8dbf66e4d6f44c07f11110b0251707549805229120479460371033562471",
+ "timestamp" : "0x03e8",
+ "transactionsTrie" : "0xe9c09daf24f4a6c41251992fd395c4860e16b49538b8f054b07254beb6764ebf",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "rlp" : "0xf90261f901f9a01322635c0ebf54fb1f993df3836d3c173b2a8eddc0eb38ae5b4452241b70ea6ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0b4bd8dbf66e4d6f44c07f11110b0251707549805229120479460371033562471a0e9c09daf24f4a6c41251992fd395c4860e16b49538b8f054b07254beb6764ebfa08832c6b247366f91d314cb8c1442c54f0cc54616a1b9cc871571ca855f65d527b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000185100000000082695c8203e880a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f862f860800183241eb294e12d6474ac4964b9f23812bf3375c1fe637ad3b680801ba040f3438db266a7d413ce23bbf53af41f8ebf855945148418ae6da0213d26c8c5a07aa326d6bf378497d42da537ba6aee21e642d64e734def1ceda80eee7b361f92c0",
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x241eb2",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x40f3438db266a7d413ce23bbf53af41f8ebf855945148418ae6da0213d26c8c5",
+ "s" : "0x7aa326d6bf378497d42da537ba6aee21e642d64e734def1ceda80eee7b361f92",
+ "to" : "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6",
+ "v" : "0x1b",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "0x42",
+ "gasLimit" : "0x1000000000",
+ "gasUsed" : "0x00",
+ "hash" : "0x1322635c0ebf54fb1f993df3836d3c173b2a8eddc0eb38ae5b4452241b70ea6b",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0x00",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xb5197b759277337f234eb73abc3bfba4dfe159be8f4aa34370893fe95fb7b4c0",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "genesisRLP" : "0xf901fcf901f7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0b5197b759277337f234eb73abc3bfba4dfe159be8f4aa34370893fe95fb7b4c0a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080851000000000808203b642a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0",
+ "lastblockhash" : "0x08787cc0e916a71b08dae0f8f7fd153ec11e76c32880ad458518fa7a1f0b41a3",
+ "network" : "Constantinople",
+ "postState" : {
+ "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "0x1bc16d674ec8695c",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xffffffffffff96a3",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6" : {
+ "balance" : "0x00",
+ "code" : "0x3330146015576000600155600080808080305af1005b600360015500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x03"
+ }
+ }
+ },
+ "pre" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xffffffffffffffff",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6" : {
+ "balance" : "0x00",
+ "code" : "0x3330146015576000600155600080808080305af1005b600360015500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_0to0_d0g0v0.json b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_0to0_d0g0v0.json
new file mode 100644
index 000000000..17cff6cfb
--- /dev/null
+++ b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_0to0_d0g0v0.json
@@ -0,0 +1,148 @@
+{
+ "sstore_0to0_d0g0v0_Constantinople" : {
+ "_info" : {
+ "comment" : "change 0 -> 0",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0to0_d0g0v0Filler.json",
+ "sourceHash" : "768ef9ce9b1e25b02c95881c35cec3b4122f452e6dfcaeedfddfdaff21683ced"
+ },
+ "blocks" : [
+ {
+ "blockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x03505a",
+ "hash" : "0x7677b53dbcc39313a4939b950ec5ad073ea39de55ef4116d42f15af4e81d48bd",
+ "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "nonce" : "0x0000000000000000",
+ "number" : "0x01",
+ "parentHash" : "0x6a614b422e18cfe5542760ddea6fde45ff81f9e2eeb407ef2fdbe74dfdb139a6",
+ "receiptTrie" : "0x940545e53f46dbbe1ee4c04a43b6185719256ad10a89315f01c1c5a2f87ce435",
+ "stateRoot" : "0x42d414c2de592f89c570196d6c5e34c14ffaf86513e4153998ceb2296c202582",
+ "timestamp" : "0x03e8",
+ "transactionsTrie" : "0x4004fb5b2eb3b2179f346926b3e15b0bdf98234a70476942915ce22cddbf4234",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "rlp" : "0xf90260f901f8a06a614b422e18cfe5542760ddea6fde45ff81f9e2eeb407ef2fdbe74dfdb139a6a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa042d414c2de592f89c570196d6c5e34c14ffaf86513e4153998ceb2296c202582a04004fb5b2eb3b2179f346926b3e15b0bdf98234a70476942915ce22cddbf4234a0940545e53f46dbbe1ee4c04a43b6185719256ad10a89315f01c1c5a2f87ce435b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001839896808303505a8203e880a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f862f86080018303f7a0943e180b1862f9d158abb5e519a6d8605540c2368201801ca0a629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1a07621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3cec0",
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x03f7a0",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1",
+ "s" : "0x7621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3ce",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x00",
+ "hash" : "0x6a614b422e18cfe5542760ddea6fde45ff81f9e2eeb407ef2fdbe74dfdb139a6",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0x00",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0x17912805635230d990a8ed9b3fa515958da5df4d166535f5bc8f5686fa869c1f",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa017912805635230d990a8ed9b3fa515958da5df4d166535f5bc8f5686fa869c1fa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008083989680808203b642a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0",
+ "lastblockhash" : "0x7677b53dbcc39313a4939b950ec5ad073ea39de55ef4116d42f15af4e81d48bd",
+ "network" : "Constantinople",
+ "postState" : {
+ "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "0x1bc16d674ecb505a",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x06",
+ "code" : "0x60006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600a8060a760003960006000f55000fe60006000556001600155",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0x80cdc4cd8b9517daba0a771f92dcaaa677707eb9" : {
+ "balance" : "0x00",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a1bfa5",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x60006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600a8060a760003960006000f55000fe60006000556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_0toXto0toX_d0g0v0.json b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_0toXto0toX_d0g0v0.json
new file mode 100644
index 000000000..5ae73f999
--- /dev/null
+++ b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_0toXto0toX_d0g0v0.json
@@ -0,0 +1,152 @@
+{
+ "sstore_0toXto0toX_d0g0v0_Constantinople" : {
+ "_info" : {
+ "comment" : "change 0 -> X -> 0 -> X",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0toXto0toX_d0g0v0Filler.json",
+ "sourceHash" : "f23ff9cb1361e7e021e89575504b8f11289db9d6282a8ec57fdd6b8d7fad27e3"
+ },
+ "blocks" : [
+ {
+ "blockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x048e94",
+ "hash" : "0x8c62d9e4c750f8614d0823c97e158b094526a260473aaca6120fcbb1369e9b31",
+ "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "nonce" : "0x0000000000000000",
+ "number" : "0x01",
+ "parentHash" : "0x28b205e28c291e32360401fdbc838b4e7bfe54cd4ed66202d573151067b981d3",
+ "receiptTrie" : "0xe40e289782b84a364d2ee061d3a90155ee4588d3a620df7e37ffeaea4d245d7f",
+ "stateRoot" : "0xe041049335f1fa055fd47c479e43ea4e152d0d1e184d3f6cbd05b03a0da4b2ef",
+ "timestamp" : "0x03e8",
+ "transactionsTrie" : "0x6699a721edbe144d89185307f94543d81eac21a51e695a947796db4287a526f0",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "rlp" : "0xf90260f901f8a028b205e28c291e32360401fdbc838b4e7bfe54cd4ed66202d573151067b981d3a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0e041049335f1fa055fd47c479e43ea4e152d0d1e184d3f6cbd05b03a0da4b2efa06699a721edbe144d89185307f94543d81eac21a51e695a947796db4287a526f0a0e40e289782b84a364d2ee061d3a90155ee4588d3a620df7e37ffeaea4d245d7fb901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020000018398968083048e948203e880a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f862f8608001830a1220943e180b1862f9d158abb5e519a6d8605540c2368201801ca0b001ebe1f1c2c148e5f967eefec26a5e803992a43df7a3e6d076d48a7ac02051a00faaf42b274ee6d589564191fb5ef7137d3b17a04c4028228f3a67f79c586c02c0",
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x0a1220",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xb001ebe1f1c2c148e5f967eefec26a5e803992a43df7a3e6d076d48a7ac02051",
+ "s" : "0x0faaf42b274ee6d589564191fb5ef7137d3b17a04c4028228f3a67f79c586c02",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x00",
+ "hash" : "0x28b205e28c291e32360401fdbc838b4e7bfe54cd4ed66202d573151067b981d3",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0x00",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0x903dd3e6f0cc71d6f7d277275160ddaa23f107b197b23566986c4468906f1f30",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0903dd3e6f0cc71d6f7d277275160ddaa23f107b197b23566986c4468906f1f30a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008083989680808203b642a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0",
+ "lastblockhash" : "0x8c62d9e4c750f8614d0823c97e158b094526a260473aaca6120fcbb1369e9b31",
+ "network" : "Constantinople",
+ "postState" : {
+ "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "0x1bc16d674ecc8e94",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x06",
+ "code" : "0x6001600055600060005560016000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa50600060198060b160003960006000f55000fe60016000556000600155600160015560006001556001600155",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a0816b",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01",
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155600060015560006001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xed443bcd15fddef7ad2771e49b6cd6e2927e3c6a" : {
+ "balance" : "0x00",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x6001600055600060005560016000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa50600060198060b160003960006000f55000fe60016000556000600155600160015560006001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155600060015560006001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_Xto0_d0g0v0.json b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_Xto0_d0g0v0.json
new file mode 100644
index 000000000..7aeec554b
--- /dev/null
+++ b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_Xto0_d0g0v0.json
@@ -0,0 +1,151 @@
+{
+ "sstore_Xto0_d0g0v0_Constantinople" : {
+ "_info" : {
+ "comment" : "change X -> 0",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0_d0g0v0Filler.json",
+ "sourceHash" : "112f19865d28b8097cd8c9605c9b1b3683cfb3b6fbd77c7656b757c113305997"
+ },
+ "blocks" : [
+ {
+ "blockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x02b420",
+ "hash" : "0xb6b0a4b7e8c5f7f06ec631e778fdcab9149db40235fb4969e993aec397f9dc2b",
+ "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "nonce" : "0x0000000000000000",
+ "number" : "0x01",
+ "parentHash" : "0x05ee291810f9c1efe6814a954274c8b4abe017e5275c6d549d1e637d284d3bf7",
+ "receiptTrie" : "0x2180ac9053ab4f4f780d02447e61cbcef93719b1edee52d2e4c3af160ff8e9ea",
+ "stateRoot" : "0xa45f97a6197fbc341ec052beee0de8626eb9564a6c972cb0e022ea672a9a51a9",
+ "timestamp" : "0x03e8",
+ "transactionsTrie" : "0x4004fb5b2eb3b2179f346926b3e15b0bdf98234a70476942915ce22cddbf4234",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "rlp" : "0xf90260f901f8a005ee291810f9c1efe6814a954274c8b4abe017e5275c6d549d1e637d284d3bf7a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0a45f97a6197fbc341ec052beee0de8626eb9564a6c972cb0e022ea672a9a51a9a04004fb5b2eb3b2179f346926b3e15b0bdf98234a70476942915ce22cddbf4234a02180ac9053ab4f4f780d02447e61cbcef93719b1edee52d2e4c3af160ff8e9eab90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001839896808302b4208203e880a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f862f86080018303f7a0943e180b1862f9d158abb5e519a6d8605540c2368201801ca0a629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1a07621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3cec0",
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x03f7a0",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1",
+ "s" : "0x7621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3ce",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x00",
+ "hash" : "0x05ee291810f9c1efe6814a954274c8b4abe017e5275c6d549d1e637d284d3bf7",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0x00",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0x43a39ba2a843af88733fb2d04cfd7e04f71315430fed816d5907686c6f52fe39",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa043a39ba2a843af88733fb2d04cfd7e04f71315430fed816d5907686c6f52fe39a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008083989680808203b642a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0",
+ "lastblockhash" : "0xb6b0a4b7e8c5f7f06ec631e778fdcab9149db40235fb4969e993aec397f9dc2b",
+ "network" : "Constantinople",
+ "postState" : {
+ "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "0x1bc16d674ecab420",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x06",
+ "code" : "0x60006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060a760003960006000f55000fe600060005560016001556000600155",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a25bdf",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xf9367adbf6e8547983533b5c1111c729e0aa2179" : {
+ "balance" : "0x00",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x60006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060a760003960006000f55000fe600060005560016001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0_d0g0v0.json b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0_d0g0v0.json
new file mode 100644
index 000000000..a0a18a78c
--- /dev/null
+++ b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0_d0g0v0.json
@@ -0,0 +1,152 @@
+{
+ "sstore_Xto0toXto0_d0g0v0_Constantinople" : {
+ "_info" : {
+ "comment" : "change X -> 0 -> X -> 0",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0_d0g0v0Filler.json",
+ "sourceHash" : "4c3822ed8c14952566515bf245579420b2dd26f0e65394648d3886bda6205b67"
+ },
+ "blocks" : [
+ {
+ "blockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x030984",
+ "hash" : "0x6248e687b5438d68e6d218ac149754120af8008687896ed3fa468b5691432e9c",
+ "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "nonce" : "0x0000000000000000",
+ "number" : "0x01",
+ "parentHash" : "0x7a90420876557f4fcfb160b5fb4aaa8c2c6a70807b9c15c5c0197a96f0bc9f0b",
+ "receiptTrie" : "0xef80ef83967562ed6bfb42703c7a1816dd958282c9787303ac867b04dc79eb86",
+ "stateRoot" : "0xfb08ea24b33219c20cfc869cf52aa801b7432d9f2e577ba7c35106bb625498fd",
+ "timestamp" : "0x03e8",
+ "transactionsTrie" : "0x6699a721edbe144d89185307f94543d81eac21a51e695a947796db4287a526f0",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "rlp" : "0xf90260f901f8a07a90420876557f4fcfb160b5fb4aaa8c2c6a70807b9c15c5c0197a96f0bc9f0ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0fb08ea24b33219c20cfc869cf52aa801b7432d9f2e577ba7c35106bb625498fda06699a721edbe144d89185307f94543d81eac21a51e695a947796db4287a526f0a0ef80ef83967562ed6bfb42703c7a1816dd958282c9787303ac867b04dc79eb86b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000183989680830309848203e880a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f862f8608001830a1220943e180b1862f9d158abb5e519a6d8605540c2368201801ca0b001ebe1f1c2c148e5f967eefec26a5e803992a43df7a3e6d076d48a7ac02051a00faaf42b274ee6d589564191fb5ef7137d3b17a04c4028228f3a67f79c586c02c0",
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x0a1220",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xb001ebe1f1c2c148e5f967eefec26a5e803992a43df7a3e6d076d48a7ac02051",
+ "s" : "0x0faaf42b274ee6d589564191fb5ef7137d3b17a04c4028228f3a67f79c586c02",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x00",
+ "hash" : "0x7a90420876557f4fcfb160b5fb4aaa8c2c6a70807b9c15c5c0197a96f0bc9f0b",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0x00",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0x8718df7e74b92f07a740ff032a35e5ed3ee697c6d40fe6932adf4abe5354e24a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa08718df7e74b92f07a740ff032a35e5ed3ee697c6d40fe6932adf4abe5354e24aa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008083989680808203b642a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0",
+ "lastblockhash" : "0x6248e687b5438d68e6d218ac149754120af8008687896ed3fa468b5691432e9c",
+ "network" : "Constantinople",
+ "postState" : {
+ "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "0x1bc16d674ecb0984",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x06",
+ "code" : "0x6000600055600160005560006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa50600060198060b160003960006000f55000fe60016000556001600155600060015560016001556000600155",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a2067b",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155600160015560006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xbf97a5dea408a053b51a91d7a8051c0f04652d44" : {
+ "balance" : "0x00",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600160015560016001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x6000600055600160005560006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa50600060198060b160003960006000f55000fe60016000556001600155600060015560016001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155600160015560006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600160015560016001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_XtoX_d0g0v0.json b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_XtoX_d0g0v0.json
new file mode 100644
index 000000000..5cb3cd65a
--- /dev/null
+++ b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_XtoX_d0g0v0.json
@@ -0,0 +1,153 @@
+{
+ "sstore_XtoX_d0g0v0_Constantinople" : {
+ "_info" : {
+ "comment" : "change X -> X",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoX_d0g0v0Filler.json",
+ "sourceHash" : "08832e09aaa6d7d6aed35cd8af55c5b2f95ccf9ecaff598074a83f455d773a87"
+ },
+ "blocks" : [
+ {
+ "blockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x03049e",
+ "hash" : "0x37702f902e3c2cc0263d48a349da4851c12c61d6f811a843564c0f76009dea6b",
+ "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "nonce" : "0x0000000000000000",
+ "number" : "0x01",
+ "parentHash" : "0xcc37d6fd0a411b21587bc32fa0868d75684f16eb7866e342b41a90cded55c878",
+ "receiptTrie" : "0xdcbaabddade91d122dd656c6f26e87bff474fcdff888daaa3c083d74f53f8cf3",
+ "stateRoot" : "0xc0327d2bd6cb65d3fa38880cca9df8683b5c96fa8197cb8543ec0383db620a60",
+ "timestamp" : "0x03e8",
+ "transactionsTrie" : "0x4004fb5b2eb3b2179f346926b3e15b0bdf98234a70476942915ce22cddbf4234",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "rlp" : "0xf90260f901f8a0cc37d6fd0a411b21587bc32fa0868d75684f16eb7866e342b41a90cded55c878a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0c0327d2bd6cb65d3fa38880cca9df8683b5c96fa8197cb8543ec0383db620a60a04004fb5b2eb3b2179f346926b3e15b0bdf98234a70476942915ce22cddbf4234a0dcbaabddade91d122dd656c6f26e87bff474fcdff888daaa3c083d74f53f8cf3b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001839896808303049e8203e880a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f862f86080018303f7a0943e180b1862f9d158abb5e519a6d8605540c2368201801ca0a629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1a07621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3cec0",
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x03f7a0",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1",
+ "s" : "0x7621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3ce",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x00",
+ "hash" : "0xcc37d6fd0a411b21587bc32fa0868d75684f16eb7866e342b41a90cded55c878",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0x00",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0x75bfaabe5c7ba89b0b6658afb596c870483fcddb25d7a1f7bf3c23176251b903",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa075bfaabe5c7ba89b0b6658afb596c870483fcddb25d7a1f7bf3c23176251b903a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008083989680808203b642a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0",
+ "lastblockhash" : "0x37702f902e3c2cc0263d48a349da4851c12c61d6f811a843564c0f76009dea6b",
+ "network" : "Constantinople",
+ "postState" : {
+ "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "0x1bc16d674ecb049e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x06",
+ "code" : "0x600060005560036003556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060ac60003960006000f55000fe600060005560016001556001600155",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x02" : "0x01",
+ "0x03" : "0x03"
+ }
+ },
+ "0x72cd8e726891a610b7c2103e6f6b173d2affd716" : {
+ "balance" : "0x00",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a20b61",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6002600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ }
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x600060005560036003556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060ac60003960006000f55000fe600060005560016001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x03"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6002600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_XtoY_d0g0v0.json b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_XtoY_d0g0v0.json
new file mode 100644
index 000000000..50bf6f1d1
--- /dev/null
+++ b/BlockchainTests/GeneralStateTests/stSStoreTest/sstore_XtoY_d0g0v0.json
@@ -0,0 +1,153 @@
+{
+ "sstore_XtoY_d0g0v0_Constantinople" : {
+ "_info" : {
+ "comment" : "change X -> Y",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoY_d0g0v0Filler.json",
+ "sourceHash" : "39a27c143dda43fbb644e030f305d4e5eee2e79667f82797c38ba0097d34769f"
+ },
+ "blocks" : [
+ {
+ "blockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x032a1e",
+ "hash" : "0x24ac241441f8011325ef1e2d9c16f11df9e081a59e74b586814d9721e4fdd4c6",
+ "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "nonce" : "0x0000000000000000",
+ "number" : "0x01",
+ "parentHash" : "0xf58b32238741dd6b449c06b1bd5a839f925993cbc4c59e71a1f4c801dda943b9",
+ "receiptTrie" : "0x9789df40c4bb7ce588858e6727bf4685126019abfbbbd9edfe81ba91d1ba6fe5",
+ "stateRoot" : "0x19a4738d9b1c1807862f1757d795d4c159a1e66ddc89b6c1dbfce891b842081f",
+ "timestamp" : "0x03e8",
+ "transactionsTrie" : "0x4004fb5b2eb3b2179f346926b3e15b0bdf98234a70476942915ce22cddbf4234",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "rlp" : "0xf90260f901f8a0f58b32238741dd6b449c06b1bd5a839f925993cbc4c59e71a1f4c801dda943b9a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa019a4738d9b1c1807862f1757d795d4c159a1e66ddc89b6c1dbfce891b842081fa04004fb5b2eb3b2179f346926b3e15b0bdf98234a70476942915ce22cddbf4234a09789df40c4bb7ce588858e6727bf4685126019abfbbbd9edfe81ba91d1ba6fe5b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020000018398968083032a1e8203e880a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f862f86080018303f7a0943e180b1862f9d158abb5e519a6d8605540c2368201801ca0a629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1a07621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3cec0",
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x03f7a0",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1",
+ "s" : "0x7621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3ce",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "0x020000",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0x00",
+ "hash" : "0xf58b32238741dd6b449c06b1bd5a839f925993cbc4c59e71a1f4c801dda943b9",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0x00",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xe2eed09398a82059fc38aa9aa321313a778618f90a607fe613a99d8f98a823ad",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0e2eed09398a82059fc38aa9aa321313a778618f90a607fe613a99d8f98a823ada056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008083989680808203b642a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0",
+ "lastblockhash" : "0x24ac241441f8011325ef1e2d9c16f11df9e081a59e74b586814d9721e4fdd4c6",
+ "network" : "Constantinople",
+ "postState" : {
+ "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "0x1bc16d674ecb2a1e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x06",
+ "code" : "0x600060005560026003556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060ac60003960006000f55000fe600060005560016001556004600155",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x02" : "0x01",
+ "0x03" : "0x02"
+ }
+ },
+ "0x99abdddfad0c5cc6aa06772e0eb85613ec0abd2d" : {
+ "balance" : "0x00",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x01" : "0x04"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a1e5e1",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x600060005560026003556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060ac60003960006000f55000fe600060005560016001556004600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x03"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x02"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json b/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json
new file mode 100644
index 000000000..f71a04ab1
--- /dev/null
+++ b/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json
@@ -0,0 +1,64 @@
+{
+ "SstoreCallToSelfSubRefundBelowZero" : {
+ "_info" : {
+ "comment" : "Test where accnt has slot 1 value of '2', is cleared, then calls itself and overwrites with '3', causing a refund-deduction in second call context",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json",
+ "sourceHash" : "2e42f7eb6765b92d2d072f44dd33cf46914f97319081edb2780ba228f9d33466"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x1000000000",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Constantinople" : [
+ {
+ "hash" : "0x41cf9857a9d18ec5bb6599b269ce5259a97b360f85d379a232942c385b237b62",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xffffffffffffffff",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6" : {
+ "balance" : "0x00",
+ "code" : "0x3330146015576000600155600080808080305af1005b600360015500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x241eb2"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6",
+ "value" : [
+ "0x00"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSStoreTest/sstore_0to0.json b/GeneralStateTests/stSStoreTest/sstore_0to0.json
new file mode 100644
index 000000000..105aecd8a
--- /dev/null
+++ b/GeneralStateTests/stSStoreTest/sstore_0to0.json
@@ -0,0 +1,77 @@
+{
+ "sstore_0to0" : {
+ "_info" : {
+ "comment" : "change 0 -> 0",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSStoreTest/sstore_0to0Filler.json",
+ "sourceHash" : "4ba6fc89319db71bd23d5c54f0b8cf66d1abd4b2f4cf8287015406cce6aefeb7"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Constantinople" : [
+ {
+ "hash" : "0x49cdd90e22d15c53bcd9bff4d66e2994a35261ffd0f830dcbed6c2ff1c4d13fb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x60006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600a8060a760003960006000f55000fe60006000556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x03f7a0"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "0x01"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSStoreTest/sstore_0toXto0toX.json b/GeneralStateTests/stSStoreTest/sstore_0toXto0toX.json
new file mode 100644
index 000000000..43cd4ee1c
--- /dev/null
+++ b/GeneralStateTests/stSStoreTest/sstore_0toXto0toX.json
@@ -0,0 +1,77 @@
+{
+ "sstore_0toXto0toX" : {
+ "_info" : {
+ "comment" : "change 0 -> X -> 0 -> X",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSStoreTest/sstore_0toXto0toXFiller.json",
+ "sourceHash" : "895a95946cd0d6fe65d9ac178dd4e103b0f9436478512c47bb56647a985fcad2"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Constantinople" : [
+ {
+ "hash" : "0xb63ac7f12be4d61bd189aea118d978bec1720b01a16edd58cbb3317b17a602cd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x6001600055600060005560016000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa50600060198060b160003960006000f55000fe60016000556000600155600160015560006001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155600060015560006001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x0a1220"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "0x01"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSStoreTest/sstore_Xto0.json b/GeneralStateTests/stSStoreTest/sstore_Xto0.json
new file mode 100644
index 000000000..566c117e1
--- /dev/null
+++ b/GeneralStateTests/stSStoreTest/sstore_Xto0.json
@@ -0,0 +1,80 @@
+{
+ "sstore_Xto0" : {
+ "_info" : {
+ "comment" : "change X -> 0",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0Filler.json",
+ "sourceHash" : "fc3e1c6ce2175a7c1fc572280399f2aad8eeca32f81ea56bf49b5036ea47f11a"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Constantinople" : [
+ {
+ "hash" : "0x0d5aecf82a3653177e3586b47f23ad81ba3a136f7beb8ddc91f585d6d213d455",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x60006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060a760003960006000f55000fe600060005560016001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x03f7a0"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "0x01"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0.json b/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0.json
new file mode 100644
index 000000000..356d618ac
--- /dev/null
+++ b/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0.json
@@ -0,0 +1,80 @@
+{
+ "sstore_Xto0toXto0" : {
+ "_info" : {
+ "comment" : "change X -> 0 -> X -> 0",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0toXto0Filler.json",
+ "sourceHash" : "823e56434856d45d61aa008429db9e9582db0a0a9f41e0d3926751899fa6feef"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Constantinople" : [
+ {
+ "hash" : "0x4570a1e96d27fec307db62d99efde6b75bd6194c72a0efb00a1a5a6673c0d9c1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x6000600055600160005560006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa50600060198060b160003960006000f55000fe60016000556001600155600060015560016001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155600160015560006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600160015560016001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x0a1220"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "0x01"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSStoreTest/sstore_XtoX.json b/GeneralStateTests/stSStoreTest/sstore_XtoX.json
new file mode 100644
index 000000000..ab2670bfd
--- /dev/null
+++ b/GeneralStateTests/stSStoreTest/sstore_XtoX.json
@@ -0,0 +1,80 @@
+{
+ "sstore_XtoX" : {
+ "_info" : {
+ "comment" : "change X -> X",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoXFiller.json",
+ "sourceHash" : "8133f57f84b29bb1b352e4d26f618cd1c2ec820e910985446e6094043b1d7457"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Constantinople" : [
+ {
+ "hash" : "0xb5eae1fbc75ef0707102cac4a9cb5f13ee6b8f3c3bfc818f621f61b93572284e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x600060005560036003556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060ac60003960006000f55000fe600060005560016001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x03"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6002600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x03f7a0"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "0x01"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSStoreTest/sstore_XtoY.json b/GeneralStateTests/stSStoreTest/sstore_XtoY.json
new file mode 100644
index 000000000..bf4f5e4e6
--- /dev/null
+++ b/GeneralStateTests/stSStoreTest/sstore_XtoY.json
@@ -0,0 +1,80 @@
+{
+ "sstore_XtoY" : {
+ "_info" : {
+ "comment" : "change X -> Y",
+ "filledwith" : "testeth 1.5.0.dev2-76+commit.2fd57400",
+ "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYFiller.json",
+ "sourceHash" : "318a542edde8893fd4ee5cf0b646a93e7784f95998b8874607f7a4a742a819ce"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Constantinople" : [
+ {
+ "hash" : "0x89963b4143f721187bbbead52b7aadb476c63e2ba6939cbe5a64b567293c684d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x600060005560026003556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060ac60003960006000f55000fe600060005560016001556004600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x03"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x02"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x03f7a0"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "0x01"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero_d0g0v0Filler.json
new file mode 100644
index 000000000..b3162180d
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero_d0g0v0Filler.json
@@ -0,0 +1,85 @@
+{
+ "SstoreCallToSelfSubRefundBelowZero_d0g0v0" : {
+ "_info" : {
+ "comment" : "Test where accnt has slot 1 value of '2', is cleared, then calls itself and overwrites with '3', causing a refund-deduction in second call context"
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x1000000000",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x241eb2",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x40f3438db266a7d413ce23bbf53af41f8ebf855945148418ae6da0213d26c8c5",
+ "s" : "0x7aa326d6bf378497d42da537ba6aee21e642d64e734def1ceda80eee7b361f92",
+ "to" : "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6",
+ "v" : "0x1b",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xffffffffffff96a3",
+ "nonce" : "0x01"
+ },
+ "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6" : {
+ "balance" : "0x00",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x03"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x1000000000",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xffffffffffffffff",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6" : {
+ "balance" : "0x00",
+ "code" : "0x3330146015576000600155600080808080305af1005b600360015500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0to0_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0to0_d0g0v0Filler.json
new file mode 100644
index 000000000..68e6e9cab
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0to0_d0g0v0Filler.json
@@ -0,0 +1,97 @@
+{
+ "sstore_0to0_d0g0v0" : {
+ "_info" : {
+ "comment" : "change 0 -> 0"
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x03f7a0",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1",
+ "s" : "0x7621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3ce",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x80cdc4cd8b9517daba0a771f92dcaaa677707eb9" : {
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x60006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600a8060a760003960006000f55000fe60006000556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0toXto0toX_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0toXto0toX_d0g0v0Filler.json
new file mode 100644
index 000000000..001e407c6
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_0toXto0toX_d0g0v0Filler.json
@@ -0,0 +1,106 @@
+{
+ "sstore_0toXto0toX_d0g0v0" : {
+ "_info" : {
+ "comment" : "change 0 -> X -> 0 -> X"
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x0a1220",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xb001ebe1f1c2c148e5f967eefec26a5e803992a43df7a3e6d076d48a7ac02051",
+ "s" : "0x0faaf42b274ee6d589564191fb5ef7137d3b17a04c4028228f3a67f79c586c02",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x01"
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x01" : "0x01",
+ "0x02" : "0x01"
+ }
+ },
+ "0xed443bcd15fddef7ad2771e49b6cd6e2927e3c6a" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x6001600055600060005560016000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa50600060198060b160003960006000f55000fe60016000556000600155600160015560006001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155600060015560006001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0_d0g0v0Filler.json
new file mode 100644
index 000000000..21d814caa
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0_d0g0v0Filler.json
@@ -0,0 +1,99 @@
+{
+ "sstore_Xto0_d0g0v0" : {
+ "_info" : {
+ "comment" : "change X -> 0"
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x03f7a0",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1",
+ "s" : "0x7621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3ce",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0xb000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xf9367adbf6e8547983533b5c1111c729e0aa2179" : {
+ "storage" : {
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x60006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060a760003960006000f55000fe600060005560016001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0_d0g0v0Filler.json
new file mode 100644
index 000000000..2a814a7c3
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0_d0g0v0Filler.json
@@ -0,0 +1,105 @@
+{
+ "sstore_Xto0toXto0_d0g0v0" : {
+ "_info" : {
+ "comment" : "change X -> 0 -> X -> 0"
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x0a1220",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xb001ebe1f1c2c148e5f967eefec26a5e803992a43df7a3e6d076d48a7ac02051",
+ "s" : "0x0faaf42b274ee6d589564191fb5ef7137d3b17a04c4028228f3a67f79c586c02",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xbf97a5dea408a053b51a91d7a8051c0f04652d44" : {
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x6000600055600160005560006000556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa50600060198060b160003960006000f55000fe60016000556001600155600060015560016001556000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155600160015560006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600160015560016001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoX_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoX_d0g0v0Filler.json
new file mode 100644
index 000000000..4b63914ee
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoX_d0g0v0Filler.json
@@ -0,0 +1,111 @@
+{
+ "sstore_XtoX_d0g0v0" : {
+ "_info" : {
+ "comment" : "change X -> X"
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x03f7a0",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1",
+ "s" : "0x7621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3ce",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "storage" : {
+ "0x02" : "0x01",
+ "0x03" : "0x03"
+ }
+ },
+ "0x72cd8e726891a610b7c2103e6f6b173d2affd716" : {
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x600060005560036003556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060ac60003960006000f55000fe600060005560016001556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x03"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6002600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoY_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoY_d0g0v0Filler.json
new file mode 100644
index 000000000..389e7e3fa
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_XtoY_d0g0v0Filler.json
@@ -0,0 +1,111 @@
+{
+ "sstore_XtoY_d0g0v0" : {
+ "_info" : {
+ "comment" : "change X -> Y"
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x03f7a0",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa629dbbd169657029745389ac295c6054d602ea3329f1cc6544bf4033a13ccd1",
+ "s" : "0x7621280f580073e3ae85a7fa594d394c41d32c6bf1ed60db6a514a67e639d3ce",
+ "to" : "0x3e180b1862f9d158abb5e519a6d8605540c23682",
+ "v" : "0x1c",
+ "value" : "0x01"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "storage" : {
+ "0x02" : "0x01",
+ "0x03" : "0x02"
+ }
+ },
+ "0x99abdddfad0c5cc6aa06772e0eb85613ec0abd2d" : {
+ "storage" : {
+ "0x01" : "0x04"
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0x3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "0x05",
+ "code" : "0x600060005560026003556000600060006000600073b000000000000000000000000000000000000000620186a0f1506000600060006000600073b000000000000000000000000000000000000000620186a0f250600060006000600073b000000000000000000000000000000000000000620186a0f450600060006000600073b000000000000000000000000000000000000000620186a0fa506000600f8060ac60003960006000f55000fe600060005560016001556004600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x03"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xb000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x60006001556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x02" : "0x02"
+ }
+ },
+ "0xc000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6000600155",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json b/src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json
new file mode 100644
index 000000000..e2d083f7c
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json
@@ -0,0 +1,69 @@
+{
+ "SstoreCallToSelfSubRefundBelowZero": {
+ "_info": {
+ "comment": "Test where accnt has slot 1 value of '2', is cleared, then calls itself and overwrites with '3', causing a refund-deduction in second call context"
+ },
+ "env": {
+ "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty": "0x20000",
+ "currentGasLimit": "0x1000000000",
+ "currentNumber": "0x01",
+ "currentTimestamp": "0x03e8",
+ "previousHash": "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xffffffffffff96a3",
+ "nonce" : "0x01"
+ },
+ "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6" : {
+ "balance" : "0x00",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x03"
+ }
+ }
+ }
+ }
+ ],
+ "pre": {
+ "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6": {
+ "balance": "0x00",
+ "code": "0x3330146015576000600155600080808080305af1005b600360015500",
+ "nonce": "0x00",
+ "storage": {
+ "0x01": "0x0000000000000000000000000000000000000000000000000000000000000002"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b": {
+ "balance": "0xffffffffffffffff",
+ "code": "",
+ "nonce": "0x00",
+ "storage": {}
+ }
+ },
+ "transaction": {
+ "data": [
+ "0x"
+ ],
+ "gasLimit": [
+ "0x241eb2"
+ ],
+ "gasPrice": "0x01",
+ "nonce": "0x00",
+ "secretKey": "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to": "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6",
+ "value": [
+ "0x00"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/sstore_0to0Filler.json b/src/GeneralStateTestsFiller/stSStoreTest/sstore_0to0Filler.json
new file mode 100644
index 000000000..a5486e398
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSStoreTest/sstore_0to0Filler.json
@@ -0,0 +1,83 @@
+{
+ "sstore_0to0" : {
+ "_info" : {
+ "comment" : "change 0 -> 0"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "80cdc4cd8b9517daba0a771f92dcaaa677707eb9" : {
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "5",
+ "code" : "{ (seq [[0]] 0 (CALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALLCODE 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (DELEGATECALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (STATICCALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (CREATE2 0 0 (lll (seq (SSTORE 0 0) (SSTORE 1 1) ) 0) 0) (STOP) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 0 [[2]] 1 }",
+ "nonce" : "",
+ "storage" : {
+ }
+ },
+ "c000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 0 }",
+ "nonce" : "",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "260000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/sstore_0toXto0toXFiller.json b/src/GeneralStateTestsFiller/stSStoreTest/sstore_0toXto0toXFiller.json
new file mode 100644
index 000000000..bea507cdd
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSStoreTest/sstore_0toXto0toXFiller.json
@@ -0,0 +1,95 @@
+{
+ "sstore_0toXto0toX" : {
+ "_info" : {
+ "comment" : "change 0 -> X -> 0 -> X"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "ed443bcd15fddef7ad2771e49b6cd6e2927e3c6a" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x01"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x01" : "0x01",
+ "0x02" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "5",
+ "code" : "{ (seq [[0]] 1 [[0]] 0 [[0]] 1 (CALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALLCODE 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (DELEGATECALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (STATICCALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (CREATE2 0 0 (lll (seq (SSTORE 0 1) (SSTORE 1 0) (SSTORE 1 1) (SSTORE 1 0) (SSTORE 1 1) ) 0) 0) (STOP) ) }",
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x00"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 1 [[1]] 0 [[1]] 1 [[2]] 1 }",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ },
+ "c000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 0 [[1]] 0 [[1]] 0 [[1]] 0 }",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "660000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0Filler.json b/src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0Filler.json
new file mode 100644
index 000000000..6090e71a3
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0Filler.json
@@ -0,0 +1,86 @@
+{
+ "sstore_Xto0" : {
+ "_info" : {
+ "comment" : "change X -> 0"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "f9367adbf6e8547983533b5c1111c729e0aa2179" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "5",
+ "code" : "{ (seq [[0]] 0 (CALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALLCODE 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (DELEGATECALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (STATICCALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (CREATE2 0 0 (lll (seq (SSTORE 0 0) (SSTORE 1 1) (SSTORE 1 0) ) 0) 0) (STOP) ) }",
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 0 [[2]] 1 }",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "c000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 0 }",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "260000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0toXto0Filler.json b/src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0toXto0Filler.json
new file mode 100644
index 000000000..7d809e393
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSStoreTest/sstore_Xto0toXto0Filler.json
@@ -0,0 +1,95 @@
+{
+ "sstore_Xto0toXto0" : {
+ "_info" : {
+ "comment" : "change X -> 0 -> X -> 0"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "bf97a5dea408a053b51a91d7a8051c0f04652d44" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00"
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x01"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "5",
+ "code" : "{ (seq [[0]] 0 [[0]] 1 [[0]] 0 (CALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALLCODE 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (DELEGATECALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (STATICCALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (CREATE2 0 0 (lll (seq (SSTORE 0 1) (SSTORE 1 1) (SSTORE 1 0) (SSTORE 1 1) (SSTORE 1 0) ) 0) 0) (STOP) ) }",
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 0 [[1]] 1 [[1]] 0 [[2]] 1 }",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "c000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 1 [[1]] 1 [[1]] 1 [[1]] 1 }",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "660000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoXFiller.json b/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoXFiller.json
new file mode 100644
index 000000000..3bd4c1741
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoXFiller.json
@@ -0,0 +1,97 @@
+{
+ "sstore_XtoX" : {
+ "_info" : {
+ "comment" : "change X -> X"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "72cd8e726891a610b7c2103e6f6b173d2affd716" : {
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "c000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "storage" : {
+ "0x02" : "0x01",
+ "0x03" : "0x03"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "5",
+ "code" : "{ (seq [[0]] 0 [[3]] 3 (CALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALLCODE 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (DELEGATECALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (STATICCALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (CREATE2 0 0 (lll (seq (SSTORE 0 0) (SSTORE 1 1) (SSTORE 1 1) ) 0) 0) (STOP) ) }",
+ "nonce" : "0",
+ "storage" : {
+ "0x03" : "0x03"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 0 [[2]] 1 }",
+ "nonce" : "",
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "c000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 2 }",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x02"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "260000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYFiller.json b/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYFiller.json
new file mode 100644
index 000000000..33ccf23a9
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYFiller.json
@@ -0,0 +1,97 @@
+{
+ "sstore_XtoY" : {
+ "_info" : {
+ "comment" : "change X -> Y"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "99abdddfad0c5cc6aa06772e0eb85613ec0abd2d" : {
+ "storage" : {
+ "0x01" : "0x04"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x02" : "0x01"
+ }
+ },
+ "c000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "storage" : {
+ "0x02" : "0x01",
+ "0x03" : "0x02"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3e180b1862f9d158abb5e519a6d8605540c23682" : {
+ "balance" : "5",
+ "code" : "{ (seq [[0]] 0 [[3]] 2 (CALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALLCODE 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (DELEGATECALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (STATICCALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (CREATE2 0 0 (lll (seq (SSTORE 0 0) (SSTORE 1 1) (SSTORE 1 4) ) 0) 0) (STOP) ) }",
+ "nonce" : "0",
+ "storage" : {
+ "0x03" : "0x03"
+ }
+ },
+ "b000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 0 [[2]] 1 }",
+ "nonce" : "",
+ "storage" : {
+ "0x02" : "0x02"
+ }
+ },
+ "c000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 0 }",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "260000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "3e180b1862f9d158abb5e519a6d8605540c23682",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}