{ "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" : [ ] } ] } }