From 51eaea7aead9f372467f9821f586f509d237ef1b Mon Sep 17 00:00:00 2001
From: Yoichi Hirai <i@yoichihirai.com>
Date: Mon, 23 Oct 2017 13:44:00 +0200
Subject: Add tests about returndatasize following modexp calls of modsize = 0

---
 ...odexp_modsize0_returndatasize_d0g0v0Filler.json | 63 ++++++++++++++++
 ...odexp_modsize0_returndatasize_d0g1v0Filler.json | 63 ++++++++++++++++
 ...odexp_modsize0_returndatasize_d0g2v0Filler.json | 63 ++++++++++++++++
 ...odexp_modsize0_returndatasize_d0g3v0Filler.json | 63 ++++++++++++++++
 .../modexp_modsize0_returndatasizeFiller.json      | 83 ++++++++++++++++++++++
 5 files changed, 335 insertions(+)
 create mode 100644 src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g0v0Filler.json
 create mode 100644 src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g1v0Filler.json
 create mode 100644 src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g2v0Filler.json
 create mode 100644 src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g3v0Filler.json
 create mode 100644 src/GeneralStateTestsFiller/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json

(limited to 'src')

diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g0v0Filler.json
new file mode 100644
index 000000000..4a8fda61b
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g0v0Filler.json
@@ -0,0 +1,63 @@
+{
+    "modexp_modsize0_returndatasize_d0g0v0" : {
+        "blocks" : [
+            {
+                "blockHeaderPremine" : {
+                    "difficulty" : "0x020000",
+                    "gasLimit" : "0x02540be400",
+                    "timestamp" : "0x03e8",
+                    "updatePoW" : "1"
+                },
+                "transactions" : [
+                    {
+                        "data" : "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101",
+                        "gasLimit" : "0x05f5e100",
+                        "gasPrice" : "0x01",
+                        "nonce" : "0x00",
+                        "r" : "0x83874b44aa69eb3dcbd314c7f023d3bbfa235b46b34df5fc3c66c011298c0b6e",
+                        "s" : "0x32ee67eeb18b898823c6eab6fe091ed4bab424720c06419675b3b7b4582780a3",
+                        "to" : "0x1000000000000000000000000000000000000000",
+                        "v" : "0x1c",
+                        "value" : "0x00"
+                    }
+                ],
+                "uncleHeaders" : [
+                ]
+            }
+        ],
+        "genesisBlockHeader" : {
+            "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+            "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "difficulty" : "131072",
+            "extraData" : "0x42",
+            "gasLimit" : "0x02540be400",
+            "gasUsed" : "0",
+            "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "nonce" : "0x0102030405060708",
+            "number" : "0",
+            "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+            "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+            "timestamp" : "0x03b6",
+            "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+        },
+        "pre" : {
+            "0x1000000000000000000000000000000000000000" : {
+                "balance" : "0x00",
+                "code" : "0x36600060003760206103e8366000600060055af26001556103e8516002553d600355",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xffffffff"
+                }
+            },
+            "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+                "balance" : "0x3635c9adc5dea00000",
+                "code" : "",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g1v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g1v0Filler.json
new file mode 100644
index 000000000..3872c187c
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g1v0Filler.json
@@ -0,0 +1,63 @@
+{
+    "modexp_modsize0_returndatasize_d0g1v0" : {
+        "blocks" : [
+            {
+                "blockHeaderPremine" : {
+                    "difficulty" : "0x020000",
+                    "gasLimit" : "0x02540be400",
+                    "timestamp" : "0x03e8",
+                    "updatePoW" : "1"
+                },
+                "transactions" : [
+                    {
+                        "data" : "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101",
+                        "gasLimit" : "0x015f90",
+                        "gasPrice" : "0x01",
+                        "nonce" : "0x00",
+                        "r" : "0x7d1ae62ea0af62f5cb2d39a5c670771a0a6b43f96e12e325e859861add051198",
+                        "s" : "0x4f8424f37ebe9b2b0c541943c13e84c5d1af55cc603ca25745912ea4e7891601",
+                        "to" : "0x1000000000000000000000000000000000000000",
+                        "v" : "0x1c",
+                        "value" : "0x00"
+                    }
+                ],
+                "uncleHeaders" : [
+                ]
+            }
+        ],
+        "genesisBlockHeader" : {
+            "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+            "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "difficulty" : "131072",
+            "extraData" : "0x42",
+            "gasLimit" : "0x02540be400",
+            "gasUsed" : "0",
+            "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "nonce" : "0x0102030405060708",
+            "number" : "0",
+            "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+            "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+            "timestamp" : "0x03b6",
+            "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+        },
+        "pre" : {
+            "0x1000000000000000000000000000000000000000" : {
+                "balance" : "0x00",
+                "code" : "0x36600060003760206103e8366000600060055af26001556103e8516002553d600355",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xffffffff"
+                }
+            },
+            "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+                "balance" : "0x3635c9adc5dea00000",
+                "code" : "",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g2v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g2v0Filler.json
new file mode 100644
index 000000000..1065a6cc6
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g2v0Filler.json
@@ -0,0 +1,63 @@
+{
+    "modexp_modsize0_returndatasize_d0g2v0" : {
+        "blocks" : [
+            {
+                "blockHeaderPremine" : {
+                    "difficulty" : "0x020000",
+                    "gasLimit" : "0x02540be400",
+                    "timestamp" : "0x03e8",
+                    "updatePoW" : "1"
+                },
+                "transactions" : [
+                    {
+                        "data" : "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101",
+                        "gasLimit" : "0x01adb0",
+                        "gasPrice" : "0x01",
+                        "nonce" : "0x00",
+                        "r" : "0xf3f7e192f01c7853e3651cd0d392cf3095ad8c76c2635831bcdb7a0dee721890",
+                        "s" : "0x095b22070592a5d0e6f1eceff0329522c2266082124961d30062cf20dac682b9",
+                        "to" : "0x1000000000000000000000000000000000000000",
+                        "v" : "0x1b",
+                        "value" : "0x00"
+                    }
+                ],
+                "uncleHeaders" : [
+                ]
+            }
+        ],
+        "genesisBlockHeader" : {
+            "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+            "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "difficulty" : "131072",
+            "extraData" : "0x42",
+            "gasLimit" : "0x02540be400",
+            "gasUsed" : "0",
+            "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "nonce" : "0x0102030405060708",
+            "number" : "0",
+            "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+            "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+            "timestamp" : "0x03b6",
+            "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+        },
+        "pre" : {
+            "0x1000000000000000000000000000000000000000" : {
+                "balance" : "0x00",
+                "code" : "0x36600060003760206103e8366000600060055af26001556103e8516002553d600355",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xffffffff"
+                }
+            },
+            "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+                "balance" : "0x3635c9adc5dea00000",
+                "code" : "",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g3v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g3v0Filler.json
new file mode 100644
index 000000000..b00d6effe
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize_d0g3v0Filler.json
@@ -0,0 +1,63 @@
+{
+    "modexp_modsize0_returndatasize_d0g3v0" : {
+        "blocks" : [
+            {
+                "blockHeaderPremine" : {
+                    "difficulty" : "0x020000",
+                    "gasLimit" : "0x02540be400",
+                    "timestamp" : "0x03e8",
+                    "updatePoW" : "1"
+                },
+                "transactions" : [
+                    {
+                        "data" : "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101",
+                        "gasLimit" : "0x030d40",
+                        "gasPrice" : "0x01",
+                        "nonce" : "0x00",
+                        "r" : "0x70b1f906c5d8a69b7574648068b0c7e538f5c2dd4845be3cc97f06b69d00a930",
+                        "s" : "0x69b6d97c185706c1dbea482563d95c0db5f55ab20ecafa93e5a4fd5dfee3b0ca",
+                        "to" : "0x1000000000000000000000000000000000000000",
+                        "v" : "0x1c",
+                        "value" : "0x00"
+                    }
+                ],
+                "uncleHeaders" : [
+                ]
+            }
+        ],
+        "genesisBlockHeader" : {
+            "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+            "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "difficulty" : "131072",
+            "extraData" : "0x42",
+            "gasLimit" : "0x02540be400",
+            "gasUsed" : "0",
+            "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "nonce" : "0x0102030405060708",
+            "number" : "0",
+            "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+            "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+            "timestamp" : "0x03b6",
+            "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+            "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+        },
+        "pre" : {
+            "0x1000000000000000000000000000000000000000" : {
+                "balance" : "0x00",
+                "code" : "0x36600060003760206103e8366000600060055af26001556103e8516002553d600355",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xffffffff"
+                }
+            },
+            "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+                "balance" : "0x3635c9adc5dea00000",
+                "code" : "",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json b/src/GeneralStateTestsFiller/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json
new file mode 100644
index 000000000..e58061a16
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json
@@ -0,0 +1,83 @@
+{
+    "modexp_modsize0_returndatasize" : {
+        "env" : {
+            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x20000",
+            "currentGasLimit" : "10000000000",
+            "currentNumber" : "1",
+            "currentTimestamp" : "1000",
+            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+        },
+        "expect" : [
+	    {
+                "indexes" : {
+                    "data" : -1,
+                    "gas" : 0,
+                    "value" : -1
+                },
+                "network" : [ "EIP150", "EIP158"],
+                "result" : {
+                    "1000000000000000000000000000000000000000" : {
+                        "storage" : {
+			    "0x01" : "0x00",
+			    "0x02" : "0x00",
+                            "0x03" : "0xffffffff"
+                        }
+                    }
+                }
+            },
+	    {
+                "indexes" : {
+                    "data" : -1,
+                    "gas" : 0,
+                    "value" : -1
+                },
+                "network" : ["Byzantium"],
+                "result" : {
+                    "1000000000000000000000000000000000000000" : {
+                        "storage" : {
+			    "0x01" : "0x01",
+                            "0x02" : "0x00",
+			    "0x03" : "0x00"
+                        }
+                    }
+                }
+            }
+        ],
+        "pre" : {
+	    "1000000000000000000000000000000000000000" : {
+                "balance" : "",
+                "code" : "{ (CALLDATACOPY 0 0 (CALLDATASIZE)) [[1]] (CALLCODE (GAS) 5 0 0 (CALLDATASIZE) 1000 32) [[2]](MLOAD 1000) [[3]](RETURNDATASIZE) }",
+                "nonce" : "0",
+                "storage" : {
+		  "0x03" : "0xffffffff"
+                }
+            },
+            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+                "balance" : "1000000000000000000000",
+                "code" : "",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        },
+        "transaction" : {
+	    "// data" : [
+		"modlength zero"
+	    ],
+            "data" : [
+"0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101"
+            ],
+            "gasLimit" : [
+                "100000000", "90000", "110000", "200000"
+            ],
+            "gasPrice" : "1",
+            "nonce" : "0",
+            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+            "to" : "1000000000000000000000000000000000000000",
+            "value" : [
+                "0"
+            ]
+        }
+    }
+}
-- 
cgit