From d3fc46a945ed79898c685fb6469d8e2af59745e5 Mon Sep 17 00:00:00 2001 From: Adrian Sutton Date: Sun, 18 Nov 2018 13:44:39 +1000 Subject: Add test for EXTCODEHASH of account created and then deleted in same transaction. --- ...extCodeHashCreatedAndDeletedAccount_d0g0v0.json | 114 +++++++++++++++++++++ .../extCodeHashCreatedAndDeletedAccount.json | 63 ++++++++++++ ...eHashCreatedAndDeletedAccount_d0g0v0Filler.json | 81 +++++++++++++++ .../extCodeHashCreatedAndDeletedAccountFiller.json | 68 ++++++++++++ 4 files changed, 326 insertions(+) create mode 100644 BlockchainTests/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount_d0g0v0.json create mode 100644 GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount.json create mode 100644 src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount_d0g0v0Filler.json create mode 100644 src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountFiller.json diff --git a/BlockchainTests/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount_d0g0v0.json b/BlockchainTests/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount_d0g0v0.json new file mode 100644 index 000000000..a3724fa73 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount_d0g0v0.json @@ -0,0 +1,114 @@ +{ + "extCodeHashCreatedAndDeletedAccount_d0g0v0_Constantinople" : { + "_info" : { + "comment" : "EXTCODEHASH/EXTCODESIZE of an account created then deleted in same transaction", + "filledwith" : "testeth 1.5.0-alpha.6-1+commit.19ad7d95.dirty", + "lllcversion" : "Version: 0.5.0-develop.2018.9.29+commit.c4b5101b.Darwin.appleclang", + "source" : "src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount_d0g0v0Filler.json", + "sourceHash" : "ab779d6b3aebd5e4c44b35ccdf35527a9c43cf4170e7126bbc095b7b12b648ce" + }, + "blocks" : [ + { + "blockHeader" : { + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x020000", + "extraData" : "", + "gasLimit" : "0x0f4240", + "gasUsed" : "0x01cb8b", + "hash" : "0xe3f9b1dfd2826527aae601e8fb7eb53b6269de241afd938c3abde41ed1af1bfd", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x275a05e27b73785c9e8caf6adfb855b8956e28b55c99795eb2e0bfe03e5ff670", + "receiptTrie" : "0x2adae12af0f78fd10dcdcb5b99556fa0d99f53355169c8a4ba5c55aef1217560", + "stateRoot" : "0xd391c4a5cf4d21a174277939d4c52552f3602d22eb3e338a188a80f698e93277", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x324788bcaeb3ef4ea52657457b25024fd8e28f4e686f0b44f9df8c55c10854a3", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf90260f901f8a0275a05e27b73785c9e8caf6adfb855b8956e28b55c99795eb2e0bfe03e5ff670a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0d391c4a5cf4d21a174277939d4c52552f3602d22eb3e338a188a80f698e93277a0324788bcaeb3ef4ea52657457b25024fd8e28f4e686f0b44f9df8c55c10854a3a02adae12af0f78fd10dcdcb5b99556fa0d99f53355169c8a4ba5c55aef1217560b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001830f42408301cb8b8203e880a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f862f860800183061a8094deadbeef0000000000000000000000000000000001801ca0c202f0d1337e2d44fa1bf35877e7278363f8a0870146a587e8f75bbd10df9240a05cb792200832e3876d0213563d9dc7705e255718f25455ca28eec91736e98c55c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x061a80", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0xc202f0d1337e2d44fa1bf35877e7278363f8a0870146a587e8f75bbd10df9240", + "s" : "0x5cb792200832e3876d0213563d9dc7705e255718f25455ca28eec91736e98c55", + "to" : "0xdeadbeef00000000000000000000000000000000", + "v" : "0x1c", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x0f4240", + "gasUsed" : "0x00", + "hash" : "0x275a05e27b73785c9e8caf6adfb855b8956e28b55c99795eb2e0bfe03e5ff670", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xb8e893f475c4e6bc130f38403571e386058711c453a18122c8aa9fa151a1cce0", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0b8e893f475c4e6bc130f38403571e386058711c453a18122c8aa9fa151a1cce0a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080830f4240808203b642a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", + "lastblockhash" : "0xe3f9b1dfd2826527aae601e8fb7eb53b6269de241afd938c3abde41ed1af1bfd", + "network" : "Constantinople", + "postState" : { + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "0x1bc16d674ec9cb8b", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7623474", + "code" : "", + "nonce" : "0x01", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640001", + "code" : "0x6010600f80604360803960806000f56000526000513f6000556000513b6001556000600060006000600060005162010000f1506000513f6002556000513b60035500fe600380600c6000396000f3fe6000ff", + "nonce" : "0x01", + "storage" : { + "0x00" : "0x396daaf3a7871f857cc9b5878c6bb66c394a6d109706095617db9f4e4c22edcd", + "0x01" : "0x03", + "0x02" : "0x396daaf3a7871f857cc9b5878c6bb66c394a6d109706095617db9f4e4c22edcd", + "0x03" : "0x03" + } + } + }, + "pre" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6010600f80604360803960806000f56000526000513f6000556000513b6001556000600060006000600060005162010000f1506000513f6002556000513b60035500fe600380600c6000396000f3fe6000ff", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount.json b/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount.json new file mode 100644 index 000000000..be92529f1 --- /dev/null +++ b/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount.json @@ -0,0 +1,63 @@ +{ + "extCodeHashCreatedAndDeletedAccount" : { + "_info" : { + "comment" : "EXTCODEHASH/EXTCODESIZE of an account created then deleted in same transaction", + "filledwith" : "testeth 1.5.0-alpha.6-1+commit.19ad7d95.dirty", + "lllcversion" : "Version: 0.5.0-develop.2018.9.29+commit.c4b5101b.Darwin.appleclang", + "source" : "src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountFiller.json", + "sourceHash" : "ee152cae68b3cb6ec88aad0ba375c095c51f38c0442eaf5dfffcb9b35a71f6d0" + }, + "env" : { + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x20000", + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "Constantinople" : [ + { + "hash" : "0x28ec9cc4d5b3359131820d265caadf88b559339e71e83d19459e0fc3e7c7d91f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + } + ] + }, + "pre" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6010600f80604360803960806000f56000526000513f6000556000513b6001556000600060006000600060005162010000f1506000513f6002556000513b60035500fe600380600c6000396000f3fe6000ff", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "data" : [ + "0x" + ], + "gasLimit" : [ + "0x061a80" + ], + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xdeadbeef00000000000000000000000000000000", + "value" : [ + "0x01" + ] + } + } +} \ No newline at end of file diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount_d0g0v0Filler.json new file mode 100644 index 000000000..e31e3634f --- /dev/null +++ b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount_d0g0v0Filler.json @@ -0,0 +1,81 @@ +{ + "extCodeHashCreatedAndDeletedAccount_d0g0v0" : { + "_info" : { + "comment" : "EXTCODEHASH/EXTCODESIZE of an account created then deleted in same transaction" + }, + "blocks" : [ + { + "blockHeaderPremine" : { + "difficulty" : "0x020000", + "gasLimit" : "0x0f4240", + "timestamp" : "0x03e8", + "updatePoW" : "1" + }, + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x061a80", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0xc202f0d1337e2d44fa1bf35877e7278363f8a0870146a587e8f75bbd10df9240", + "s" : "0x5cb792200832e3876d0213563d9dc7705e255718f25455ca28eec91736e98c55", + "to" : "0xdeadbeef00000000000000000000000000000000", + "v" : "0x1c", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "expect" : [ + { + "network" : "Constantinople", + "result" : { + "0xdeadbeef00000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x396daaf3a7871f857cc9b5878c6bb66c394a6d109706095617db9f4e4c22edcd", + "0x01" : "0x03", + "0x02" : "0x396daaf3a7871f857cc9b5878c6bb66c394a6d109706095617db9f4e4c22edcd", + "0x03" : "0x03" + } + } + } + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "131072", + "extraData" : "0x42", + "gasLimit" : "0x0f4240", + "gasUsed" : "0", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "pre" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6010600f80604360803960806000f56000526000513f6000556000513b6001556000600060006000600060005162010000f1506000513f6002556000513b60035500fe600380600c6000396000f3fe6000ff", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +} \ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountFiller.json b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountFiller.json new file mode 100644 index 000000000..078ed93f1 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountFiller.json @@ -0,0 +1,68 @@ +{ + "extCodeHashCreatedAndDeletedAccount": { + "_info": { + "comment": "EXTCODEHASH/EXTCODESIZE of an account created then deleted in same transaction" + }, + "env": { + "currentCoinbase": "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x20000", + "currentGasLimit": "1000000", + "currentNumber": "1", + "currentTimestamp": "1000", + "previousHash": "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "expect": [ + { + "indexes": { + "data": -1, + "gas": -1, + "value": -1 + }, + "network": [ + ">=Constantinople" + ], + "result": { + "deadbeef00000000000000000000000000000000": { + "storage": { + "0x00": "0x396daaf3a7871f857cc9b5878c6bb66c394a6d109706095617db9f4e4c22edcd", + "0x01": "0x03", + "0x02": "0x396daaf3a7871f857cc9b5878c6bb66c394a6d109706095617db9f4e4c22edcd", + "0x03": "0x03" + } + } + } + } + ], + "pre": { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b": { + "balance": "1000000000000000000", + "code": "0x", + "nonce": "0", + "storage": { + } + }, + "deadbeef00000000000000000000000000000000": { + "balance": "1000000000000000000", + "code": "{ (MSTORE 0 (CREATE2 0 128 (lll { (RETURN 0 (lll { (SELFDESTRUCT 0x0) } 0)) } 128) 0x10)) [[0]] (EXTCODEHASH (MLOAD 0)) [[1]] (EXTCODESIZE (MLOAD 0)) (CALL 0x10000 (MLOAD 0) 0 0 0 0 0) [[2]] (EXTCODEHASH (MLOAD 0)) [[3]] (EXTCODESIZE (MLOAD 0)) (STOP) }", + "nonce": "0", + "storage": { + } + } + }, + "transaction": { + "data": [ + "" + ], + "gasLimit": [ + "400000" + ], + "gasPrice": "1", + "nonce": "0", + "secretKey": "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to": "deadbeef00000000000000000000000000000000", + "value": [ + "1" + ] + } + } +} -- cgit