aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYoichi Hirai <i@yoichihirai.com>2018-03-30 03:46:12 +0800
committerYoichi Hirai <i@yoichihirai.com>2018-03-30 03:46:43 +0800
commit79ee13d1c8fcce5b785188980d02d2753fef29c9 (patch)
tree952de2ea94921f64eed6c4ecbc33e9aa0723eac5
parent68728e13b1a849c027fc88007964b9e5f385b5f6 (diff)
downloaddexon-tests-79ee13d1c8fcce5b785188980d02d2753fef29c9.tar
dexon-tests-79ee13d1c8fcce5b785188980d02d2753fef29c9.tar.gz
dexon-tests-79ee13d1c8fcce5b785188980d02d2753fef29c9.tar.bz2
dexon-tests-79ee13d1c8fcce5b785188980d02d2753fef29c9.tar.lz
dexon-tests-79ee13d1c8fcce5b785188980d02d2753fef29c9.tar.xz
dexon-tests-79ee13d1c8fcce5b785188980d02d2753fef29c9.tar.zst
dexon-tests-79ee13d1c8fcce5b785188980d02d2753fef29c9.zip
Add a test that calls the ID precompiled contract with a smaller output
but RETURNDATASIZE should be the size of the input
-rw-r--r--src/GeneralStateTestsFiller/stPreCompiledContracts/identity_to_smallerFiller.json66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/GeneralStateTestsFiller/stPreCompiledContracts/identity_to_smallerFiller.json b/src/GeneralStateTestsFiller/stPreCompiledContracts/identity_to_smallerFiller.json
new file mode 100644
index 000000000..54ebd1f78
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stPreCompiledContracts/identity_to_smallerFiller.json
@@ -0,0 +1,66 @@
+{
+ "identity_to_smaller": {
+ "_info" :
+ {
+ "comment" : "have a call to e.g. identity built-in that specifies output size less than input size. Check that the long input is totally available with RETURNDATA. CALL is with 100000 as gas, address 4 as destination, 0 as value, 0 as in-offset, 32 as in-size, 16 as out-offset, 16 as out-size. The returndatasize should see 32."
+ },
+ "env": {
+ "currentCoinbase": "0x3535353535353535353535353535353535353535",
+ "currentDifficulty": "0x020000",
+ "currentGasLimit": "0x5f5e100",
+ "currentNumber": "0x01",
+ "currentTimestamp": "1000",
+ "previousHash": "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "pre": {
+ "82a978b3f5962a5b0957d9ee9eef472ee55b42f1": {
+ "balance": "999999999999868434",
+ "nonce": "1",
+ "code": "0x",
+ "storage": {}
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" :
+ {
+ "balance" : "0",
+ "nonce" : "33",
+ "storage" :
+ {
+ },
+ "code" : "{(seq (MSTORE 0 0x112233445566778899aabbccddeeff00112233445566778899aabbccddeeff00) (CALL 100000 4 0 0 32 16 16) (SSTORE 0 (RETURNDATASIZE)))}"
+ }
+ },
+ "transaction": {
+ "data": [ "" ],
+ "gasLimit": [ "200000" ],
+ "gasPrice": "0x01",
+ "nonce": "0x01",
+ "secretKey": "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to": "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value": [
+ "0x"
+ ]
+ },
+ "expect": [
+ {
+ "indexes": {
+ "data": 0,
+ "gas": -1,
+ "value": 0
+ },
+ "network": [
+ ">=Byzantium"
+ ],
+ "result": {
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" :
+ {
+ "balance" : "0",
+ "storage" :
+ {
+ "0x00" : "0x20"
+ }
+ }
+ }
+ }
+ ]
+ }
+}