From 3695624abcbeb1b6ddbb4e010d479af981c47e25 Mon Sep 17 00:00:00 2001 From: Adrian Sutton Date: Sat, 3 Nov 2018 15:35:20 +0100 Subject: Add tests to cover cases where data is copied to a memory range longer than the data itself. --- .../ExtCodeCopyTargetRangeLongerThanCodeTests.json | 125 +++++++++++++++++++++ .../CallEcrecoverInvalidSignature.json | 118 +++++++++++++++++++ .../CallEcrecoverUnrecoverableKey.json | 118 +++++++++++++++++++ .../CallIdentity_6_inputShorterThanOutput.json | 118 +++++++++++++++++++ ...deCopyTargetRangeLongerThanCodeTestsFiller.json | 72 ++++++++++++ .../CallEcrecoverInvalidSignatureFiller.json | 60 ++++++++++ .../CallEcrecoverUnrecoverableKeyFiller.json | 60 ++++++++++ ...allIdentity_6_inputShorterThanOutputFiller.json | 60 ++++++++++ 8 files changed, 731 insertions(+) create mode 100644 GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests.json create mode 100644 GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature.json create mode 100644 GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey.json create mode 100644 GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput.json create mode 100644 src/GeneralStateTestsFiller/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json create mode 100644 src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json create mode 100644 src/GeneralStateTestsFiller/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json create mode 100644 src/GeneralStateTestsFiller/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutputFiller.json 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" + ] + } + } +} -- cgit