From 6ebd4f17753ad633a7aeec98dc3f8fb2d629571a Mon Sep 17 00:00:00 2001 From: Dimitry Date: Wed, 15 Aug 2018 20:05:39 +0300 Subject: create2 test --- .../stCreate2/create2collisionBalanceFiller.json | 89 +++++++++++++++ .../stCreate2/create2collisionCode2Filler.json | 119 +++++++++++++++++++++ .../stCreate2/create2collisionCodeFiller.json | 92 ++++++++++++++++ .../stCreate2/create2collisionNonceFiller.json | 89 +++++++++++++++ .../create2collisionSelfdestructed2Filler.json | 95 ++++++++++++++++ .../create2collisionSelfdestructedFiller.json | 96 +++++++++++++++++ .../create2collisionSelfdestructedOOGFiller.json | 93 ++++++++++++++++ ...create2collisionSelfdestructedRevertFiller.json | 93 ++++++++++++++++ .../stCreate2/create2collisionStorageFiller.json | 99 +++++++++++++++++ 9 files changed, 865 insertions(+) create mode 100644 src/GeneralStateTestsFiller/stCreate2/create2collisionBalanceFiller.json create mode 100644 src/GeneralStateTestsFiller/stCreate2/create2collisionCode2Filler.json create mode 100644 src/GeneralStateTestsFiller/stCreate2/create2collisionCodeFiller.json create mode 100644 src/GeneralStateTestsFiller/stCreate2/create2collisionNonceFiller.json create mode 100644 src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructed2Filler.json create mode 100644 src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedFiller.json create mode 100644 src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedOOGFiller.json create mode 100644 src/GeneralStateTestsFiller/stCreate2/create2collisionSelfdestructedRevertFiller.json create mode 100644 src/GeneralStateTestsFiller/stCreate2/create2collisionStorageFiller.json (limited to 'src/GeneralStateTestsFiller') 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" + ] + } + } +} -- cgit