aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitry <dimitry@ethereum.org>2018-10-15 18:49:03 +0800
committerDimitry <dimitry@ethereum.org>2018-10-15 18:49:03 +0800
commit9ff64743f0347952903287b9074803607e5855e8 (patch)
tree13178b79e5dc6c72adf4e5de2dad9ca40310e438
parente4d14be00f63f43e98958a17ee0474487f5a336d (diff)
downloadtangerine-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.json63
-rw-r--r--src/GeneralStateTestsFiller/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json68
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"
+ ]
+ }
+ }
+}