aboutsummaryrefslogtreecommitdiffstats
path: root/src/GeneralStateTestsFiller
diff options
context:
space:
mode:
authorDimitry <dimitry@ethereum.org>2018-08-16 01:05:39 +0800
committerDimitry <dimitry@ethereum.org>2018-08-27 20:18:05 +0800
commit6ebd4f17753ad633a7aeec98dc3f8fb2d629571a (patch)
tree32a2419c7b556b0d070f222435383f7c8fed4e70 /src/GeneralStateTestsFiller
parentad2184adca367c0b68c65b44519dba16e1d0b9e2 (diff)
downloadtangerine-tests-6ebd4f17753ad633a7aeec98dc3f8fb2d629571a.tar
tangerine-tests-6ebd4f17753ad633a7aeec98dc3f8fb2d629571a.tar.gz
tangerine-tests-6ebd4f17753ad633a7aeec98dc3f8fb2d629571a.tar.bz2
tangerine-tests-6ebd4f17753ad633a7aeec98dc3f8fb2d629571a.tar.lz
tangerine-tests-6ebd4f17753ad633a7aeec98dc3f8fb2d629571a.tar.xz
tangerine-tests-6ebd4f17753ad633a7aeec98dc3f8fb2d629571a.tar.zst
tangerine-tests-6ebd4f17753ad633a7aeec98dc3f8fb2d629571a.zip
create2 test
Diffstat (limited to 'src/GeneralStateTestsFiller')
-rw-r--r--src/GeneralStateTestsFiller/stCreate2/create2collisionBalanceFiller.json89
-rw-r--r--src/GeneralStateTestsFiller/stCreate2/create2collisionCode2Filler.json119
-rw-r--r--src/GeneralStateTestsFiller/stCreate2/create2collisionCodeFiller.json92
-rw-r--r--src/GeneralStateTestsFiller/stCreate2/create2collisionNonceFiller.json89
-rw-r--r--src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructed2Filler.json95
-rw-r--r--src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedFiller.json96
-rw-r--r--src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedOOGFiller.json93
-rw-r--r--src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedRevertFiller.json93
-rw-r--r--src/GeneralStateTestsFiller/stCreate2/create2collisionStorageFiller.json99
9 files changed, 865 insertions, 0 deletions
diff --git a/src/GeneralStateTestsFiller/stCreate2/create2collisionBalanceFiller.json b/src/GeneralStateTestsFiller/stCreate2/create2collisionBalanceFiller.json
new file mode 100644
index 000000000..ca9d7caeb
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCreate2/create2collisionBalanceFiller.json
@@ -0,0 +1,89 @@
+{
+ "create2collisionBalance" : {
+ "_info" : {
+ "comment" : "create2 generates an account that already exists and has balance != 0"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Byzantium"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1",
+ "nonce" : "0"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1",
+ "nonce" : "1"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "balance" : "1",
+ "nonce" : "2"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (CREATE2 0 0 0 0) }"
+ ],
+ "gasLimit" : [
+ "400000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCreate2/create2collisionCode2Filler.json b/src/GeneralStateTestsFiller/stCreate2/create2collisionCode2Filler.json
new file mode 100644
index 000000000..90b6b8c9a
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCreate2/create2collisionCode2Filler.json
@@ -0,0 +1,119 @@
+{
+ "create2collisionCode2" : {
+ "_info" : {
+ "comment" : "collision with the contract that already has the same init code that we are about to create"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Byzantium"],
+ "result" : {
+ "fce41d047b4a1d4450382dcc29ec7e5fedc5f9a3" : {
+ "balance" : "0",
+ "nonce" : "1",
+ "code" : "0x010203"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1",
+ "balance" : "999999999999600000"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : 0,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "fce41d047b4a1d4450382dcc29ec7e5fedc5f9a3" : {
+ "balance" : "0",
+ "nonce" : "1",
+ "code" : "0x010203"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "balance" : "1",
+ "nonce" : "2",
+ "code" : ""
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1",
+ "balance" : "999999999999604897"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : 1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "fce41d047b4a1d4450382dcc29ec7e5fedc5f9a3" : {
+ "balance" : "0",
+ "nonce" : "1",
+ "code" : "0x010203"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "balance" : "1",
+ "nonce" : "2",
+ "code" : ""
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1",
+ "balance" : "999999999999604896"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "0xfce41d047b4a1d4450382dcc29ec7e5fedc5f9a3" : {
+ "balance" : "0x00",
+ "code" : "0x010203",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (MSTORE 0 0x620102036000526003601df3) (CREATE2 0 20 12 0) }",
+ "{ (MSTORE 0 0x620102036000526003601df3) (CREATE2 1 20 12 0) }"
+ ],
+ "gasLimit" : [
+ "400000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCreate2/create2collisionCodeFiller.json b/src/GeneralStateTestsFiller/stCreate2/create2collisionCodeFiller.json
new file mode 100644
index 000000000..3788046be
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCreate2/create2collisionCodeFiller.json
@@ -0,0 +1,92 @@
+{
+ "create2collisionCode" : {
+ "_info" : {
+ "comment" : "create2 generates an account that already exists and has not empty code"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Byzantium"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "0x010203"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "0x010203"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "balance" : "1",
+ "nonce" : "2",
+ "code" : ""
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "0",
+ "code" : "0x010203",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (CREATE2 0 0 0 0) }"
+ ],
+ "gasLimit" : [
+ "400000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCreate2/create2collisionNonceFiller.json b/src/GeneralStateTestsFiller/stCreate2/create2collisionNonceFiller.json
new file mode 100644
index 000000000..a1d553c97
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCreate2/create2collisionNonceFiller.json
@@ -0,0 +1,89 @@
+{
+ "create2collisionNonce" : {
+ "_info" : {
+ "comment" : "create2 generates an account that already exists and has nonce != 0"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Byzantium"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "0",
+ "nonce" : "1"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "0",
+ "nonce" : "1"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "balance" : "1",
+ "nonce" : "2"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "0",
+ "code" : "0x",
+ "nonce" : "1",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (CREATE2 0 0 0 0) }"
+ ],
+ "gasLimit" : [
+ "400000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructed2Filler.json b/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructed2Filler.json
new file mode 100644
index 000000000..7721af90f
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructed2Filler.json
@@ -0,0 +1,95 @@
+{
+ "create2collisionSelfdestructed2" : {
+ "_info" : {
+ "comment" : "A contract which performs SUICIDE, and is then attempted to be recreated (different code, same init-code) during the same transaction. This ought to fail, since the code is not cleaned out until after the transaction is ended."
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : 0,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "fce41d047b4a1d4450382dcc29ec7e5fedc5f9a3" : {
+ "shouldnotexist" : "1"
+ },
+ "0000000000000000000000000000000000000010" : {
+ "balance" : "0x01"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : 1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "cff64f4c5df8f436c4f2c1af4b2e3f9e3004c779" : {
+ "shouldnotexist" : "1"
+ },
+ "0000000000000000000000000000000000000010" : {
+ "balance" : "0x01"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 0x6010ff) (RETURN 29 3) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "fce41d047b4a1d4450382dcc29ec7e5fedc5f9a3" : {
+ "balance" : "1",
+ "code" : "{ (SELFDESTRUCT 0x10) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "0xcff64f4c5df8f436c4f2c1af4b2e3f9e3004c779" : {
+ "balance" : "1",
+ "code" : "0x6010ff",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "//data" : "0 - different code, 1 - same code",
+ "data" : [
+ "{ (CALL 50000 0xfce41d047b4a1d4450382dcc29ec7e5fedc5f9a3 0 0 0 0 0) (MSTORE 0 0x620102036000526003601df3) (CREATE2 0 20 12 0) }",
+ "{ (CALL 50000 0xcff64f4c5df8f436c4f2c1af4b2e3f9e3004c779 0 0 0 0 0) (MSTORE 0 0x626010ff6000526003601df3) (CREATE2 0 20 12 0) }"
+ ],
+ "gasLimit" : [
+ "400000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedFiller.json b/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedFiller.json
new file mode 100644
index 000000000..1fb17c1ea
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedFiller.json
@@ -0,0 +1,96 @@
+{
+ "create2collisionSelfdestructed" : {
+ "_info" : {
+ "comment" : "collision with address that has been selfdestructed in the same transaction"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Byzantium"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1"
+ },
+ "0000000000000000000000000000000000000010" : {
+ "shouldnotexist" : "1"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "shouldnotexist" : "1"
+ },
+ "0000000000000000000000000000000000000010" : {
+ "balance" : "0x01"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "balance" : "1",
+ "nonce" : "2",
+ "storage" : {
+ "0x00" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1",
+ "code" : "{ (SELFDESTRUCT 0x10) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (CALL 50000 0xe2b35478fdd26477cc576dd906e6277761246a3c 0 0 0 0 0) (CREATE2 0 0 0 0) }"
+ ],
+ "gasLimit" : [
+ "400000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedOOGFiller.json b/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedOOGFiller.json
new file mode 100644
index 000000000..9e6282453
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedOOGFiller.json
@@ -0,0 +1,93 @@
+{
+ "create2collisionSelfdestructedOOG" : {
+ "_info" : {
+ "comment" : "collision with address that has been selfdestructed in the same transaction but then OOG"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Byzantium"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1"
+ },
+ "0000000000000000000000000000000000000010" : {
+ "shouldnotexist" : "1"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1",
+ "code" : "0x6010ff"
+ },
+ "0000000000000000000000000000000000000010" : {
+ "shouldnotexist" : "1"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1",
+ "code" : "{ (SELFDESTRUCT 0x10) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (CALL 50000 0xe2b35478fdd26477cc576dd906e6277761246a3c 0 0 0 0 0) (CREATE2 0 0 0 0) (SSTORE 0 0x112233)}"
+ ],
+ "gasLimit" : [
+ "200000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedRevertFiller.json b/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedRevertFiller.json
new file mode 100644
index 000000000..817623aae
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedRevertFiller.json
@@ -0,0 +1,93 @@
+{
+ "create2collisionSelfdestructedRevert" : {
+ "_info" : {
+ "comment" : "collision with address that has been selfdestructed in the same transaction but then REVERT is called"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Byzantium"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1"
+ },
+ "0000000000000000000000000000000000000010" : {
+ "shouldnotexist" : "1"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1",
+ "code" : "0x6010ff"
+ },
+ "0000000000000000000000000000000000000010" : {
+ "shouldnotexist" : "1"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "1",
+ "code" : "{ (SELFDESTRUCT 0x10) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (CALL 50000 0xe2b35478fdd26477cc576dd906e6277761246a3c 0 0 0 0 0) (CREATE2 0 0 0 0) (MSTORE 0 0x112233) (REVERT 0 10) }"
+ ],
+ "gasLimit" : [
+ "400000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCreate2/create2collisionStorageFiller.json b/src/GeneralStateTestsFiller/stCreate2/create2collisionStorageFiller.json
new file mode 100644
index 000000000..5a063bd77
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCreate2/create2collisionStorageFiller.json
@@ -0,0 +1,99 @@
+{
+ "create2collisionStorage" : {
+ "_info" : {
+ "comment" : "create2 generates an account that already exists and has storage != 0"
+ },
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Byzantium"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Constantinople"],
+ "result" : {
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "0",
+ "nonce" : "1",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "balance" : "1",
+ "nonce" : "2",
+ "storage" : {
+ "0x00" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "e2b35478fdd26477cc576dd906e6277761246a3c" : {
+ "balance" : "0",
+ "code" : "0x",
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "{ (CREATE2 0 0 0 0) }"
+ ],
+ "gasLimit" : [
+ "400000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "1"
+ ]
+ }
+ }
+}