From 7064cd2cc0f944031755e206352d3df864a96cee Mon Sep 17 00:00:00 2001 From: Yoichi Hirai Date: Thu, 22 Jun 2017 15:36:09 +0200 Subject: Add a case where REVERT in an init code passes data to the creating context --- .../stRevertTest/RevertOpcodeInCreateReturns.json | 101 +++++++++++++++++++++ .../RevertOpcodeInCreateReturnsFiller.json | 74 +++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 GeneralStateTests/stRevertTest/RevertOpcodeInCreateReturns.json create mode 100644 src/GeneralStateTestsFiller/stRevertTest/RevertOpcodeInCreateReturnsFiller.json diff --git a/GeneralStateTests/stRevertTest/RevertOpcodeInCreateReturns.json b/GeneralStateTests/stRevertTest/RevertOpcodeInCreateReturns.json new file mode 100644 index 000000000..47518eadb --- /dev/null +++ b/GeneralStateTests/stRevertTest/RevertOpcodeInCreateReturns.json @@ -0,0 +1,101 @@ +{ + "RevertOpcodeInCreateReturns" : { + "_info" : { + "comment" : "", + "filledwith" : "cpp-1.3.0+commit.95bee2ea.Linux.g++", + "source" : "/src/GeneralStateTestsFiller/stRevertTest/RevertOpcodeInCreateReturnsFiller.json" + }, + "env" : { + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x20000", + "currentGasLimit" : "0x0a00000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "EIP150" : [ + { + "hash" : "0x8fcc22c78f69ebea32ecc3a7de600adbb880b827e999cda3e48813df7e8c6452", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } + } + ], + "EIP158" : [ + { + "hash" : "0x8fcc22c78f69ebea32ecc3a7de600adbb880b827e999cda3e48813df7e8c6452", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } + } + ], + "Frontier" : [ + { + "hash" : "0x8fcc22c78f69ebea32ecc3a7de600adbb880b827e999cda3e48813df7e8c6452", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } + } + ], + "Homestead" : [ + { + "hash" : "0x8fcc22c78f69ebea32ecc3a7de600adbb880b827e999cda3e48813df7e8c6452", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } + } + ], + "Metropolis" : [ + { + "hash" : "0xb64861edcf7d90039fa4a050b54bc953a2467a8035ea36706ad3b0d09560ae46", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } + } + ] + }, + "pre" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x00", + "code" : "0x600c80601360003960006000f0503d600055006211223360005260206000fd", + "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/src/GeneralStateTestsFiller/stRevertTest/RevertOpcodeInCreateReturnsFiller.json b/src/GeneralStateTestsFiller/stRevertTest/RevertOpcodeInCreateReturnsFiller.json new file mode 100644 index 000000000..539d33493 --- /dev/null +++ b/src/GeneralStateTestsFiller/stRevertTest/RevertOpcodeInCreateReturnsFiller.json @@ -0,0 +1,74 @@ +{ + "RevertOpcodeInCreateReturns" : { + "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" : "1" + } + } + } + }, + { "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : ["Metropolis"], + "result" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "storage" : { + "0x00" : "32" + } + } + } + } + ], + "pre" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x00", + "code" : "{ (seq (CREATE 0 0 (lll (seq (mstore 0 0x112233) (revert 0 32)) 0)) (SSTORE 0 (RETURNDATASIZE)) )}", + "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" + ] + } + } +} -- cgit