From d59c826dc78293f6190743d44339c1149bf386ff Mon Sep 17 00:00:00 2001 From: Dimitry Date: Thu, 6 Jul 2017 21:50:53 +0300 Subject: Blockchain transition tests --- .../EIP150TransitionFiller.json | 626 +++++++++++++++++++++ 1 file changed, 626 insertions(+) create mode 100644 src/BlockchainTestsFiller/TransitionTests/bcHomesteadToEIP150/EIP150TransitionFiller.json (limited to 'src/BlockchainTestsFiller/TransitionTests/bcHomesteadToEIP150') diff --git a/src/BlockchainTestsFiller/TransitionTests/bcHomesteadToEIP150/EIP150TransitionFiller.json b/src/BlockchainTestsFiller/TransitionTests/bcHomesteadToEIP150/EIP150TransitionFiller.json new file mode 100644 index 000000000..0b9c1f457 --- /dev/null +++ b/src/BlockchainTestsFiller/TransitionTests/bcHomesteadToEIP150/EIP150TransitionFiller.json @@ -0,0 +1,626 @@ +{ + "EIP150Transition" : { + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "131072", + "extraData" : "0x42", + "gasLimit" : "31415920", + "gasUsed" : "0", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a", + "timestamp" : "0x54c98c81", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "network" : "HomesteadToEIP150At5", + "expect" : { + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x00" : "0x12", + "0x01" : "0x20", + "0x02" : "0x1122334455667788991011121314151617181920000000000000000000000000", + "0x03" : "0x17486dc036", + "0x04" : "0x12", + "0x05" : "0x01", + "0x06" : "0x01", + "0x07" : "0x01", + "0x08" : "0x01", + "0x09" : "0x4176a", + "0x0a" : "0x057ee9", + "0x0b" : "0x5dddfce53ee040d9eb21afbc0ae1bb4dbb0ba643", + "0x64" : "0x11" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "0x2710", + "storage" : { + } + }, + "1000000000000000000000000000000000000003" : { + "balance" : "0x2710", + "storage" : { + } + }, + "1000000000000000000000000000000000000004" : { + "balance" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000005" : { + "balance" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000006" : { + "balance" : "0x01", + "storage" : { + "0x08" : "0x08d5b6" + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000010" : { + "balance" : "0x6f", + "storage" : { + } + }, + "1000000000000000000000000000000000000011" : { + "balance" : "0x02", + "storage" : { + "0x64" : "0x11" + } + }, + "1000000000000000000000000000000000000101" : { + "storage" : { + "0x00" : "0x12", + "0x01" : "0x20", + "0x02" : "0x1122334455667788991011121314151617181920000000000000000000000000", + "0x03" : "0x1748525e84", + "0x04" : "0x12", + "0x05" : "0x01", + "0x06" : "0x01", + "0x07" : "0x01", + "0x08" : "0x01", + "0x09" : "0x042cc8", + "0x0a" : "0x059447", + "0x0b" : "0xff4decde9746a5eb2abcf2563f0a419129e02890", + "0x64" : "0x11" + } + }, + "1000000000000000000000000000000000000102" : { + "balance" : "0x01", + "storage" : { + "0x00" : "0x12", + "0x08" : "0x08d5b6", + "0x09" : "0x01", + "0x0a" : "0x01" + } + }, + "1000000000000000000000000000000000000103" : { + "balance" : "0x00", + "storage" : { + "0x00" : "0x12" + } + }, + "1000000000000000000000000000000000000104" : { + "balance" : "0x01", + "storage" : { + "0x00" : "0x12", + "0x08" : "0x08d5b6", + "0x09" : "0x01" + } + }, + "1000000000000000000000000000000000000105" : { + "balance" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000106" : { + "balance" : "0x01", + "storage" : { + "0x08" : "0x05c876", + "0x09" : "0x01" + } + }, + "1000000000000000000000000000000000000107" : { + "balance" : "0x00", + "storage" : { + "0x08" : "0x030d3e", + "0x09" : "0x01" + } + }, + "1000000000000000000000000000000000000108" : { + "balance" : "0x00", + "storage" : { + "0x08" : "0x02b157" + } + }, + "1000000000000000000000000000000000000109" : { + "balance" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000110" : { + "balance" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000111" : { + "balance" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000114" : { + "storage" : { + } + }, + "1000000000000000000000000000000000000015" : { + "storage" : { + "0x01" : "0x08d574" + } + }, + "1000000000000000000000000000000000000016" : { + "shouldnotexist" : "1" + }, + "1000000000000000000000000000000000000115" : { + "storage" : { + "0x01" : "0x085db0" + } + }, + "1000000000000000000000000000000000000116" : { + "shouldnotexist" : "1" + }, + "1000000000000000000000000000000000000117" : { + "storage" : { + "0x01" : "0x08bf58" + } + }, + "1000000000000000000000000000000000000118" : { + "shouldnotexist" : "1" + }, + "1000000000000000000000000000000000000012" : { + "shoulsnotexist" : "1" + }, + "1000000000000000000000000000000000000013" : { + "shoulsnotexist" : "1" + }, + "5dddfce53ee040d9eb21afbc0ae1bb4dbb0ba643" : { + "storage" : { + "0xfd" : "0x04b3b2" + } + }, + "ff4decde9746a5eb2abcf2563f0a419129e02890" : { + "storage" : { + "0xfd" : "0x04b5ec" + } + } + }, + "pre" : { + "1000000000000000000000000000000000000010" : { + "balance" : "111", + "nonce" : "0", + "code" : "0x1122334455667788991011121314151617181920212223242526272829303132", + "storage": { + } + }, + "1000000000000000000000000000000000000011" : { + "balance" : "0", + "nonce" : "0", + "code" : "{ (SSTORE 100 0x11) }", + "storage": { + } + }, + "1000000000000000000000000000000000000012" : { + "balance" : "10000", + "nonce" : "0", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000002) }", + "storage": { + } + }, + "1000000000000000000000000000000000000013" : { + "balance" : "10000", + "nonce" : "0", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000003) }", + "storage": { + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "nonce" : "0", + "code" : "Test gasPrice of thise codes before EIP150 transition", + "code" : "{ (SSTORE 1 (EXTCODESIZE 0x1000000000000000000000000000000000000010)) (EXTCODECOPY 0x1000000000000000000000000000000000000010 0 0 20) (SSTORE 2 (MLOAD 0)) (SSTORE 4 (SLOAD 0)) (SSTORE 5 (CALL 30000 0x1000000000000000000000000000000000000011 1 0 0 0 0)) (SSTORE 6 (CALLCODE 30000 0x1000000000000000000000000000000000000011 1 0 0 0 0)) (SSTORE 7 (DELEGATECALL 30000 0x1000000000000000000000000000000000000011 0 0 0 0)) (SSTORE 8 (CALL 30000 0x1000000000000000000000000000000000000012 0 0 0 0 0)) (SSTORE 3 (BALANCE 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b)) (SSTORE 10 (GAS)) (MSTORE 0 0x5a60fd55) (SSTORE 11 (CREATE 0 28 4)) (SSTORE 9 (GAS))}", + "storage": { + "0x00" : "0x12" + } + }, + "1000000000000000000000000000000000000101" : { + "balance" : "10000000000", + "nonce" : "0", + "code" : "Test gasPrice of thise codes after EIP150 transition", + "code" : "{ (SSTORE 1 (EXTCODESIZE 0x1000000000000000000000000000000000000010)) (EXTCODECOPY 0x1000000000000000000000000000000000000010 0 0 20) (SSTORE 2 (MLOAD 0)) (SSTORE 4 (SLOAD 0)) (SSTORE 5 (CALL 30000 0x1000000000000000000000000000000000000011 1 0 0 0 0)) (SSTORE 6 (CALLCODE 30000 0x1000000000000000000000000000000000000011 1 0 0 0 0)) (SSTORE 7 (DELEGATECALL 30000 0x1000000000000000000000000000000000000011 0 0 0 0)) (SSTORE 8 (CALL 30000 0x1000000000000000000000000000000000000013 0 0 0 0 0)) (SSTORE 3 (BALANCE 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b)) (SSTORE 10 (GAS)) (MSTORE 0 0x5a60fd55) (SSTORE 11 (CREATE 0 28 4)) (SSTORE 9 (GAS))}", + "storage": { + "0x00" : "0x12" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "nonce" : "0", + "code" : "OOG Call because transaction with 600000gas and CALL consume more gas then it has left", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0x1000000000000000000000000000000000000003 0 0 0 0 0)) (SSTORE 10 (CALLCODE 600000 0x1000000000000000000000000000000000000003 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "nonce" : "0", + "code" : "should be 0 in post state", + "code" : "{ (SSTORE 0 0x12) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000102" : { + "balance" : "0", + "nonce" : "0", + "code" : "By new EIP150 rules this transaction would be executed even if call consumes more gas then transaction has.", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0x1000000000000000000000000000000000000103 0 0 0 0 0)) (SSTORE 10 (CALLCODE 600000 0x1000000000000000000000000000000000000103 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000103" : { + "balance" : "0", + "nonce" : "0", + "code" : "should be 12 in the post state", + "code" : "{ (SSTORE 0 0x12) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000004" : { + "balance" : "0", + "nonce" : "0", + "code" : "Goes OOG beacuse transaction has less 600000 gas available", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (DELEGATECALL 600000 0x1000000000000000000000000000000000000005 0 0 0 0)) }", + "storage": { + } + }, + "1000000000000000000000000000000000000005" : { + "balance" : "0", + "nonce" : "0", + "code" : "should be 0 in the post state", + "code" : "{ (SSTORE 0 0x12) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000104" : { + "balance" : "0", + "nonce" : "0", + "code" : "should work on EIP150 rules", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (DELEGATECALL 600000 0x1000000000000000000000000000000000000105 0 0 0 0)) }", + "storage": { + } + }, + "1000000000000000000000000000000000000105" : { + "balance" : "0", + "nonce" : "0", + "code" : "should be 12 in the post state", + "code" : "{ (SSTORE 0 0x12) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000006" : { + "balance" : "0", + "nonce" : "0", + "code" : "OOG Call because transaction with 600000gas and CALL consume more gasthen it has left. call has depth 2", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 200000 0x1000000000000000000000000000000000000007 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0", + "nonce" : "0", + "code" : "OOG Call because transaction with 600000gas and CALL consume mroe gas then it has left", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0x1000000000000000000000000000000000000008 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0", + "nonce" : "0", + "code" : "should be 0 at the post state", + "code" : "{ (SSTORE 8 (GAS))} ", + "storage": { + } + }, + "1000000000000000000000000000000000000106" : { + "balance" : "0", + "nonce" : "0", + "code" : "ordinal call should work but on second depth it has call that should work by new rules only", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 200000 0x1000000000000000000000000000000000000107 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000107" : { + "balance" : "0", + "nonce" : "0", + "code" : "should work on EIP150", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0x1000000000000000000000000000000000000108 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000108" : { + "balance" : "0", + "nonce" : "0", + "code" : "should be set in the post state", + "code" : "{ (SSTORE 8 (GAS))} ", + "storage": { + } + }, + "1000000000000000000000000000000000000109" : { + "balance" : "0", + "nonce" : "0", + "code" : "OOG Call because call goes OOG on second level", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0x1000000000000000000000000000000000000110 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000110" : { + "balance" : "0", + "nonce" : "0", + "code" : "Inner CaLL goes OOG on EIP150", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0x1000000000000000000000000000000000000111 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000111" : { + "balance" : "0", + "nonce" : "0", + "code" : "{ (SSTORE 8 (GAS)) (CREATE 0 0 0) (CREATE 0 0 0) (SSTORE 9 (GAS)) (SSTORE 10 (GAS)) }", + "storage": { + } + }, + "1000000000000000000000000000000000000112" : { + "balance" : "0", + "nonce" : "0", + "code" : "OOG Call transaction has less gas then in example above", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0x1000000000000000000000000000000000000113 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000113" : { + "balance" : "0", + "nonce" : "0", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0x1000000000000000000000000000000000000114 0 0 0 0 0)) } ", + "storage": { + } + }, + "1000000000000000000000000000000000000114" : { + "balance" : "0", + "nonce" : "0", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (GAS)) (SSTORE 10 (GAS)) }", + "storage": { + } + }, + "1000000000000000000000000000000000000015" : { + "balance" : "0", + "nonce" : "0", + "code" : "check gas spent on suicide to unknown contract before the EIP150", + "code" : "{ (CALL 60000 0x1000000000000000000000000000000000000016 0 0 0 0 0) [[1]] (GAS) }", + "storage": { + } + }, + "1000000000000000000000000000000000000016" : { + "balance" : "0", + "nonce" : "0", + "code" : "Suicide to not existing account", + "code" : "{ (SELFDESTRUCT 0x2000000000000000000000000000000000000015) }", + "storage": { + } + }, + "1000000000000000000000000000000000000115" : { + "balance" : "0", + "nonce" : "0", + "code" : "check gas spent on suicide to unknown contract on EIP150", + "code" : "{ (CALL 60000 0x1000000000000000000000000000000000000116 0 0 0 0 0) [[1]] (GAS) }", + "storage": { + } + }, + "1000000000000000000000000000000000000116" : { + "balance" : "0", + "nonce" : "0", + "code" : "Suicide to not existing account", + "code" : "{ (SELFDESTRUCT 0x2000000000000000000000000000000000000115) }", + "storage": { + } + }, + "1000000000000000000000000000000000000117" : { + "balance" : "0", + "nonce" : "0", + "code" : "check gas spent on suicide known contract on EIP150", + "code" : "{ (CALL 60000 0x1000000000000000000000000000000000000118 0 0 0 0 0) [[1]] (GAS) }", + "storage": { + } + }, + "1000000000000000000000000000000000000118" : { + "balance" : "0", + "nonce" : "0", + "code" : "Suicide to existing account", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000117) }", + "storage": { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000000000", + "nonce" : "0", + "code" : "", + "storage": {} + } + }, + "blocks" : [ + { + "blocknumber" : "1", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "2", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "3", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "4", + "transactions" : [ + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000001", + "value" : "10" + }, + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "1", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000002", + "value" : "1" + }, + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "2", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000004", + "value" : "1" + }, + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "3", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000006", + "value" : "1" + }, + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "4", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000015", + "value" : "1" + } + ], + "uncleHeaders" : [ + ] + }, + { + "comment" : "EIP150 rules are applied", + "blocknumber" : "5", + "transactions" : [ + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "5", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000101", + "value" : "10" + }, + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "6", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000102", + "value" : "1" + }, + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "7", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000104", + "value" : "1" + }, + { + "data" : "", + "gasLimit" : "400000", + "gasPrice" : "1", + "nonce" : "8", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000106", + "value" : "1" + }, + { + "data" : "", + "gasLimit" : "200000", + "gasPrice" : "1", + "nonce" : "9", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000109", + "value" : "1" + }, + { + "data" : "", + "gasLimit" : "160000", + "gasPrice" : "1", + "nonce" : "10", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000112", + "value" : "1" + }, + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "11", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000115", + "value" : "1" + }, + { + "data" : "", + "gasLimit" : "600000", + "gasPrice" : "1", + "nonce" : "12", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000117", + "value" : "1" + } + ], + "uncleHeaders" : [ + ] + } + ] + } +} -- cgit