diff options
author | Adrian Sutton <adrian.sutton@consensys.net> | 2018-11-18 15:37:18 +0800 |
---|---|---|
committer | Adrian Sutton <adrian.sutton@consensys.net> | 2018-11-21 07:48:17 +0800 |
commit | 757640c97bd9dca433efc2b1b5fd9f4b938c1640 (patch) | |
tree | 33a34c17dabfe9eb6c87dcf2a5c27eb786f66a6b | |
parent | 00c6354c3c5737b407605b57d0dda2faee449e44 (diff) | |
download | dexon-tests-757640c97bd9dca433efc2b1b5fd9f4b938c1640.tar.gz dexon-tests-757640c97bd9dca433efc2b1b5fd9f4b938c1640.tar.zst dexon-tests-757640c97bd9dca433efc2b1b5fd9f4b938c1640.zip |
Add test for EXTCODEHASH of account before and after changing it's balance, nonce and storage.
4 files changed, 418 insertions, 0 deletions
diff --git a/BlockchainTests/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount_d0g0v0.json b/BlockchainTests/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount_d0g0v0.json new file mode 100644 index 000000000..80e008546 --- /dev/null +++ b/BlockchainTests/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount_d0g0v0.json @@ -0,0 +1,150 @@ +{ + "extCodeHashChangedAccount_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/extCodeHashChangedAccount_d0g0v0Filler.json", + "sourceHash" : "9f4da3b2cb08dd6e9eca0d718f4dd0e4169aa62afb2e6e91fb677c6fc857fce8" + }, + "blocks" : [ + { + "blockHeader" : { + "bloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "0x020000", + "extraData" : "", + "gasLimit" : "0x0f4240", + "gasUsed" : "0x027b68", + "hash" : "0x8171405bbdfd2233fe2ffcfb4a6f8aee5518ba4c61b9d024f972e7b48e05145c", + "mixHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce" : "0x0000000000000000", + "number" : "0x01", + "parentHash" : "0x5e9e729316d612d4510744da588c6de3b703caaa86d25d46be6f3da6466a15f6", + "receiptTrie" : "0xfdf75e4d00d8b8020ec7fcbbfd57966c381c97fa26dca044f99dc0729f3e37cb", + "stateRoot" : "0x655771e8d58aa2cb97a1170ba2fed53ae72630aac523b74f0234d6a615a2ea69", + "timestamp" : "0x03e8", + "transactionsTrie" : "0x324788bcaeb3ef4ea52657457b25024fd8e28f4e686f0b44f9df8c55c10854a3", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "rlp" : "0xf90260f901f8a05e9e729316d612d4510744da588c6de3b703caaa86d25d46be6f3da6466a15f6a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0655771e8d58aa2cb97a1170ba2fed53ae72630aac523b74f0234d6a615a2ea69a0324788bcaeb3ef4ea52657457b25024fd8e28f4e686f0b44f9df8c55c10854a3a0fdf75e4d00d8b8020ec7fcbbfd57966c381c97fa26dca044f99dc0729f3e37cbb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001830f424083027b688203e880a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f862f860800183061a8094deadbeef0000000000000000000000000000000001801ca0c202f0d1337e2d44fa1bf35877e7278363f8a0870146a587e8f75bbd10df9240a05cb792200832e3876d0213563d9dc7705e255718f25455ca28eec91736e98c55c0", + "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" : "0x5e9e729316d612d4510744da588c6de3b703caaa86d25d46be6f3da6466a15f6", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0x00", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xd0517250c507cca8e3516fb12f90d9cd8d576e9eb3575ca5b0684fde3d1d89d8", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942adc25665018aa1fe0e6bc666dac8fc2697ff9baa0d0517250c507cca8e3516fb12f90d9cd8d576e9eb3575ca5b0684fde3d1d89d8a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080830f4240808203b642a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", + "lastblockhash" : "0x8171405bbdfd2233fe2ffcfb4a6f8aee5518ba4c61b9d024f972e7b48e05145c", + "network" : "Constantinople", + "postState" : { + "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "0x1bc16d674eca7b68", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7618497", + "code" : "", + "nonce" : "0x01", + "storage" : { + } + }, + "0xc6b3171c252a2bd26e2e5cc252551d8c87ac6028" : { + "balance" : "0x00", + "code" : "", + "nonce" : "0x01", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a763fc19", + "code" : "0x73deadbeef000000000000000000000000000000013f60005573deadbeef000000000000000000000000000000013b60015560006000600060006103e873deadbeef0000000000000000000000000000000162010000f15073deadbeef000000000000000000000000000000013f60025573deadbeef000000000000000000000000000000013b60035500", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x6787cf03326eaab775b9bafb2dc770a63cf6f114767ed7c20c300caad161b8cf", + "0x01" : "0x0e", + "0x02" : "0x6787cf03326eaab775b9bafb2dc770a63cf6f114767ed7c20c300caad161b8cf", + "0x03" : "0x0e" + } + }, + "0xdeadbeef00000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a76403e8", + "code" : "0x600060006000f050611234600055", + "nonce" : "0x01", + "storage" : { + "0x00" : "0x1234" + } + }, + "0xdeadbeef00000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + } + }, + "pre" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x73deadbeef000000000000000000000000000000013f60005573deadbeef000000000000000000000000000000013b60015560006000600060006103e873deadbeef0000000000000000000000000000000162010000f15073deadbeef000000000000000000000000000000013f60025573deadbeef000000000000000000000000000000013b60035500", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000f050611234600055", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +}
\ No newline at end of file diff --git a/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount.json b/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount.json new file mode 100644 index 000000000..e57b249b3 --- /dev/null +++ b/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount.json @@ -0,0 +1,77 @@ +{ + "extCodeHashChangedAccount" : { + "_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/extCodeHashChangedAccountFiller.json", + "sourceHash" : "5c206874ebe2d8ddd08dd761b3c062a6ab23a905e7a1732025d1bad3c51b5af8" + }, + "env" : { + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x20000", + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "Constantinople" : [ + { + "hash" : "0xeeca9394ae5c091dc25e6a2e948ee8a1dca97a4dc2d4793c3f9dd6afd1dc7a06", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + } + ] + }, + "pre" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x73deadbeef000000000000000000000000000000013f60005573deadbeef000000000000000000000000000000013b60015560006000600060006103e873deadbeef0000000000000000000000000000000162010000f15073deadbeef000000000000000000000000000000013f60025573deadbeef000000000000000000000000000000013b60035500", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000f050611234600055", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "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/extCodeHashChangedAccount_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount_d0g0v0Filler.json new file mode 100644 index 000000000..c48d935f8 --- /dev/null +++ b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount_d0g0v0Filler.json @@ -0,0 +1,102 @@ +{ + "extCodeHashChangedAccount_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" : "0x6787cf03326eaab775b9bafb2dc770a63cf6f114767ed7c20c300caad161b8cf", + "0x01" : "0x0e", + "0x02" : "0x6787cf03326eaab775b9bafb2dc770a63cf6f114767ed7c20c300caad161b8cf", + "0x03" : "0x0e" + } + }, + "0xdeadbeef00000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a76403e8", + "nonce" : "0x01", + "storage" : { + "0x00" : "0x1234" + } + } + } + } + ], + "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" : "0x73deadbeef000000000000000000000000000000013f60005573deadbeef000000000000000000000000000000013b60015560006000600060006103e873deadbeef0000000000000000000000000000000162010000f15073deadbeef000000000000000000000000000000013f60025573deadbeef000000000000000000000000000000013b60035500", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000f050611234600055", + "nonce" : "0x00", + "storage" : { + } + }, + "0xdeadbeef00000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +}
\ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashChangedAccountFiller.json b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashChangedAccountFiller.json new file mode 100644 index 000000000..07943ef3f --- /dev/null +++ b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashChangedAccountFiller.json @@ -0,0 +1,89 @@ +{ + "extCodeHashChangedAccount": { + "_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": "0x6787cf03326eaab775b9bafb2dc770a63cf6f114767ed7c20c300caad161b8cf", + "0x01": "0x0e", + "0x02": "0x6787cf03326eaab775b9bafb2dc770a63cf6f114767ed7c20c300caad161b8cf", + "0x03": "0x0e" + } + }, + "deadbeef00000000000000000000000000000001": { + "balance": "1000000000000001000", + "storage": { + "0x00": "0x1234" + }, + "nonce": "1" + } + } + } + ], + "pre": { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b": { + "balance": "1000000000000000000", + "code": "0x", + "nonce": "0", + "storage": { + } + }, + "deadbeef00000000000000000000000000000000": { + "balance": "1000000000000000000", + "code": "{ [[0]] (EXTCODEHASH 0xdeadbeef00000000000000000000000000000001) [[1]] (EXTCODESIZE 0xdeadbeef00000000000000000000000000000001) (CALL 0x10000 0xdeadbeef00000000000000000000000000000001 1000 0 0 0 0) [[2]] (EXTCODEHASH 0xdeadbeef00000000000000000000000000000001) [[3]] (EXTCODESIZE 0xdeadbeef00000000000000000000000000000001) (STOP) }", + "nonce": "0", + "storage": { + } + }, + "deadbeef00000000000000000000000000000001": { + "balance": "1000000000000000000", + "code": "{ (CREATE 0 0 0) (SSTORE 0 0x1234) }", + "nonce": "0", + "storage": { + } + }, + "deadbeef00000000000000000000000000000002": { + "balance": "1000000000000000000", + "code": "", + "nonce": "0", + "storage": { + } + } + }, + "transaction": { + "data": [ + "" + ], + "gasLimit": [ + "400000" + ], + "gasPrice": "1", + "nonce": "0", + "secretKey": "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to": "deadbeef00000000000000000000000000000000", + "value": [ + "1" + ] + } + } +} |