aboutsummaryrefslogtreecommitdiffstats
path: root/GeneralStateTests
diff options
context:
space:
mode:
Diffstat (limited to 'GeneralStateTests')
-rw-r--r--GeneralStateTests/stCodeSizeLimit/codesizeInit.json100
-rw-r--r--GeneralStateTests/stSpecialTest/FailedCreateRevertsDeletion.json119
-rw-r--r--GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest.json118
-rw-r--r--GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest2.json118
4 files changed, 455 insertions, 0 deletions
diff --git a/GeneralStateTests/stCodeSizeLimit/codesizeInit.json b/GeneralStateTests/stCodeSizeLimit/codesizeInit.json
new file mode 100644
index 000000000..b37c712ed
--- /dev/null
+++ b/GeneralStateTests/stCodeSizeLimit/codesizeInit.json
@@ -0,0 +1,100 @@
+{
+ "codesizeInit" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "cpp-1.3.0+commit.6ae986d2.Linux.g++",
+ "lllcversion" : "Version: 0.4.19+commit.c4cbbb05.Linux.clang",
+ "source" : "src/GeneralStateTestsFiller/stCodeSizeLimit/codesizeInitFiller.json",
+ "sourceHash" : "c24ebd71e99c778df8f92b67e6a2c2ad8250cc5e2fd1e723984eef9df544f527"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x01312d00",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Byzantium" : [
+ {
+ "hash" : "0x451a9e0c1cd10d750ec73170f6e2039e7bdb53be3bd902b93ea05d7dfee80b2f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP150" : [
+ {
+ "hash" : "0x8c1a5cf588977cb4e3e2dd152c27fe653e9b355b34492d4c611ab57fe1d9c0e3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x451a9e0c1cd10d750ec73170f6e2039e7bdb53be3bd902b93ea05d7dfee80b2f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x10ccd8250f89dcc5dd36c6325eef320ebbe31c5a575a533b8486c92d2fe949a9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x7c0e7496e3056b38fdad8d1bfe51a38d35414243c343169e9a4d446df56067a2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x38600155303b600255"
+ ],
+ "gasLimit" : [
+ "0xe4e1c0"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "0x00"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSpecialTest/FailedCreateRevertsDeletion.json b/GeneralStateTests/stSpecialTest/FailedCreateRevertsDeletion.json
new file mode 100644
index 000000000..f7ee5fe1c
--- /dev/null
+++ b/GeneralStateTests/stSpecialTest/FailedCreateRevertsDeletion.json
@@ -0,0 +1,119 @@
+{
+ "FailedCreateRevertsDeletion" : {
+ "_info" : {
+ "comment" : "A modification of stRevertTests/RevertInCreateInInit. That test, for EIP158 only, accidentially tested the case where a contract creation transaction touches an empty account and then fails. This one tests the same thing not just for EIP158 but any network thereafter.",
+ "filledwith" : "cpp-1.3.0+commit.7f06dbfd.Linux.g++",
+ "lllcversion" : "Version: 0.4.21-develop.2018.2.27+commit.2abc5be7.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSpecialTest/FailedCreateRevertsDeletionFiller.json",
+ "sourceHash" : "f6f2a546449b344811478c99018a85930d972d1b011e797f925794f41d0ca1fb"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x0a00000000",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Byzantium" : [
+ {
+ "hash" : "0x4198bc14346b78f666445049893f68de17d21f892a1e2c2848b576ff0d80cb4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Constantinople" : [
+ {
+ "hash" : "0x4198bc14346b78f666445049893f68de17d21f892a1e2c2848b576ff0d80cb4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP150" : [
+ {
+ "hash" : "0x4198bc14346b78f666445049893f68de17d21f892a1e2c2848b576ff0d80cb4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x4198bc14346b78f666445049893f68de17d21f892a1e2c2848b576ff0d80cb4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x4198bc14346b78f666445049893f68de17d21f892a1e2c2848b576ff0d80cb4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x4198bc14346b78f666445049893f68de17d21f892a1e2c2848b576ff0d80cb4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "balance" : "0x00",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x6400000000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x3050600c80601260003960006000f050fe006211223360005260206000fd"
+ ],
+ "gasLimit" : [
+ "0x0a00000000"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : [
+ "0x00"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest.json b/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest.json
new file mode 100644
index 000000000..5735fcb90
--- /dev/null
+++ b/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest.json
@@ -0,0 +1,118 @@
+{
+ "doubleSelfdestructTest" : {
+ "_info" : {
+ "comment" : "The first test case required here https://github.com/ethereum/tests/issues/431#issue-306081539 .\nInvoked Solidity 0.4.21 with solc --bin-runtime --optimize\ncontract DoubleSelfdestructTest {\n address constant B1 = 0x1;\n address constant B2 = 0x2;\n function remoteSelfdestruct() external {\n selfdestruct(B2);\n }\n function() external payable {\n this.remoteSelfdestruct();\n selfdestruct(B1);\n }\n}\n",
+ "filledwith" : "cpp-1.3.0+commit.3a3e9a83.Linux.g++",
+ "lllcversion" : "Version: 0.4.21-develop.2018.4.10+commit.dfe3193c.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSystemOperationsTest/doubleSelfdestructTestFiller.yml",
+ "sourceHash" : "5e0515e07ba22dcac2e2a034cf378509e341076a63b22ad1ba5a5d7e8cc510fc"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x02540be400",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Byzantium" : [
+ {
+ "hash" : "0xf9ee2c807b2eabdd698264d816bfe9a9a8378fa735c5410504aeb9079f894434",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Constantinople" : [
+ {
+ "hash" : "0xf9ee2c807b2eabdd698264d816bfe9a9a8378fa735c5410504aeb9079f894434",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP150" : [
+ {
+ "hash" : "0xc5ac5551ef0c7f49c4a25c02c117046045adf7ba7cc672f91d5a1d2ea3a5837d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xf9ee2c807b2eabdd698264d816bfe9a9a8378fa735c5410504aeb9079f894434",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x54ee90f6a8f320d3e3d48413222120fbe880699c3b3f4f5de642e0a71f19af86",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x54ee90f6a8f320d3e3d48413222120fbe880699c3b3f4f5de642e0a71f19af86",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x606060405260043610603e5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632c3f2bf3811460b4575b3073ffffffffffffffffffffffffffffffffffffffff16632c3f2bf36040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b151560a057600080fd5b5af1151560ac57600080fd5b506001915050ff5b341560be57600080fd5b60c460c6565b005b6002ff00a165627a7a7230582050afafcb56c38a6100bd690c100a940b5fd73919053a82fbe14e6cf89dce4c430029",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x3b9aca00"
+ ],
+ "gasPrice" : "0x00",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "0x0186a0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest2.json b/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest2.json
new file mode 100644
index 000000000..125aa568b
--- /dev/null
+++ b/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest2.json
@@ -0,0 +1,118 @@
+{
+ "doubleSelfdestructTest2" : {
+ "_info" : {
+ "comment" : "The second test case requested here https://github.com/ethereum/tests/issues/431#issue-306081539 .\nInvoked Solidity 0.4.21 with solc --bin-runtime --optimize\ncontract DoubleSelfdestructTest2 {\n address constant B = 0x3;\n function remoteSelfdestruct() external {\n selfdestruct(this);\n }\n function() external payable {\n this.remoteSelfdestruct();\n selfdestruct(B);\n }\n}\nThe version of Solidity emits code that always enter OOG for Homestead and Frontier. So no new accounts\nare created for Homestead and Frontier. EIP158 changes the behavior of zero-amount transfer so that no new accounts are created.\nThis leaves EIP150 as a special case.\n",
+ "filledwith" : "cpp-1.3.0+commit.12a8c764.Linux.g++",
+ "lllcversion" : "Version: 0.4.21-develop.2018.4.10+commit.dfe3193c.Linux.g++",
+ "source" : "src/GeneralStateTestsFiller/stSystemOperationsTest/doubleSelfdestructTest2Filler.yml",
+ "sourceHash" : "f2dbd5268cce9edfb88a991a76d9ceba3b0c2cbe48fdee485284220020b7c6e2"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x02540be400",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Byzantium" : [
+ {
+ "hash" : "0x7b1a6d7d3321262293f37907f0ccf9dceb2eef08298ea8d1a2b1b275892ee714",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Constantinople" : [
+ {
+ "hash" : "0x7b1a6d7d3321262293f37907f0ccf9dceb2eef08298ea8d1a2b1b275892ee714",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP150" : [
+ {
+ "hash" : "0x1bf40db7afb376c08846f0685b3275fb18b6312e524a4bd0f48c237039d9e9de",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x7b1a6d7d3321262293f37907f0ccf9dceb2eef08298ea8d1a2b1b275892ee714",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x8007304c78248db1e94020ec2a09c7a50717e18aa47125b2b27fab69bfc76fd4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x8007304c78248db1e94020ec2a09c7a50717e18aa47125b2b27fab69bfc76fd4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x606060405260043610603e5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632c3f2bf3811460b4575b3073ffffffffffffffffffffffffffffffffffffffff16632c3f2bf36040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b151560a057600080fd5b5af1151560ac57600080fd5b506003915050ff5b341560be57600080fd5b60c460c6565b005b3073ffffffffffffffffffffffffffffffffffffffff16ff00a165627a7a7230582004c215a78ad0add6ec7f9e2488a74efe60734d3dfe25da652ef8ac9dae892c4a0029",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x3b9aca00"
+ ],
+ "gasPrice" : "0x00",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "0x0186a0"
+ ]
+ }
+ }
+} \ No newline at end of file