diff options
author | Dimitry <dimitry@ethereum.org> | 2018-10-15 18:49:03 +0800 |
---|---|---|
committer | Dimitry <dimitry@ethereum.org> | 2018-10-15 18:49:03 +0800 |
commit | 9ff64743f0347952903287b9074803607e5855e8 (patch) | |
tree | 13178b79e5dc6c72adf4e5de2dad9ca40310e438 | |
parent | e4d14be00f63f43e98958a17ee0474487f5a336d (diff) | |
download | tangerine-tests-9ff64743f0347952903287b9074803607e5855e8.tar tangerine-tests-9ff64743f0347952903287b9074803607e5855e8.tar.gz tangerine-tests-9ff64743f0347952903287b9074803607e5855e8.tar.bz2 tangerine-tests-9ff64743f0347952903287b9074803607e5855e8.tar.lz tangerine-tests-9ff64743f0347952903287b9074803607e5855e8.tar.xz tangerine-tests-9ff64743f0347952903287b9074803607e5855e8.tar.zst tangerine-tests-9ff64743f0347952903287b9074803607e5855e8.zip |
sstore refund bug
-rw-r--r-- | GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json | 63 | ||||
-rw-r--r-- | src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json | 68 |
2 files changed, 131 insertions, 0 deletions
diff --git a/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json b/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json new file mode 100644 index 000000000..1dd1f8229 --- /dev/null +++ b/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json @@ -0,0 +1,63 @@ +{ + "SstoreCallToSelfSubRefundBelowZero": { + "_info": { + "comment": "Test where accnt has slot 1 value of '2', is cleared, then calls itself and overwrites with '3', causing a refund-deduction in second call context", + "filledwith" : "testeth 1.5.0.dev2-74+commit.5e351ac3.dirty", + "lllcversion" : "Version: 0.5.0-develop.2018.10.10+commit.06200b4b.Linux.g++", + "source" : "src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json", + "sourceHash" : "fc3e1c6ce2175a7c1fc572280399f2aad8eeca32f81ea56bf49b5036ea47f11a" + }, + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x20000", + "currentGasLimit": "0x1000000000", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "previousHash": "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post": { + "Constantinople": [ + { + "hash": "0x41cf9857a9d18ec5bb6599b269ce5259a97b360f85d379a232942c385b237b62", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + }, + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + } + ] + }, + "pre": { + "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6": { + "balance": "0x00", + "code": "0x3330146015576000600155600080808080305af1005b600360015500", + "nonce": "0x00", + "storage": { + "0x01": "0x0000000000000000000000000000000000000000000000000000000000000002" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b": { + "balance": "0xffffffffffffffff", + "code": "", + "nonce": "0x00", + "storage": {} + } + }, + "transaction": { + "data": [ + "0x" + ], + "gasLimit": [ + "0x241eb2" + ], + "gasPrice": "0x01", + "nonce": "0x00", + "secretKey": "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to": "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6", + "value": [ + "0x00" + ] + } + } +} diff --git a/src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json b/src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json new file mode 100644 index 000000000..cab1b1461 --- /dev/null +++ b/src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json @@ -0,0 +1,68 @@ +{ + "SstoreCallToSelfSubRefundBelowZero": { + "_info": { + "comment": "Test where accnt has slot 1 value of '2', is cleared, then calls itself and overwrites with '3', causing a refund-deduction in second call context" + }, + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x20000", + "currentGasLimit": "0x1000000000", + "currentNumber": "0x01", + "currentTimestamp": "0x03e8", + "previousHash": "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [">=Constantinople"], + "result" : { + "80cdc4cd8b9517daba0a771f92dcaaa677707eb9" : { + "storage" : { + "0x01" : "0x01" + } + }, + "b000000000000000000000000000000000000000" : { + "storage" : { + "0x02" : "0x01" + } + } + } + } + ], + "pre": { + "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6": { + "balance": "0x00", + "code": "0x3330146015576000600155600080808080305af1005b600360015500", + "nonce": "0x00", + "storage": { + "0x01": "0x0000000000000000000000000000000000000000000000000000000000000002" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b": { + "balance": "0xffffffffffffffff", + "code": "", + "nonce": "0x00", + "storage": {} + } + }, + "transaction": { + "data": [ + "0x" + ], + "gasLimit": [ + "0x241eb2" + ], + "gasPrice": "0x01", + "nonce": "0x00", + "secretKey": "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to": "0xe12d6474ac4964b9f23812bf3375c1fe637ad3b6", + "value": [ + "0x00" + ] + } + } +} |