aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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
14 files changed, 1336 insertions, 0 deletions
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"
+ ]
+ }
+ }
+}