diff options
author | winsvega <winsvega@mail.ru> | 2018-12-06 20:27:15 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-06 20:27:15 +0800 |
commit | fa338f84b0b6d17e30b63155a203721d366e85d2 (patch) | |
tree | ddee284776eca64b096ed1a5857c6cb97099659a /src | |
parent | 95b69d2641f50c48862941f425c007b1ed243259 (diff) | |
parent | 94d06173305706e54cbf233f5f50204c3754d742 (diff) | |
download | dexon-tests-fa338f84b0b6d17e30b63155a203721d366e85d2.tar dexon-tests-fa338f84b0b6d17e30b63155a203721d366e85d2.tar.gz dexon-tests-fa338f84b0b6d17e30b63155a203721d366e85d2.tar.bz2 dexon-tests-fa338f84b0b6d17e30b63155a203721d366e85d2.tar.lz dexon-tests-fa338f84b0b6d17e30b63155a203721d366e85d2.tar.xz dexon-tests-fa338f84b0b6d17e30b63155a203721d366e85d2.tar.zst dexon-tests-fa338f84b0b6d17e30b63155a203721d366e85d2.zip |
Merge pull request #563 from ethereum/moreextcodehash
extcodehash of a dynamic account created in a subcall + OOG
Diffstat (limited to 'src')
7 files changed, 959 insertions, 0 deletions
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d0g0v0Filler.json new file mode 100644 index 000000000..e676cf0a0 --- /dev/null +++ b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d0g0v0Filler.json @@ -0,0 +1,137 @@ +{ + "extCodeHashSubcallOOG_d0g0v0" : { + "_info" : { + "comment" : "create contract A in a subcall. go OOG in a subcall (revert happens) check EXTCODEHASH of A (in upper call)" + }, + "blocks" : [ + { + "blockHeaderPremine" : { + "difficulty" : "0x020000", + "gasLimit" : "0x989680", + "timestamp" : "0x03e8", + "updatePoW" : "1" + }, + "transactions" : [ + { + "data" : "0x0000000000000000000000002000000000000000000000000000000000000000", + "gasLimit" : "0x061a80", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0xb4a1dd19e4fcb531bf8ae54ae29584b8fa4364f29e7879c3aa63a1763e82cc6d", + "s" : "0x293b7f102d2c0f2161e69e70d141926827654f00240fc8f7ed39558d6e2b4887", + "to" : "0x1000000000000000000000000000000000000000", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "expect" : [ + { + "network" : "Constantinople", + "result" : { + "0x1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x9ff1f274b33e3b56edd7734520cbcdf2699fc1dc78b51644cdc56ca65bebeeae", + "0x02" : "0x05", + "0x03" : "0x6020602055000000000000000000000000000000000000000000000000000000", + "0x04" : "0x01" + } + } + } + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "131072", + "extraData" : "0x42", + "gasLimit" : "0x989680", + "gasUsed" : "0", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "pre" : { + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600060003562055730f2506000513f6001556000513b6002556020600060006000513c6000516003556000600060006000600060005161c350f2600455", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a000000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a100000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a1000000000000000000000000000000000000006203d090f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a100000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80601960003960006000f560005260206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80605f60003960006000f56000526001600155600160025560016003556001600455600160055560016006556001600755600160085560016009556001600a556001600b556001600c556001600d556001600e5560206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x00", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +}
\ No newline at end of file diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d1g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d1g0v0Filler.json new file mode 100644 index 000000000..7e7320a16 --- /dev/null +++ b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d1g0v0Filler.json @@ -0,0 +1,137 @@ +{ + "extCodeHashSubcallOOG_d1g0v0" : { + "_info" : { + "comment" : "create contract A in a subcall. go OOG in a subcall (revert happens) check EXTCODEHASH of A (in upper call)" + }, + "blocks" : [ + { + "blockHeaderPremine" : { + "difficulty" : "0x020000", + "gasLimit" : "0x989680", + "timestamp" : "0x03e8", + "updatePoW" : "1" + }, + "transactions" : [ + { + "data" : "0x0000000000000000000000002100000000000000000000000000000000000000", + "gasLimit" : "0x061a80", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0x6e624e40b52cf55aa93ebd23e520a589a188c48c4816b060737655c7611e0e12", + "s" : "0x5cc52c8d3113c752ebcbe8cd0cddaf13dba646e05432be4e2bc18793c41f2423", + "to" : "0x1000000000000000000000000000000000000000", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "expect" : [ + { + "network" : "Constantinople", + "result" : { + "0x1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x9ff1f274b33e3b56edd7734520cbcdf2699fc1dc78b51644cdc56ca65bebeeae", + "0x02" : "0x05", + "0x03" : "0x6020602055000000000000000000000000000000000000000000000000000000", + "0x04" : "0x01" + } + } + } + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "131072", + "extraData" : "0x42", + "gasLimit" : "0x989680", + "gasUsed" : "0", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "pre" : { + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600060003562055730f2506000513f6001556000513b6002556020600060006000513c6000516003556000600060006000600060005161c350f2600455", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a000000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a100000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a1000000000000000000000000000000000000006203d090f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a100000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80601960003960006000f560005260206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80605f60003960006000f56000526001600155600160025560016003556001600455600160055560016006556001600755600160085560016009556001600a556001600b556001600c556001600d556001600e5560206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x00", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +}
\ No newline at end of file diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d2g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d2g0v0Filler.json new file mode 100644 index 000000000..8c5057a70 --- /dev/null +++ b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d2g0v0Filler.json @@ -0,0 +1,137 @@ +{ + "extCodeHashSubcallOOG_d2g0v0" : { + "_info" : { + "comment" : "create contract A in a subcall. go OOG in a subcall (revert happens) check EXTCODEHASH of A (in upper call)" + }, + "blocks" : [ + { + "blockHeaderPremine" : { + "difficulty" : "0x020000", + "gasLimit" : "0x989680", + "timestamp" : "0x03e8", + "updatePoW" : "1" + }, + "transactions" : [ + { + "data" : "0x0000000000000000000000002200000000000000000000000000000000000000", + "gasLimit" : "0x061a80", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0x20643b777466cf8298c8e6637c01af2c0a4c1cf02e20522a1b43d1e521ef3563", + "s" : "0x7b950ca380a060b7a192b61836913c6e4efcbfddd458ce6d1a37d7533d19198a", + "to" : "0x1000000000000000000000000000000000000000", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "expect" : [ + { + "network" : "Constantinople", + "result" : { + "0x1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x9ff1f274b33e3b56edd7734520cbcdf2699fc1dc78b51644cdc56ca65bebeeae", + "0x02" : "0x05", + "0x03" : "0x6020602055000000000000000000000000000000000000000000000000000000", + "0x04" : "0x01" + } + } + } + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "131072", + "extraData" : "0x42", + "gasLimit" : "0x989680", + "gasUsed" : "0", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "pre" : { + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600060003562055730f2506000513f6001556000513b6002556020600060006000513c6000516003556000600060006000600060005161c350f2600455", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a000000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a100000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a1000000000000000000000000000000000000006203d090f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a100000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80601960003960006000f560005260206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80605f60003960006000f56000526001600155600160025560016003556001600455600160055560016006556001600755600160085560016009556001600a556001600b556001600c556001600d556001600e5560206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x00", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +}
\ No newline at end of file diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d3g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d3g0v0Filler.json new file mode 100644 index 000000000..d51507967 --- /dev/null +++ b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d3g0v0Filler.json @@ -0,0 +1,133 @@ +{ + "extCodeHashSubcallOOG_d3g0v0" : { + "_info" : { + "comment" : "create contract A in a subcall. go OOG in a subcall (revert happens) check EXTCODEHASH of A (in upper call)" + }, + "blocks" : [ + { + "blockHeaderPremine" : { + "difficulty" : "0x020000", + "gasLimit" : "0x989680", + "timestamp" : "0x03e8", + "updatePoW" : "1" + }, + "transactions" : [ + { + "data" : "0x0000000000000000000000003000000000000000000000000000000000000000", + "gasLimit" : "0x061a80", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0x32b146d9bf209b8991e736d7626c70c8538e2fb46ef5d90e372443a2265976a6", + "s" : "0x08130060ce543b295e903a6cd822d3df02cf82cdbcc822a87cee962c42c068c5", + "to" : "0x1000000000000000000000000000000000000000", + "v" : "0x1c", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "expect" : [ + { + "network" : "Constantinople", + "result" : { + "0x62ae0b997c8230e321b19d06b7004f25e1ac0637" : { + }, + "0xc566c94b132ce77d6e67add86c5a74e808578876" : { + } + } + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "131072", + "extraData" : "0x42", + "gasLimit" : "0x989680", + "gasUsed" : "0", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "pre" : { + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600060003562055730f2506000513f6001556000513b6002556020600060006000513c6000516003556000600060006000600060005161c350f2600455", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a000000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a100000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a1000000000000000000000000000000000000006203d090f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a100000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80601960003960006000f560005260206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80605f60003960006000f56000526001600155600160025560016003556001600455600160055560016006556001600755600160085560016009556001600a556001600b556001600c556001600d556001600e5560206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x00", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +}
\ No newline at end of file diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d4g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d4g0v0Filler.json new file mode 100644 index 000000000..d81579be5 --- /dev/null +++ b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d4g0v0Filler.json @@ -0,0 +1,133 @@ +{ + "extCodeHashSubcallOOG_d4g0v0" : { + "_info" : { + "comment" : "create contract A in a subcall. go OOG in a subcall (revert happens) check EXTCODEHASH of A (in upper call)" + }, + "blocks" : [ + { + "blockHeaderPremine" : { + "difficulty" : "0x020000", + "gasLimit" : "0x989680", + "timestamp" : "0x03e8", + "updatePoW" : "1" + }, + "transactions" : [ + { + "data" : "0x0000000000000000000000003100000000000000000000000000000000000000", + "gasLimit" : "0x061a80", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0xe7b01581161e1c9b36882e6a70bd8bbe166090a2552248bd5771e3bf93c82186", + "s" : "0x0d487fa3fde3c4095a4af5a7c0e854d37013c45df5da342825bdba17d584deaa", + "to" : "0x1000000000000000000000000000000000000000", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "expect" : [ + { + "network" : "Constantinople", + "result" : { + "0x62ae0b997c8230e321b19d06b7004f25e1ac0637" : { + }, + "0xc566c94b132ce77d6e67add86c5a74e808578876" : { + } + } + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "131072", + "extraData" : "0x42", + "gasLimit" : "0x989680", + "gasUsed" : "0", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "pre" : { + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600060003562055730f2506000513f6001556000513b6002556020600060006000513c6000516003556000600060006000600060005161c350f2600455", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a000000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a100000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a1000000000000000000000000000000000000006203d090f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a100000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80601960003960006000f560005260206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80605f60003960006000f56000526001600155600160025560016003556001600455600160055560016006556001600755600160085560016009556001600a556001600b556001600c556001600d556001600e5560206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x00", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +}
\ No newline at end of file diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d5g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d5g0v0Filler.json new file mode 100644 index 000000000..3846db929 --- /dev/null +++ b/src/BlockchainTestsFiller/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG_d5g0v0Filler.json @@ -0,0 +1,133 @@ +{ + "extCodeHashSubcallOOG_d5g0v0" : { + "_info" : { + "comment" : "create contract A in a subcall. go OOG in a subcall (revert happens) check EXTCODEHASH of A (in upper call)" + }, + "blocks" : [ + { + "blockHeaderPremine" : { + "difficulty" : "0x020000", + "gasLimit" : "0x989680", + "timestamp" : "0x03e8", + "updatePoW" : "1" + }, + "transactions" : [ + { + "data" : "0x0000000000000000000000003200000000000000000000000000000000000000", + "gasLimit" : "0x061a80", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0x2f1374c6e865d1e97cca681d22301535b34baab05ae5f5f96736cfbf5680510f", + "s" : "0x266e3c55b1565d5aac75e6725e7cafe6138ed86d4f53d6eefee2b25f74ad1d52", + "to" : "0x1000000000000000000000000000000000000000", + "v" : "0x1c", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "expect" : [ + { + "network" : "Constantinople", + "result" : { + "0x62ae0b997c8230e321b19d06b7004f25e1ac0637" : { + }, + "0xc566c94b132ce77d6e67add86c5a74e808578876" : { + } + } + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "difficulty" : "131072", + "extraData" : "0x42", + "gasLimit" : "0x989680", + "gasUsed" : "0", + "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0x0102030405060708", + "number" : "0", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a", + "timestamp" : "0x03b6", + "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "pre" : { + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600060003562055730f2506000513f6001556000513b6002556020600060006000513c6000516003556000600060006000600060005161c350f2600455", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a000000000000000000000000000000000000000620249f0f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x2200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a000000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a100000000000000000000000000000000000000620249f0f15060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6020600060006000600073a1000000000000000000000000000000000000006203d090f25060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0x3200000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x602060006000600073a100000000000000000000000000000000000000620249f0f45060206000f3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80601960003960006000f560005260206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa100000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600e80605f60003960006000f56000526001600155600160025560016003556001600455600160055560016006556001600755600160085560016009556001600a556001600b556001600c556001600d556001600e5560206000f300fe6460206020556000526005601bf3", + "nonce" : "0x00", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x00", + "nonce" : "0x00", + "storage" : { + } + } + }, + "sealEngine" : "NoProof" + } +}
\ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashSubcallOOGFiller.yml b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashSubcallOOGFiller.yml new file mode 100644 index 000000000..e4389f15e --- /dev/null +++ b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashSubcallOOGFiller.yml @@ -0,0 +1,149 @@ +# create contract A in a subcall. go OOG in a subcall (revert happens) check EXTCODEHASH of A (in upper call) +--- +extCodeHashSubcallOOG: + _info: + comment: "create contract A in a subcall. go OOG in a subcall (revert happens) check EXTCODEHASH of A (in upper call)" + env: + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + currentDifficulty: '0x20000' + currentGasLimit: "10000000" + currentNumber: "1" + currentTimestamp: "1000" + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + pre: + '1000000000000000000000000000000000000000': + balance: '1000000000000000000' + code: | + { + (CALLCODE 350000 (CALLDATALOAD 0) 0 0 0 0 32) + (SSTORE 1 (EXTCODEHASH (MLOAD 0))) + (SSTORE 2 (EXTCODESIZE (MLOAD 0))) + (EXTCODECOPY (MLOAD 0) 0 0 32) + (SSTORE 3 (MLOAD 0)) + (SSTORE 4 (CALLCODE 50000 (MLOAD 0) 0 0 0 0 0)) + } + nonce: '0' + storage: {} + '2000000000000000000000000000000000000000': + balance: '1000000000000000000' + code: | + { (CALL 150000 0xa000000000000000000000000000000000000000 0 0 0 0 32) (RETURN 0 32)} + nonce: '0' + storage: {} + '2100000000000000000000000000000000000000': + balance: '1000000000000000000' + code: | + { (CALLCODE 150000 0xa000000000000000000000000000000000000000 0 0 0 0 32) (RETURN 0 32)} + nonce: '0' + storage: {} + '2200000000000000000000000000000000000000': + balance: '1000000000000000000' + code: | + { (DELEGATECALL 150000 0xa000000000000000000000000000000000000000 0 0 0 32) (RETURN 0 32)} + nonce: '0' + storage: {} + '3000000000000000000000000000000000000000': + balance: '1000000000000000000' + code: | + { (CALL 150000 0xa100000000000000000000000000000000000000 0 0 0 0 32) (RETURN 0 32)} + nonce: '0' + storage: {} + '3100000000000000000000000000000000000000': + balance: '1000000000000000000' + code: | + { (CALLCODE 250000 0xa100000000000000000000000000000000000000 0 0 0 0 32) (RETURN 0 32)} + nonce: '0' + storage: {} + '3200000000000000000000000000000000000000': + balance: '1000000000000000000' + code: | + { (DELEGATECALL 150000 0xa100000000000000000000000000000000000000 0 0 0 32) (RETURN 0 32)} + nonce: '0' + storage: {} + #create dynamic contract not going out of gas + a000000000000000000000000000000000000000: + balance: '1000000000000000000' + code: | + { + (MSTORE 0 + (CREATE2 0 0 + (lll + { + (MSTORE 0 0x6020602055) + (RETURN 27 5) + } + 0) + 0)) + (RETURN 0 32) + (STOP) + } + nonce: '0' + storage: {} + #create dynamic contract and go OOG + a100000000000000000000000000000000000000: + balance: '1000000000000000000' + code: | + { + (MSTORE 0 + (CREATE2 0 0 + (lll + { + (MSTORE 0 0x6020602055) + (RETURN 27 5) + } + 0) + 0)) + (SSTORE 1 1) (SSTORE 2 1) (SSTORE 3 1) (SSTORE 4 1) (SSTORE 5 1) (SSTORE 6 1) (SSTORE 7 1) + (SSTORE 8 1) (SSTORE 9 1) (SSTORE 10 1) (SSTORE 11 1) (SSTORE 12 1) (SSTORE 13 1) (SSTORE 14 1) + (RETURN 0 32) + (STOP) + } + nonce: '0' + storage: {} + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: '1000000000000000000' + code: '0x00' + nonce: '0' + storage: {} + expect: + - indexes: + data: [ !!int 0, !!int 1, !!int 2 ] + gas: !!int -1 + value: !!int -1 + network: + - '>=Constantinople' + result: + 1000000000000000000000000000000000000000: + storage: { + 1: '0x9ff1f274b33e3b56edd7734520cbcdf2699fc1dc78b51644cdc56ca65bebeeae', + 2: '0x05', + 3: '0x6020602055000000000000000000000000000000000000000000000000000000', + 4: '0x01' + } + - indexes: + data: [ !!int 3, !!int 4, !!int 5 ] + gas: !!int -1 + value: !!int -1 + network: + - '>=Constantinople' + result: + 62ae0b997c8230e321b19d06b7004f25e1ac0637: + shouldnotexist: '1' + c566c94b132ce77d6e67add86c5a74e808578876: + shouldnotexist: '1' + transaction: + data: + - '0x0000000000000000000000002000000000000000000000000000000000000000' + - '0x0000000000000000000000002100000000000000000000000000000000000000' + - '0x0000000000000000000000002200000000000000000000000000000000000000' + - '0x0000000000000000000000003000000000000000000000000000000000000000' + - '0x0000000000000000000000003100000000000000000000000000000000000000' + - '0x0000000000000000000000003200000000000000000000000000000000000000' + gasLimit: + - '400000' + gasPrice: '1' + nonce: '0' + secretKey: 45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8 + to: '1000000000000000000000000000000000000000' + value: + - '1' |