aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwinsvega <winsvega@mail.ru>2017-07-06 22:32:37 +0800
committerGitHub <noreply@github.com>2017-07-06 22:32:37 +0800
commitbae44652e5ad700f8427ee30914bf610bdc924a7 (patch)
tree3a25c97c8d86e47c2370473f475344630b84f22a
parent995c4308bb34a7ab2b96279ad5720c2197c24049 (diff)
parent54522c9327db9e4c67c62c604a631fe74a01421d (diff)
downloadtangerine-tests-bae44652e5ad700f8427ee30914bf610bdc924a7.tar
tangerine-tests-bae44652e5ad700f8427ee30914bf610bdc924a7.tar.gz
tangerine-tests-bae44652e5ad700f8427ee30914bf610bdc924a7.tar.bz2
tangerine-tests-bae44652e5ad700f8427ee30914bf610bdc924a7.tar.lz
tangerine-tests-bae44652e5ad700f8427ee30914bf610bdc924a7.tar.xz
tangerine-tests-bae44652e5ad700f8427ee30914bf610bdc924a7.tar.zst
tangerine-tests-bae44652e5ad700f8427ee30914bf610bdc924a7.zip
Merge pull request #196 from ethereum/returndatacopy_0_0_after_successful_create
Add test cases for RETURNDATACOPY after a successful CREATE should no…
-rw-r--r--GeneralStateTests/stReturnDataTest/returndatacopy_0_0_following_successful_create.json101
-rw-r--r--GeneralStateTests/stReturnDataTest/returndatacopy_following_successful_create.json101
-rw-r--r--src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_0_0_following_successful_createFiller.json83
-rw-r--r--src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_following_successful_createFiller.json60
4 files changed, 345 insertions, 0 deletions
diff --git a/GeneralStateTests/stReturnDataTest/returndatacopy_0_0_following_successful_create.json b/GeneralStateTests/stReturnDataTest/returndatacopy_0_0_following_successful_create.json
new file mode 100644
index 000000000..f41893437
--- /dev/null
+++ b/GeneralStateTests/stReturnDataTest/returndatacopy_0_0_following_successful_create.json
@@ -0,0 +1,101 @@
+{
+ "returndatacopy_0_0_following_successful_create" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "cpp-1.3.0+commit.29c877a3.Linux.g++",
+ "source" : "/src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_0_0_following_successful_createFiller.json"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x0a00000000",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xe4cebf89f5dd511ecb89b3e97ce05d1225202ff5ce2b0b9d81c96892694ac020",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xe4cebf89f5dd511ecb89b3e97ce05d1225202ff5ce2b0b9d81c96892694ac020",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xe4cebf89f5dd511ecb89b3e97ce05d1225202ff5ce2b0b9d81c96892694ac020",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xe4cebf89f5dd511ecb89b3e97ce05d1225202ff5ce2b0b9d81c96892694ac020",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xe5612a75f1f88badf3d4faf86108f59eb5c568d658cd7fb37f1fbf8fcf96f307",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x00",
+ "code" : "0x600580601b60003960006000f0506000600060003e6000600055006001600055",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x6400000000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "0x0a00000000"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "value" : [
+ "0x00"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stReturnDataTest/returndatacopy_following_successful_create.json b/GeneralStateTests/stReturnDataTest/returndatacopy_following_successful_create.json
new file mode 100644
index 000000000..e299d76a1
--- /dev/null
+++ b/GeneralStateTests/stReturnDataTest/returndatacopy_following_successful_create.json
@@ -0,0 +1,101 @@
+{
+ "returndatacopy_following_successful_create" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "cpp-1.3.0+commit.5ad949e6.Linux.g++",
+ "source" : "/src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_following_successful_createFiller.json"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x0a00000000",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x83d0eeb43ed2b2bec2f8d3838855b1afb2dd777f3de209ac647009b3ec7a3b5e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x83d0eeb43ed2b2bec2f8d3838855b1afb2dd777f3de209ac647009b3ec7a3b5e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x83d0eeb43ed2b2bec2f8d3838855b1afb2dd777f3de209ac647009b3ec7a3b5e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x83d0eeb43ed2b2bec2f8d3838855b1afb2dd777f3de209ac647009b3ec7a3b5e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x83d0eeb43ed2b2bec2f8d3838855b1afb2dd777f3de209ac647009b3ec7a3b5e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x00",
+ "code" : "0x596000526001806022600051396000516000f0506020600160003e6000516000550000",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x02"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x6400000000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "0x0a00000000"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "value" : [
+ "0x00"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_0_0_following_successful_createFiller.json b/src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_0_0_following_successful_createFiller.json
new file mode 100644
index 000000000..a0fc298f9
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_0_0_following_successful_createFiller.json
@@ -0,0 +1,83 @@
+{
+ "returndatacopy_0_0_following_successful_create" : {
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x0a00000000",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ { "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
+ "result" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
+ "shouldexist" : false
+ }
+ }
+ },
+ { "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "storage" : {
+ "0x00" : "0x00"
+ }
+ },
+ "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x00",
+ "code" : "create should succeed. RETURNDATACOPY should also succeed in Metropolis.",
+ "code" : "{ (create 0 0 (lll {(SSTORE 0 1)} 0)) (RETURNDATACOPY 0 0 0) (SSTORE 0 0) }",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x6400000000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "0x0a00000000"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "value" : [
+ "0x00"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_following_successful_createFiller.json b/src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_following_successful_createFiller.json
new file mode 100644
index 000000000..07400fc74
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stReturnDataTest/returndatacopy_following_successful_createFiller.json
@@ -0,0 +1,60 @@
+{
+ "returndatacopy_following_successful_create" : {
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x0a00000000",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ { "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["ALL"],
+ "result" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "storage" : {
+ "0x00" : "0x02"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x00",
+ "code" : "{ (create (STOP)) (RETURNDATACOPY 0 1 32) (SSTORE 0 (MLOAD 0)) }",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x02"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x6400000000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "0x0a00000000"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "value" : [
+ "0x00"
+ ]
+ }
+ }
+}