diff options
Diffstat (limited to 'src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYto0Filler.json')
-rw-r--r-- | src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYto0Filler.json | 156 |
1 files changed, 132 insertions, 24 deletions
diff --git a/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYto0Filler.json b/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYto0Filler.json index 70c235c3c..4ff82f8de 100644 --- a/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYto0Filler.json +++ b/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYto0Filler.json @@ -1,5 +1,5 @@ { - "sstore_XtoYto0" : { + "sstore_XtoYto0" : { "_info" : { "comment" : "change X -> Y -> 0" }, @@ -13,32 +13,131 @@ }, "expect" : [ { + "//comment" : "CALL to a contract", "indexes" : { - "data" : -1, - "gas" : -1, + "data" : [0], + "gas" : 0, "value" : -1 }, "network" : [">=Constantinople"], "result" : { - "6bdbbfc8cd6551bf543e231885418dc866dfb290" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00" + "b000000000000000000000000000000000000000" : { + "storage" : { } }, - "3e180b1862f9d158abb5e519a6d8605540c23682" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" + "dea0000000000000000000000000000000000000" : { + "//comment" : "indicates that call finished without OOG", + "storage" : { + "0x01" : "0x01" } }, + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "nonce" : "1", + "storage" : { + } + } + } + }, + { + "//comment" : "CALLCODE AND DELEGATECALL", + "indexes" : { + "data" : [1, 2], + "gas" : 0, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { "b000000000000000000000000000000000000000" : { "storage" : { - "0x01" : "0x00" + "0x01" : "0x01" } }, + "dea0000000000000000000000000000000000000" : { + "//comment" : "indicates that call finished without OOG", + "storage" : { + "0x01" : "0x01" + } + }, + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "nonce" : "1", + "storage" : { + } + } + } + }, + { + "//comment" : "STATICCALL, fails on storage change", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "999999842203" + "balance" : "999999617076" + }, + "dea0000000000000000000000000000000000000" : { + "//comment" : "indicates that call finished without OOG", + "storage" : { + "0x01" : "0x01" + } + } + } + }, + { + "//comment" : "inside CREATE2 init code", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "3f3035e2b0b80a87a4c7b8bfdc61b93dbcc27f61" : { + "storage" : { + "0x01" : "0x01" + } + }, + "dea0000000000000000000000000000000000000" : { + "//comment" : "indicates that call finished without OOG", + "storage" : { + "0x01" : "0x01" + } + } + } + }, + { + "//comment" : "ALL of above but going OOG", + "indexes" : { + "data" : -1, + "gas" : 1, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "dea0000000000000000000000000000000000000" : { + "//comment" : "indicates that call finished without OOG", + "storage" : { + "0x01" : "0x00" + } + } + } + }, + { + "//comment" : "ALL of above but REVERT at the end", + "indexes" : { + "data" : [5,6,7,8], + "gas" : 0, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "dea0000000000000000000000000000000000000" : { + "//comment" : "indicates that call finished without OOG", + "storage" : { + "0x01" : "0x00" + } } } } @@ -52,14 +151,6 @@ "storage" : { } }, - "3e180b1862f9d158abb5e519a6d8605540c23682" : { - "balance" : "5", - "code" : "{ (seq [[0]] 2 [[0]] 0 (CALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALLCODE 100000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (DELEGATECALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (STATICCALL 100000 0xb000000000000000000000000000000000000000 0 0 0 0) (CREATE2 0 0 (lll (seq (SSTORE 0 1) (SSTORE 1 1) (SSTORE 1 2) (SSTORE 1 0) ) 0) 0) (STOP) ) }", - "nonce" : "0", - "storage" : { - "0x00" : "0x01" - } - }, "b000000000000000000000000000000000000000" : { "balance" : "", "code" : "{ [[1]] 2 [[1]] 0 }", @@ -75,19 +166,36 @@ "storage" : { "0x01" : "0x01" } + }, + "dea0000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 }", + "nonce" : "", + "storage" : { + } } }, "transaction" : { "data" : [ - "" + "{ (CALL 300000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0)}", + "{ (CALLCODE 300000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0)}", + "{ (DELEGATECALL 300000 0xb000000000000000000000000000000000000000 0 0 0 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0)}", + "{ (STATICCALL 300000 0xc000000000000000000000000000000000000000 0 0 0 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0)}", + "{ (seq (CREATE2 0 0 (lll (seq (SSTORE 0 1) (SSTORE 0 2) (SSTORE 0 0) (SSTORE 1 1) ) 0) 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) }", + "{ (CALL 300000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32)}", + "{ (CALLCODE 300000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32)}", + "{ (DELEGATECALL 300000 0xb000000000000000000000000000000000000000 0 0 0 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32)}", + "{ (STATICCALL 300000 0xc000000000000000000000000000000000000000 0 0 0 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32)}", + "{ (seq (CREATE2 0 0 (lll (seq (SSTORE 0 1) (SSTORE 0 2) (SSTORE 0 0) (SSTORE 1 1) ) 0) 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32) (STOP) ) }" + ], "gasLimit" : [ - "660000" + "1000000", "400000" ], "gasPrice" : "1", "nonce" : "0", "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "3e180b1862f9d158abb5e519a6d8605540c23682", + "to" : "", "value" : [ "1" ] |