diff options
author | winsvega <winsvega@mail.ru> | 2018-09-11 23:59:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-11 23:59:19 +0800 |
commit | f2d644f39d395f66c8d403e09e87735aabc48434 (patch) | |
tree | 742a38702b55cc3fa5cea8c8e4c279a205d35eac /src/GeneralStateTestsFiller | |
parent | e910196c89d6346af23397be083023c74d9bd856 (diff) | |
parent | d1b7f959bfc8c6c77baef11a4e14a50c558a37a9 (diff) | |
download | dexon-tests-f2d644f39d395f66c8d403e09e87735aabc48434.tar dexon-tests-f2d644f39d395f66c8d403e09e87735aabc48434.tar.gz dexon-tests-f2d644f39d395f66c8d403e09e87735aabc48434.tar.bz2 dexon-tests-f2d644f39d395f66c8d403e09e87735aabc48434.tar.lz dexon-tests-f2d644f39d395f66c8d403e09e87735aabc48434.tar.xz dexon-tests-f2d644f39d395f66c8d403e09e87735aabc48434.tar.zst dexon-tests-f2d644f39d395f66c8d403e09e87735aabc48434.zip |
Merge pull request #505 from ethereum/create2
Create2
Diffstat (limited to 'src/GeneralStateTestsFiller')
4 files changed, 319 insertions, 0 deletions
diff --git a/src/GeneralStateTestsFiller/stCreate2/RevertDepthCreate2OOGFiller.json b/src/GeneralStateTestsFiller/stCreate2/RevertDepthCreate2OOGFiller.json new file mode 100644 index 000000000..f8173b7e0 --- /dev/null +++ b/src/GeneralStateTestsFiller/stCreate2/RevertDepthCreate2OOGFiller.json @@ -0,0 +1,129 @@ +{ + "RevertDepthCreate2OOG" : { + "env" : { + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "expect" : [ + { + "//comment" : "NO OOG", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "05a28fc366483258507bcf739658573cb47e4fad" : { + "nonce" : "1" + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01", + "0x04" : "0x0c" + } + }, + "b000000000000000000000000000000000000000" : { + "storage" : { + "0x02" : "0x08", + "0x03" : "0x0c" + } + } + } + }, + { + "//comment" : "OOG in subcall", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "05a28fc366483258507bcf739658573cb47e4fad" : { + "shouldnotexist" : "1" + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x04" : "0x0c" + } + }, + "b000000000000000000000000000000000000000" : { + "storage" : { + } + } + } + }, + { + "//comment" : "OOG after subcall / double OOG", + "indexes" : { + "data" : [1, 0], + "gas" : 0, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "05a28fc366483258507bcf739658573cb47e4fad" : { + "shouldnotexist" : "1" + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + } + }, + "b000000000000000000000000000000000000000" : { + "storage" : { + } + } + } + } + ], + "pre" : + { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", + "code" : "", + "nonce" : "0", + "storage" : { + } + }, + "a000000000000000000000000000000000000000" : { + "balance" : "5", + "code" : "{ [[0]] 1 [[1]] (CALL (CALLDATALOAD 0) 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[4]] 12 }", + "nonce" : "54", + "storage" : { + } + }, + "b000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ [[2]] 8 (CREATE2 0 0 0 0) [[3]] 12}", + "nonce" : "", + "storage" : { + } + } + }, + "transaction" : { + "//data" : "Call with value to address A, then another call X, in the call X CREATE of account A, OOG -> revert call X.", + "// data" : "d0g0 - double OOG, d0g1 - OOG inside subcall, d1g0 - OOG after subcall, d1g1 - no OOG", + "data" : [ + "0x000000000000000000000000000000000000000000000000000000000000ea60", + "0x000000000000000000000000000000000000000000000000000000000001ea60" + ], + "gasLimit" : [ + "110000", "160000" + ], + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", + "value" : [ + "1", "0" + ] + } + } +} diff --git a/src/GeneralStateTestsFiller/stCreate2/returndatacopy_following_revert_in_createFiller.json b/src/GeneralStateTestsFiller/stCreate2/returndatacopy_following_revert_in_createFiller.json new file mode 100644 index 000000000..af4eeb86e --- /dev/null +++ b/src/GeneralStateTestsFiller/stCreate2/returndatacopy_following_revert_in_createFiller.json @@ -0,0 +1,63 @@ +{ + "returndatacopy_following_revert_in_create" : { + "_info" : { + "comment" : "returndatacopy_following_revert_in_create for CREATE2" + }, + "env" : { + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x20000", + "currentGasLimit" : "0x0a00000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "expect" : [ + { "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "storage" : { + "0x00" : "0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff" + } + } + } + } + ], + "pre" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x00", + "code" : "{ (seq (CREATE2 0 0 (lll (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (REVERT 0 32)) 0) 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 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/stCreate2/returndatacopy_following_successful_createFiller.json b/src/GeneralStateTestsFiller/stCreate2/returndatacopy_following_successful_createFiller.json new file mode 100644 index 000000000..812baa21c --- /dev/null +++ b/src/GeneralStateTestsFiller/stCreate2/returndatacopy_following_successful_createFiller.json @@ -0,0 +1,63 @@ +{ + "returndatacopy_following_successful_create" : { + "_info" : { + "comment" : "returndatacopy_following_successful_create for CREATE2" + }, + "env" : { + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x20000", + "currentGasLimit" : "0x0a00000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "expect" : [ + { "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "storage" : { + "0x00" : "0x02" + } + } + } + } + ], + "pre" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x00", + "code" : "{ (create2 0 0 (lll (seq (STOP)) 0) 0) (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" + ] + } + } +} diff --git a/src/GeneralStateTestsFiller/stCreate2/returndatasize_following_successful_createFiller.json b/src/GeneralStateTestsFiller/stCreate2/returndatasize_following_successful_createFiller.json new file mode 100644 index 000000000..01ba68639 --- /dev/null +++ b/src/GeneralStateTestsFiller/stCreate2/returndatasize_following_successful_createFiller.json @@ -0,0 +1,64 @@ +{ + "returndatasize_following_successful_create" : { + "_info" : { + "comment" : "returndatasize_following_successful_create for create2" + }, + "env" : { + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x20000", + "currentGasLimit" : "0x0a00000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "expect": [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "storage" : { + "0x00" : "0x00" + } + } + } + } + ], + "pre" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x00", + "code" : "{ (seq (CREATE2 0 0 (lll (seq (mstore 0 0x112233) (RETURN 0 32)) 0) 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" + ] + } + } +} |