aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests_d0g0v0Filler.json135
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature_d0g0v0Filler.json128
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey_d0g0v0Filler.json128
-rw-r--r--src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput_d0g0v0Filler.json128
-rw-r--r--src/GeneralStateTestsFiller/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json75
-rw-r--r--src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json63
-rw-r--r--src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json63
-rw-r--r--src/GeneralStateTestsFiller/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutputFiller.json63
8 files changed, 783 insertions, 0 deletions
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests_d0g0v0Filler.json
new file mode 100644
index 000000000..e0bc8b3e9
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests_d0g0v0Filler.json
@@ -0,0 +1,135 @@
+{
+ "ExtCodeCopyTargetRangeLongerThanCodeTests_d0g0v0" : {
+ "_info" : {
+ "comment" : "Uses EXTCODECOPY to copy 32 bytes of code into a 64 byte range of memory and ensures that the last 32 bytes of the memory range are zeroed out"
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x7fffffffffffffff",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x061a80",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x04c67190aa6e36769187121480435a41efa7d46cfe676e416ca5b3a1dc0ab29b",
+ "s" : "0x583105dc4153b04086ba000b9dc25af01145974222931ab105301d8c455176e9",
+ "to" : "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "v" : "0x1b",
+ "value" : "0x00"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Frontier",
+ "result" : {
+ "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Homestead",
+ "result" : {
+ "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "EIP150",
+ "result" : {
+ "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "EIP158",
+ "result" : {
+ "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Byzantium",
+ "result" : {
+ "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x7fffffffffffffff",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "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" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature_d0g0v0Filler.json
new file mode 100644
index 000000000..af2ed300e
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature_d0g0v0Filler.json
@@ -0,0 +1,128 @@
+{
+ "CallEcrecoverInvalidSignature_d0g0v0" : {
+ "_info" : {
+ "comment" : "CALL to ECREC precompile with input which is a completely invalid signature and a 32 byte output range in memory. ECREC should return an empty response and the 32 byte output range should be left unchanged."
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x37ba90",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x3fcfff9e4085fc94af03ad71daa986e585e5b354c2b414a134e0624796a30d8e",
+ "s" : "0x72000b0edcceb7d4c1c5b6fed5bd5fcb74789702f3f171f1cd75c617bbb379cd",
+ "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "v" : "0x1b",
+ "value" : "0x0186a0"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Frontier",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Homestead",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "EIP150",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "EIP158",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Byzantium",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0x01312d00",
+ "code" : "0x7f1122334455667788991011121314151617181920212223242526272829303132608052602060806080600060006001620493e0f150608051600055",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey_d0g0v0Filler.json
new file mode 100644
index 000000000..42d642af5
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey_d0g0v0Filler.json
@@ -0,0 +1,128 @@
+{
+ "CallEcrecoverUnrecoverableKey_d0g0v0" : {
+ "_info" : {
+ "comment" : "CALL to ECREC precompile with input that has a valid signature structure but that does not recover a valid key. Specifies a 32 byte output range in memory. ECREC should return an empty response and the 32 byte output range should be left unchanged."
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x37ba90",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0x3fcfff9e4085fc94af03ad71daa986e585e5b354c2b414a134e0624796a30d8e",
+ "s" : "0x72000b0edcceb7d4c1c5b6fed5bd5fcb74789702f3f171f1cd75c617bbb379cd",
+ "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "v" : "0x1b",
+ "value" : "0x0186a0"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Frontier",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Homestead",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "EIP150",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "EIP158",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Byzantium",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0x01312d00",
+ "code" : "0x7fa8b53bdf3306a35a7103ab5504a0c9b492295564b6202b1942a84ef300107281600052601b6020527f30783565316530336635336365313862373732636362303039336666373166336040527f66353366356337356237346463623331613835616138623838393262346538626060527f1122334455667788991011121314151617181920212223242526272829303132608052602060806080600060006001620493e0f150608051600055",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ No newline at end of file
diff --git a/src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput_d0g0v0Filler.json b/src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput_d0g0v0Filler.json
new file mode 100644
index 000000000..5b318bebe
--- /dev/null
+++ b/src/BlockchainTestsFiller/GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput_d0g0v0Filler.json
@@ -0,0 +1,128 @@
+{
+ "CallIdentity_6_inputShorterThanOutput_d0g0v0" : {
+ "_info" : {
+ "comment" : "CALL to ID precompile with 32 bytes of input and a 64 byte output range. The lower 32 bytes of the output range should be set to the input and the higher 32 bytes left unchanged."
+ },
+ "blocks" : [
+ {
+ "blockHeaderPremine" : {
+ "difficulty" : "0x020000",
+ "gasLimit" : "0x989680",
+ "timestamp" : "0x03e8",
+ "updatePoW" : "1"
+ },
+ "transactions" : [
+ {
+ "data" : "0x",
+ "gasLimit" : "0x989680",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "r" : "0xc8c5469bcab2d89c9083cecdf26c9d3a9e40597d1d82744bc0e5e582f9dc48a4",
+ "s" : "0x433eb07127e317522d4e08b89cd3824eee8bf1c75a2871db940e0c54d0dd09d2",
+ "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "v" : "0x1c",
+ "value" : "0x0186a0"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ],
+ "expect" : [
+ {
+ "network" : "Frontier",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1234"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Homestead",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1234"
+ }
+ }
+ }
+ },
+ {
+ "network" : "EIP150",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1234"
+ }
+ }
+ }
+ },
+ {
+ "network" : "EIP158",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1234"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Byzantium",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1234"
+ }
+ }
+ }
+ },
+ {
+ "network" : "Constantinople",
+ "result" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x1234"
+ }
+ }
+ }
+ }
+ ],
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "0x989680",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x03b6",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "pre" : {
+ "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0x01312d00",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052611234602052604060006020600060006004610258f150602051600055",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "sealEngine" : "NoProof"
+ }
+} \ 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..488aede8b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json
@@ -0,0 +1,75 @@
+{
+ "ExtCodeCopyTargetRangeLongerThanCodeTests": {
+ "_info" : {
+ "comment": "Uses EXTCODECOPY to copy 32 bytes of code into a 64 byte range of memory and ensures that the last 32 bytes of the memory range are zeroed out"
+ },
+ "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..facf092ff
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json
@@ -0,0 +1,63 @@
+{
+ "CallEcrecoverInvalidSignature" : {
+ "_info" : {
+ "comment": "CALL to ECREC precompile with input which is a completely invalid signature and a 32 byte output range in memory. ECREC should return an empty response and the 32 byte output range should be left unchanged."
+ },
+ "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" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (MSTORE 128 0x1122334455667788991011121314151617181920212223242526272829303132) (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..44f90d32e
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json
@@ -0,0 +1,63 @@
+{
+ "CallEcrecoverUnrecoverableKey" : {
+ "_info" : {
+ "comment": "CALL to ECREC precompile with input that has a valid signature structure but that does not recover a valid key. Specifies a 32 byte output range in memory. ECREC should return an empty response and the 32 byte output range should be left unchanged."
+ },
+ "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" : "0x1122334455667788991011121314151617181920212223242526272829303132"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (MSTORE 0 0xa8b53bdf3306a35a7103ab5504a0c9b492295564b6202b1942a84ef300107281) (MSTORE 32 0x000000000000000000000000000000000000000000000000000000000000001b) (MSTORE 64 0x3078356531653033663533636531386237373263636230303933666637316633) (MSTORE 96 0x6635336635633735623734646362333161383561613862383839326234653862) (MSTORE 128 0x1122334455667788991011121314151617181920212223242526272829303132) (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..f4538623f
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutputFiller.json
@@ -0,0 +1,63 @@
+{
+ "CallIdentity_6_inputShorterThanOutput" : {
+ "_info" : {
+ "comment": "CALL to ID precompile with 32 bytes of input and a 64 byte output range. The lower 32 bytes of the output range should be set to the input and the higher 32 bytes left unchanged."
+ },
+ "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"
+ ]
+ }
+ }
+}