aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitry <dimitry@ethereum.org>2018-10-25 06:36:11 +0800
committerDimitry <dimitry@ethereum.org>2018-10-25 06:36:11 +0800
commit3437c744fac38f4ee9bc0ed6cabeb1058c097f2f (patch)
tree8c6123c2e498569f002864c21bfb641df55b373a /src
parent5b4cc6c9d5b4004be8369852e5f9cfe4e81200df (diff)
downloadtangerine-tests-3437c744fac38f4ee9bc0ed6cabeb1058c097f2f.tar
tangerine-tests-3437c744fac38f4ee9bc0ed6cabeb1058c097f2f.tar.gz
tangerine-tests-3437c744fac38f4ee9bc0ed6cabeb1058c097f2f.tar.bz2
tangerine-tests-3437c744fac38f4ee9bc0ed6cabeb1058c097f2f.tar.lz
tangerine-tests-3437c744fac38f4ee9bc0ed6cabeb1058c097f2f.tar.xz
tangerine-tests-3437c744fac38f4ee9bc0ed6cabeb1058c097f2f.tar.zst
tangerine-tests-3437c744fac38f4ee9bc0ed6cabeb1058c097f2f.zip
sstore collision overwrite sstore
external call overwrite sstore
Diffstat (limited to 'src')
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d0g0v0Filler.json88
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d10g0v0Filler.json89
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d11g0v0Filler.json89
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d12g0v0Filler.json89
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d13g0v0Filler.json89
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d14g0v0Filler.json89
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d15g0v0Filler.json89
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d1g0v0Filler.json88
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d2g0v0Filler.json89
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d3g0v0Filler.json88
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d4g0v0Filler.json94
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d5g0v0Filler.json94
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d6g0v0Filler.json89
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d7g0v0Filler.json94
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d8g0v0Filler.json89
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d9g0v0Filler.json89
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/InitCollisionFiller.json162
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/sstore_changeFromExternalCallInInitCodeFiller.json161
18 files changed, 1759 insertions, 0 deletions
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d0g0v0Filler.json
new file mode 100644
index 000000000..762d65b13
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d0g0v0Filler.json
@@ -0,0 +1,88 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d0g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000600060006000600073bea0000000000000000000000000000000000000620186a0f1",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x9ba7a5865675b95cea42b6fa8749c159392d6b6d7985a9a5aa4994d2543cb61f",
+ "s" : "0x7de3ce4419caca5b30de3363f6cb8da0a101355835c22bcec079302f62907816",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d10g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d10g0v0Filler.json
new file mode 100644
index 000000000..455ea1c6b
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d10g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d10g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602280601760003960006000f55060006000fd00fe600060006000600073bea0000000000000000000000000000000000000620186a0f4",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x84cb057d2be4676937446d0e47a393c70c7a9a625d58799b58a7e7302256e8ca",
+ "s" : "0x26f48ac41f00cb034e68dbaa66ee3dcd2f5d8cfd788a1abc647795f220a28f08",
+ "to" : "",
+ "v" : "0x1b",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d11g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d11g0v0Filler.json
new file mode 100644
index 000000000..3038c510e
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d11g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d11g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602280603760003960006000f5506000600060006000600073dea000000000000000000000000000000000000062030d40f15000fe600060006000600073bea0000000000000000000000000000000000000620186a0f4",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x23a0cb31ed9b90170fdb5db4330bd60ae08ff96e5613a27c175fe944f1eebfc0",
+ "s" : "0x343bcb9c683cc71bf0cfdc82a9b95edfa70dd2e9d801634a0ce2105d37632172",
+ "to" : "",
+ "v" : "0x1b",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d12g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d12g0v0Filler.json
new file mode 100644
index 000000000..847a96602
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d12g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d12g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x600060006000600073bea0000000000000000000000000000000000000620186a0fa",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xdca89c51acc3b3f65eb9c8ff361c4b87526a23988bcb2b94d400caa8ebdaa115",
+ "s" : "0x326a15f82b3def62c0b609a53f8af1ea8b0062d606db73bd0299bc6f62155a3e",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d13g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d13g0v0Filler.json
new file mode 100644
index 000000000..e022d3969
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d13g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d13g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602280601260003960006000f55000fe600060006000600073bea0000000000000000000000000000000000000620186a0fa",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xce360547ea358af7b86d7ec5d2a46479851336d37037bda29c102927ee630ab2",
+ "s" : "0x6c5adf68b360513e1d3819296d1a9e4574b226c305340a4ea797de56f5b30c40",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d14g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d14g0v0Filler.json
new file mode 100644
index 000000000..599be8811
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d14g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d14g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602280601760003960006000f55060006000fd00fe600060006000600073bea0000000000000000000000000000000000000620186a0fa",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xcfdf43b24779145c758e8ff42fb908569b71d461487c74f758fea6b8ca38fd4f",
+ "s" : "0x2985239d71d6a98585673da441d6a8cf57b6d31e22b5f532fcd8e0b634874a64",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d15g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d15g0v0Filler.json
new file mode 100644
index 000000000..fda6d9a50
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d15g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d15g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602280603760003960006000f5506000600060006000600073dea000000000000000000000000000000000000062030d40f15000fe600060006000600073bea0000000000000000000000000000000000000620186a0fa",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x42f93d594239d78dced5b08686b1d334b633177709edc0e337ed41a42aee1414",
+ "s" : "0x39b630ecf6c3d067a75971052c1fa708e47e4612519c48aceb222271bfaaebbb",
+ "to" : "",
+ "v" : "0x1b",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d1g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d1g0v0Filler.json
new file mode 100644
index 000000000..81da6cd5d
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d1g0v0Filler.json
@@ -0,0 +1,88 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d1g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602480601260003960006000f55000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f1",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x29b4cfbf06761f2622a12b7064bf1d77177ecb44108e35d540cad115dcd8557a",
+ "s" : "0x554dc0ca17b7cb80e35b327d7f6ddb13124ac31f76c3fc05e9f4a606a80fc2c9",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d2g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d2g0v0Filler.json
new file mode 100644
index 000000000..c46d8e3e8
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d2g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d2g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602480601760003960006000f55060006000fd00fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f1",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x5eb346d9c1f480d98538b8dbc2513bb9862828a52fe43482d90f738d30d6b248",
+ "s" : "0x51f223030afdb61017eec50513434f9f34ee3bad3f328a88ce0e59a1975892b0",
+ "to" : "",
+ "v" : "0x1b",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d3g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d3g0v0Filler.json
new file mode 100644
index 000000000..8727bd6df
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d3g0v0Filler.json
@@ -0,0 +1,88 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d3g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602480603760003960006000f5506000600060006000600073dea000000000000000000000000000000000000062030d40f15000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f1",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa7e6b7c70bf8515ed5670b62acb81b09e3a1287e6e92cbe1b0d202f9881857b2",
+ "s" : "0x6b70914eec9dd3257d901d0badc240316f2452e094754354a5a8cc7eec9808b7",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d4g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d4g0v0Filler.json
new file mode 100644
index 000000000..0a1d559b3
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d4g0v0Filler.json
@@ -0,0 +1,94 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d4g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000600060006000600073bea0000000000000000000000000000000000000620186a0f2",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x7ab7f8a1ab8b255be26fcc015ac2dd4e8579fdbb93055f65cba27cd897b4f0ff",
+ "s" : "0x769a83f5cc478176c5d6f2ae9d155fb2f8f613a4dbfb848ce5a35bffe745a664",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d5g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d5g0v0Filler.json
new file mode 100644
index 000000000..54f7a013c
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d5g0v0Filler.json
@@ -0,0 +1,94 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d5g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602480601260003960006000f55000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f2",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xa20c81fa4cc5f239dadcba456837780a1b0313786761136201d3b1b68fb87f9c",
+ "s" : "0x5596b158c762dd66f4ae23c9b42ac9d86cc16bdea1c46b2decfc2669d3619102",
+ "to" : "",
+ "v" : "0x1b",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d6g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d6g0v0Filler.json
new file mode 100644
index 000000000..0e8f6b4bf
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d6g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d6g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602480601760003960006000f55060006000fd00fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f2",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x07e8c1075e1e3a5ddf44c7cf2ffd36bec516afa3027e61166666d252a143bf63",
+ "s" : "0x07cc15a64d272568dab48d263c838d28cc4615a9ae0f9f054919019870ffb3df",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d7g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d7g0v0Filler.json
new file mode 100644
index 000000000..00b6e1de3
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d7g0v0Filler.json
@@ -0,0 +1,94 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d7g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602480603760003960006000f5506000600060006000600073dea000000000000000000000000000000000000062030d40f15000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f2",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xab629d1a45b9cb618ba859dc411cddbdafba45a2918899cf678566c25a35dc91",
+ "s" : "0x219d638720085c990264889a866db601f7e6507048dfd6a110f71c1bd1dbb58d",
+ "to" : "",
+ "v" : "0x1b",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d8g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d8g0v0Filler.json
new file mode 100644
index 000000000..24cd395bf
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d8g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d8g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x600060006000600073bea0000000000000000000000000000000000000620186a0f4",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x3aa1b899bcd94185fdf23e146ad8298e3330810517a57d7a9b1392ff3318529c",
+ "s" : "0x1065903fdab02dc38052569cc80278a5e1d636925a0ed63d78bac0967ae0cef4",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d9g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d9g0v0Filler.json
new file mode 100644
index 000000000..ab739789a
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode_d9g0v0Filler.json
@@ -0,0 +1,89 @@
+{
+ "sstore_changeFromExternalCallInInitCode_d9g0v0" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x6000602280601260003960006000f55000fe600060006000600073bea0000000000000000000000000000000000000620186a0f4",
+ "gasLimit" : "0x030d40",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x3693e149cc47ffbef2caaee2186489bf85bef2d2ed8b8e5f7bc3f39d8cacf2c8",
+ "s" : "0x115242de02b66e36213217ae4968e7c8a331df3f8f02a173d0eecf635a915311",
+ "to" : "",
+ "v" : "0x1c",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "nonce" : "0x00",
+ "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" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xbea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x600060015560016001556001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "0xdea0000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x6001600155600060015560016002556000600255600160035560006003556001600455600060045560016005556000600555600160065560006006556001600755600060075560016008556000600855600160095560006009556001600a556000600a556001600b556000600b556001600c556000600c556001600d556000600d556001600e556000600e556001600f556000600f55600160105560006010556001600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/InitCollisionFiller.json b/src/GeneralStateTestsFiller/stSStoreTest/InitCollisionFiller.json
new file mode 100644
index 000000000..e67122f88
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSStoreTest/InitCollisionFiller.json
@@ -0,0 +1,162 @@
+{
+ "InitCollision" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "//comment" : "Collision on transaction create",
+ "indexes" : {
+ "data" : [0],
+ "gas" : 0,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "nonce" : "1",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "fc597da4849c0d854629216d9e297bbca7bb4616" : {
+ "nonce" : "0",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ }
+ },
+ {
+ "//comment" : "Collision on create2",
+ "indexes" : {
+ "data" : [1],
+ "gas" : 0,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "nonce" : "2",
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ },
+ "fc597da4849c0d854629216d9e297bbca7bb4616" : {
+ "nonce" : "1",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ }
+ },
+ {
+ "//comment" : "Collision on create2 and REVERT",
+ "indexes" : {
+ "data" : [2],
+ "gas" : 0,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "nonce" : "0",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "fc597da4849c0d854629216d9e297bbca7bb4616" : {
+ "nonce" : "0",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ }
+ },
+ {
+ "//comment" : "Collision on create2 and OOG",
+ "indexes" : {
+ "data" : [3],
+ "gas" : 0,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "nonce" : "2",
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ },
+ "fc597da4849c0d854629216d9e297bbca7bb4616" : {
+ "nonce" : "1",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "//comment" : "transaction create account",
+ "balance" : "",
+ "code" : "",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "fc597da4849c0d854629216d9e297bbca7bb4616" : {
+ "//comment" : "Create2 account",
+ "balance" : "",
+ "code" : "",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "dea0000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 }",
+ "nonce" : "",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (SSTORE 1 0) (SSTORE 1 1) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (SSTORE 1 0) (SSTORE 1 1) ) 0) 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (SSTORE 1 0) (SSTORE 1 1) ) 0) 0) (REVERT 0 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (SSTORE 1 0) (SSTORE 1 1) ) 0) 0) (CALL 200000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) }"
+ ],
+ "gasLimit" : [
+ "200000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/sstore_changeFromExternalCallInInitCodeFiller.json b/src/GeneralStateTestsFiller/stSStoreTest/sstore_changeFromExternalCallInInitCodeFiller.json
new file mode 100644
index 000000000..811b63b25
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSStoreTest/sstore_changeFromExternalCallInInitCodeFiller.json
@@ -0,0 +1,161 @@
+{
+ "sstore_changeFromExternalCallInInitCode" : {
+ "_info" : {
+ "comment" : "account already has storage X. create -> in init code change that account's storage -> 0 -> change it to X again "
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "//comment" : "call ",
+ "indexes" : {
+ "data" : [0, 1, 3],
+ "gas" : 0,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "bea0000000000000000000000000000000000000" : {
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ }
+ }
+ },
+ {
+ "//comment" : "call + revert",
+ "indexes" : {
+ "data" : [2, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16],
+ "gas" : 0,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "bea0000000000000000000000000000000000000" : {
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x01"
+ }
+ },
+ "6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ "shouldnotexist" : "1"
+ }
+ }
+ },
+ {
+ "//comment" : "callcode",
+ "indexes" : {
+ "data" : [4],
+ "gas" : 0,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "bea0000000000000000000000000000000000000" : {
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x01"
+ }
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "nonce" : "1",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ }
+ }
+ },
+ {
+ "//comment" : "callcode + create2",
+ "indexes" : {
+ "data" : [5, 7],
+ "gas" : 0,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "bea0000000000000000000000000000000000000" : {
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x01"
+ }
+ },
+ "6602cfc925be62bf18470598a98f72812a1ebef2" : {
+ "nonce" : "1",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "bea0000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ (SSTORE 1 0) (SSTORE 1 1) (SSTORE 0 1) }",
+ "nonce" : "",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "dea0000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 }",
+ "nonce" : "",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (CALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0 0) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (CALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0 0) ) 0) 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (CALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0 0) ) 0) 0) (REVERT 0 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (CALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0 0) ) 0) 0) (CALL 200000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) }",
+ "{ (CALLCODE 100000 0xbea0000000000000000000000000000000000000 0 0 0 0 0) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (CALLCODE 100000 0xbea0000000000000000000000000000000000000 0 0 0 0 0) ) 0) 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (CALLCODE 100000 0xbea0000000000000000000000000000000000000 0 0 0 0 0) ) 0) 0) (REVERT 0 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (CALLCODE 100000 0xbea0000000000000000000000000000000000000 0 0 0 0 0) ) 0) 0) (CALL 200000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) }",
+ "{ (DELEGATECALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (DELEGATECALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0) ) 0) 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (DELEGATECALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0) ) 0) 0) (REVERT 0 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (DELEGATECALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0) ) 0) 0) (CALL 200000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) }",
+ "{ (STATICCALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (STATICCALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0) ) 0) 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (STATICCALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0) ) 0) 0) (REVERT 0 0) (STOP) ) }",
+ "{ (seq (CREATE2 0 0 (lll (seq (STATICCALL 100000 0xbea0000000000000000000000000000000000000 0 0 0 0) ) 0) 0) (CALL 200000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) }"
+ ],
+ "gasLimit" : [
+ "200000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}