diff options
author | winsvega <winsvega@mail.ru> | 2018-11-21 05:43:47 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-21 05:43:47 +0800 |
commit | 00c6354c3c5737b407605b57d0dda2faee449e44 (patch) | |
tree | 73a5a5d365ada1036b15172e16c00812827b819c /src/GeneralStateTestsFiller | |
parent | 74cc22b8f06e61bd1313df35848ed8e5f774e571 (diff) | |
parent | 0702b65c8d8a8fc6e2b921a5ac5a224e863bc09b (diff) | |
download | dexon-tests-00c6354c3c5737b407605b57d0dda2faee449e44.tar.gz dexon-tests-00c6354c3c5737b407605b57d0dda2faee449e44.tar.zst dexon-tests-00c6354c3c5737b407605b57d0dda2faee449e44.zip |
Merge pull request #549 from ajsutton/extcodehash-createdeleteaccount
Add test for EXTCODEHASH of account created and deleted in same transaction
Diffstat (limited to 'src/GeneralStateTestsFiller')
4 files changed, 296 insertions, 0 deletions
diff --git a/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountCallFiller.json b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountCallFiller.json new file mode 100644 index 000000000..dbd65f02f --- /dev/null +++ b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountCallFiller.json @@ -0,0 +1,71 @@ +{ + "extCodeHashCreatedAndDeletedAccountCall": { + "_info": { + "comment": "EXTCODEHASH/EXTCODESIZE of an account created then deleted via CALL 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" + } + }, + "7be7677a20a298ff0676ab31f91a0a923f8d9471": { + "shouldnotexist": "1" + } + } + } + ], + "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" + ] + } + } +} 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" + ] + } + } +} diff --git a/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountRecheckInOuterCallFiller.json b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountRecheckInOuterCallFiller.json new file mode 100644 index 000000000..8ba40db88 --- /dev/null +++ b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountRecheckInOuterCallFiller.json @@ -0,0 +1,84 @@ +{ + "extCodeHashCreatedAndDeletedAccountRecheckInOuterCall": { + "_info": { + "comment": "EXTCODEHASH/EXTCODESIZE of an account created then deleted in a CALL, checking results after the CALL returns" + }, + "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" + } + }, + "deadbeef00000000000000000000000000000001": { + "storage": { + "0x00": "0x396daaf3a7871f857cc9b5878c6bb66c394a6d109706095617db9f4e4c22edcd", + "0x01": "0x03" + } + }, + "7be7677a20a298ff0676ab31f91a0a923f8d9471": { + "shouldnotexist": "1" + } + } + } + ], + "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": { + } + }, + "deadbeef00000000000000000000000000000001": { + "balance": "1000000000000000000", + "code": "{ (CALL 0x20000 0xdeadbeef00000000000000000000000000000000 0 0 0 0 0) [[0]] (EXTCODEHASH 0x7be7677a20a298ff0676ab31f91a0a923f8d9471) [[1]] (EXTCODESIZE 0x7be7677a20a298ff0676ab31f91a0a923f8d9471) (STOP) }", + "nonce": "0", + "storage": { + } + } + }, + "transaction": { + "data": [ + "" + ], + "gasLimit": [ + "400000" + ], + "gasPrice": "1", + "nonce": "0", + "secretKey": "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to": "deadbeef00000000000000000000000000000001", + "value": [ + "1" + ] + } + } +}
\ No newline at end of file diff --git a/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountStaticCallFiller.json b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountStaticCallFiller.json new file mode 100644 index 000000000..920c8733b --- /dev/null +++ b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashCreatedAndDeletedAccountStaticCallFiller.json @@ -0,0 +1,73 @@ +{ + "extCodeHashCreatedAndDeletedAccountStaticCall": { + "_info": { + "comment": "EXTCODEHASH/EXTCODESIZE of an account created then deleted via STATICCALL 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" + } + }, + "7be7677a20a298ff0676ab31f91a0a923f8d9471": { + "code": "0x6000ff", + "storage": { + } + } + } + } + ], + "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)) (STATICCALL 0x10000 (MLOAD 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" + ] + } + } +} |