aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Sutton <adrian.sutton@consensys.net>2018-11-03 22:35:20 +0800
committerAdrian Sutton <adrian.sutton@consensys.net>2018-11-03 23:20:24 +0800
commit3695624abcbeb1b6ddbb4e010d479af981c47e25 (patch)
tree9f0a67658abf26b8fe04716698d3f14da8d21e4f
parent414d0c1f4b4d9d54394650eab19ad0d24a410054 (diff)
downloadtangerine-tests-3695624abcbeb1b6ddbb4e010d479af981c47e25.tar
tangerine-tests-3695624abcbeb1b6ddbb4e010d479af981c47e25.tar.gz
tangerine-tests-3695624abcbeb1b6ddbb4e010d479af981c47e25.tar.bz2
tangerine-tests-3695624abcbeb1b6ddbb4e010d479af981c47e25.tar.lz
tangerine-tests-3695624abcbeb1b6ddbb4e010d479af981c47e25.tar.xz
tangerine-tests-3695624abcbeb1b6ddbb4e010d479af981c47e25.tar.zst
tangerine-tests-3695624abcbeb1b6ddbb4e010d479af981c47e25.zip
Add tests to cover cases where data is copied to a memory range longer than the data itself.
-rw-r--r--GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests.json125
-rw-r--r--GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature.json118
-rw-r--r--GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey.json118
-rw-r--r--GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput.json118
-rw-r--r--src/GeneralStateTestsFiller/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json72
-rw-r--r--src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json60
-rw-r--r--src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json60
-rw-r--r--src/GeneralStateTestsFiller/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutputFiller.json60
8 files changed, 731 insertions, 0 deletions
diff --git a/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests.json b/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests.json
new file mode 100644
index 000000000..c412659c4
--- /dev/null
+++ b/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests.json
@@ -0,0 +1,125 @@
+{
+ "ExtCodeCopyTargetRangeLongerThanCodeTests" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.5.0.dev2-74+commit.8daa6e1c",
+ "lllcversion" : "Version: 0.5.0-develop.2018.9.29+commit.c4b5101b.Darwin.appleclang",
+ "source" : "src/GeneralStateTestsFiller/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json",
+ "sourceHash" : "0eabbc0a5319e11ac49fc995fca77431272e659f06f3ae154290743365f47f26"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x28d138",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Byzantium" : [
+ {
+ "hash" : "0x30610221e70d7a02d1556b926275c2665354a648402d17156e82fbe7a856a785",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Constantinople" : [
+ {
+ "hash" : "0x8c59709f11546ec8208d20bc9b57d2b2942734c79f7465277d79c22bf9c81a17",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP150" : [
+ {
+ "hash" : "0x30610221e70d7a02d1556b926275c2665354a648402d17156e82fbe7a856a785",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x30610221e70d7a02d1556b926275c2665354a648402d17156e82fbe7a856a785",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x1a33bec32c521827b0efcb18d8a7e40eb525eef4c7d465ca093a77352559c11b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x1a33bec32c521827b0efcb18d8a7e40eb525eef4c7d465ca093a77352559c11b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xffffffffffffffffffffffffffffffff",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x1b58",
+ "code" : "0x61123460205260406000600073eeef5374fce5edbc8e2a8697c15331677e6ebf0b3c60005160005560205160015561567860605260406000604073a94f5374fce5edbc8e2a8697c15331677e6ebf0b3c604051600255606051600355",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xeeef5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x00",
+ "code" : "0x1122334455667788991011121314151617181920212223242526272829303132",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x061a80"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "value" : [
+ "0x00"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature.json b/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature.json
new file mode 100644
index 000000000..377e55de8
--- /dev/null
+++ b/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature.json
@@ -0,0 +1,118 @@
+{
+ "CallEcrecoverInvalidSignature" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.5.0.dev2-74+commit.8daa6e1c",
+ "lllcversion" : "Version: 0.5.0-develop.2018.9.29+commit.c4b5101b.Darwin.appleclang",
+ "source" : "src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json",
+ "sourceHash" : "840546a7a2940771044f7c5eb261048140914faac60a0f21da2e5064b1423e21"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Byzantium" : [
+ {
+ "hash" : "0xc26529cbbc310a2a6973edaf8cccf3aaf6a2035352148ad391518f7d74a1fe1b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Constantinople" : [
+ {
+ "hash" : "0xc26529cbbc310a2a6973edaf8cccf3aaf6a2035352148ad391518f7d74a1fe1b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP150" : [
+ {
+ "hash" : "0x189605e905b627b0b1bb9aa89718a5263d99d4c566ce89b99f70098d1e660e7c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc26529cbbc310a2a6973edaf8cccf3aaf6a2035352148ad391518f7d74a1fe1b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5564662d3f20239cc124b5b4542d824891949126c994678f5ef3e7070811e347",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5564662d3f20239cc124b5b4542d824891949126c994678f5ef3e7070811e347",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0x01312d00",
+ "code" : "0x611234608052602060806080600060006001620493e0f150608051600055",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x37ba90"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "0x0186a0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey.json b/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey.json
new file mode 100644
index 000000000..66f7911e5
--- /dev/null
+++ b/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey.json
@@ -0,0 +1,118 @@
+{
+ "CallEcrecoverUnrecoverableKey" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.5.0.dev2-74+commit.8daa6e1c",
+ "lllcversion" : "Version: 0.5.0-develop.2018.9.29+commit.c4b5101b.Darwin.appleclang",
+ "source" : "src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json",
+ "sourceHash" : "0946eaa79142508de550925952892c133cff6a98d1aebe3c51a44f34b84a4db2"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Byzantium" : [
+ {
+ "hash" : "0x286f7b97ac0be876b06b06a74a1278090522919504967c76d6d260f34def305a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Constantinople" : [
+ {
+ "hash" : "0x286f7b97ac0be876b06b06a74a1278090522919504967c76d6d260f34def305a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP150" : [
+ {
+ "hash" : "0x2f8649c95320e936cfe855d8c239afa30c33a52f360bbbc7fa4e5f32c46764a3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x286f7b97ac0be876b06b06a74a1278090522919504967c76d6d260f34def305a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x66b1ba05f81a653937dd2e9c2c3ae5d4b8513662a12c8cd35213e9e08c8041f5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x66b1ba05f81a653937dd2e9c2c3ae5d4b8513662a12c8cd35213e9e08c8041f5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0x01312d00",
+ "code" : "0x7fa8b53bdf3306a35a7103ab5504a0c9b492295564b6202b1942a84ef300107281600052601b6020527f30783565316530336635336365313862373732636362303039336666373166336040527f6635336635633735623734646362333161383561613862383839326234653862606052611234608052602060806080600060006001620493e0f150608051600055",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x37ba90"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "0x0186a0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput.json b/GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput.json
new file mode 100644
index 000000000..189cd5676
--- /dev/null
+++ b/GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput.json
@@ -0,0 +1,118 @@
+{
+ "CallIdentity_6_inputShorterThanOutput" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.5.0.dev2-74+commit.8daa6e1c",
+ "lllcversion" : "Version: 0.5.0-develop.2018.9.29+commit.c4b5101b.Darwin.appleclang",
+ "source" : "src/GeneralStateTestsFiller/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutputFiller.json",
+ "sourceHash" : "4e03e49570818ea27b45fb844244bce999ec50b9205408225be51ef9dab69aa5"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8",
+ "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "post" : {
+ "Byzantium" : [
+ {
+ "hash" : "0xf850d326a667a720b918486f654ea8dee8f259bd181dfd5d1d9c20a541b0c020",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Constantinople" : [
+ {
+ "hash" : "0xf850d326a667a720b918486f654ea8dee8f259bd181dfd5d1d9c20a541b0c020",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP150" : [
+ {
+ "hash" : "0x8a26dc52d663f97939c0857acc21c7280b5ffa4a6a7ae80bda8f2dc23d9ad44c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xf850d326a667a720b918486f654ea8dee8f259bd181dfd5d1d9c20a541b0c020",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x1f0007a6d8ab994df32a993b89ee7d9b5692209307accb12adee25c8768d0f1c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x1f0007a6d8ab994df32a993b89ee7d9b5692209307accb12adee25c8768d0f1c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ },
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ }
+ ]
+ },
+ "pre" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0x01312d00",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052611234602052604060006020600060006004610258f150602051600055",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x"
+ ],
+ "gasLimit" : [
+ "0x989680"
+ ],
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "0x0186a0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json b/src/GeneralStateTestsFiller/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json
new file mode 100644
index 000000000..fff8faf88
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json
@@ -0,0 +1,72 @@
+{
+ "ExtCodeCopyTargetRangeLongerThanCodeTests": {
+ "env": {
+ "currentCoinbase": "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty": "0x020000",
+ "currentGasLimit": "0x7fffffffffffffff",
+ "currentNumber": "2675000",
+ "currentTimestamp": "1000",
+ "previousHash": "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect": [
+ {
+ "indexes": {
+ "data": -1,
+ "gas": -1,
+ "value": -1
+ },
+ "network": [
+ ">=Frontier"
+ ],
+ "result": {
+ "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b": {
+ "storage": {
+ "0x00": "0x1122334455667788991011121314151617181920212223242526272829303132",
+ "0x01": "0x00",
+ "0x02": "0x00",
+ "0x03": "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre": {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b": {
+ "balance": "0xffffffffffffffffffffffffffffffff",
+ "code": "",
+ "nonce": "0",
+ "storage": {
+ }
+ },
+ "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b": {
+ "balance": "7000",
+ "code": "{ (MSTORE 32 0x1234) (EXTCODECOPY 0xeeef5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 64) [[0]] (MLOAD 0) [[1]] (MLOAD 32) (MSTORE 96 0x5678) (EXTCODECOPY 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b 64 0 64) [[2]] (MLOAD 64) [[3]] (MLOAD 96)}",
+ "nonce": "0",
+ "storage": {
+ }
+ },
+ "eeef5374fce5edbc8e2a8697c15331677e6ebf0b": {
+ "balance": "0",
+ "code": "0x1122334455667788991011121314151617181920212223242526272829303132",
+ "nonce": "1",
+ "storage": {
+ }
+ }
+ },
+ "transaction": {
+ "data": [
+ ""
+ ],
+ "gasLimit": [
+ "400000"
+ ],
+ "gasPrice": "1",
+ "nonce": "0",
+ "secretKey": "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to": "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "value": [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json b/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json
new file mode 100644
index 000000000..6e6e65c65
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json
@@ -0,0 +1,60 @@
+{
+ "CallEcrecoverInvalidSignature" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Frontier"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1234"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (MSTORE 128 0x1234) (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MLOAD 128) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3652240"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json b/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json
new file mode 100644
index 000000000..7166a64f2
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json
@@ -0,0 +1,60 @@
+{
+ "CallEcrecoverUnrecoverableKey" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Frontier"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1234"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (MSTORE 0 0xa8b53bdf3306a35a7103ab5504a0c9b492295564b6202b1942a84ef300107281) (MSTORE 32 0x000000000000000000000000000000000000000000000000000000000000001b) (MSTORE 64 0x3078356531653033663533636531386237373263636230303933666637316633) (MSTORE 96 0x6635336635633735623734646362333161383561613862383839326234653862) (MSTORE 128 0x1234) (CALL 300000 1 0 0 128 128 32) (SSTORE 0 (MLOAD 128)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3652240"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutputFiller.json b/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutputFiller.json
new file mode 100644
index 000000000..74882a522
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutputFiller.json
@@ -0,0 +1,60 @@
+{
+ "CallIdentity_6_inputShorterThanOutput" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : [">=Frontier"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1234"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0x1234) (CALL 600 4 0 0 32 0 64) [[ 0 ]] (MLOAD 32)}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "10000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}