aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Sutton <adrian.sutton@consensys.net>2018-11-12 10:10:27 +0800
committerAdrian Sutton <adrian.sutton@consensys.net>2018-11-12 10:10:27 +0800
commit6a3f10e004d1586d592e71429c17cd73160a6062 (patch)
treee6db1ff0c886a12b7f1619d9ddca6fc37008f2bf
parentbd72064a878503191819b562ce0454f583fc0c81 (diff)
downloadtangerine-tests-6a3f10e004d1586d592e71429c17cd73160a6062.tar.gz
tangerine-tests-6a3f10e004d1586d592e71429c17cd73160a6062.tar.zst
tangerine-tests-6a3f10e004d1586d592e71429c17cd73160a6062.zip
Add test case for a contract executing EXTCODEHASH of the account being created from within it's init code.
-rw-r--r--GeneralStateTests/stExtCodeHash/extCodeHashSelfInInit.json64
-rw-r--r--src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashSelfInInitFiller.json74
2 files changed, 138 insertions, 0 deletions
diff --git a/GeneralStateTests/stExtCodeHash/extCodeHashSelfInInit.json b/GeneralStateTests/stExtCodeHash/extCodeHashSelfInInit.json
new file mode 100644
index 000000000..506c6f021
--- /dev/null
+++ b/GeneralStateTests/stExtCodeHash/extCodeHashSelfInInit.json
@@ -0,0 +1,64 @@
+{
+ "extCodeHashSelfInInit" : {
+ "_info" : {
+ "comment" : "EXTCODEHASH/EXTCODESIZE of the account currently being created",
+ "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/extCodeHashSelfInInitFiller.json",
+ "sourceHash" : "a17e4fb7a0a4a6ac92dc1b2b696f92340f5ff3e7b85320b8157ec8265c087c8b"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x0f4240",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Constantinople" : [
+ {
+ "hash" : "0x318ee70503cfb93bf40ff733c0c32ba3e1a513f0a9869dfc905734a7e7932bf3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xdeadbeef00000000000000000000000000000000" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6010600f80601260003960006000f55000fe303f600055303b60015560006000f3",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0xdeadbeef"
+ }
+ }
+ },
+ "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/GeneralStateTestsFiller/stExtCodeHash/extCodeHashSelfInInitFiller.json b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashSelfInInitFiller.json
new file mode 100644
index 000000000..45c5debd3
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stExtCodeHash/extCodeHashSelfInInitFiller.json
@@ -0,0 +1,74 @@
+{
+ "extCodeHashSelfInInit": {
+ "_info": {
+ "comment": "EXTCODEHASH/EXTCODESIZE of the account currently being created"
+ },
+ "env": {
+ "currentCoinbase": "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty": "0x20000",
+ "currentGasLimit": "1000000",
+ "currentNumber": "1",
+ "currentTimestamp": "1000",
+ "previousHash": "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect": [
+ {
+ "indexes": {
+ "data": -1,
+ "gas": -1,
+ "value": -1
+ },
+ "network": [
+ ">Byzantium"
+ ],
+ "result": {
+ "deadbeef00000000000000000000000000000000": {
+ "balance": "1000000000000000001",
+ "storage": {
+ "0x00": "0xdeadbeef"
+ }
+ },
+ "1f6476353a2bc11f88f20836f80d2ea1554dd4b5": {
+ "balance": "0",
+ "storage": {
+ "0x00": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "0x01": "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre": {
+ "deadbeef00000000000000000000000000000000": {
+ "balance": "1000000000000000000",
+ "code": "{ (CREATE2 0 0 (lll {[[0]] (EXTCODEHASH (ADDRESS)) [[1]] (EXTCODESIZE (ADDRESS)) (RETURN 0 0)} 0) 0x10) (STOP) }",
+ "nonce": "0",
+ "storage": {
+ "0x00": "0xdeadbeef"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b": {
+ "balance": "1000000000000000000",
+ "code": "0x",
+ "nonce": "0",
+ "storage": {
+ }
+ }
+ },
+ "transaction": {
+ "data": [
+ ""
+ ],
+ "gasLimit": [
+ "400000"
+ ],
+ "gasPrice": "1",
+ "nonce": "0",
+ "secretKey": "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to": "deadbeef00000000000000000000000000000000",
+ "value": [
+ "1"
+ ]
+ }
+ }
+}