aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitry <dimitry@ethdev.com>2017-01-11 01:11:04 +0800
committerDimitry <dimitry@ethdev.com>2017-01-11 01:11:04 +0800
commit6e0e6606ccad6ee3e7e21da20ca681e2d4aa2ea5 (patch)
treee5b729c72138967fccf99868a0313c65f4c6bc78 /src
parent45aa6fab0743ec7f477eb54a7e67d793c918d347 (diff)
downloadtangerine-tests-6e0e6606ccad6ee3e7e21da20ca681e2d4aa2ea5.tar
tangerine-tests-6e0e6606ccad6ee3e7e21da20ca681e2d4aa2ea5.tar.gz
tangerine-tests-6e0e6606ccad6ee3e7e21da20ca681e2d4aa2ea5.tar.bz2
tangerine-tests-6e0e6606ccad6ee3e7e21da20ca681e2d4aa2ea5.tar.lz
tangerine-tests-6e0e6606ccad6ee3e7e21da20ca681e2d4aa2ea5.tar.xz
tangerine-tests-6e0e6606ccad6ee3e7e21da20ca681e2d4aa2ea5.tar.zst
tangerine-tests-6e0e6606ccad6ee3e7e21da20ca681e2d4aa2ea5.zip
fix subcalls revert test
change the same store key after subcall instead of new
Diffstat (limited to 'src')
-rw-r--r--src/GeneralStateTestsFiller/stRevertTest/RevertRemoteSubCallStorageOOG2Filler.json121
-rw-r--r--src/GeneralStateTestsFiller/stRevertTest/RevertSubCallStorageOOG2Filler.json93
2 files changed, 214 insertions, 0 deletions
diff --git a/src/GeneralStateTestsFiller/stRevertTest/RevertRemoteSubCallStorageOOG2Filler.json b/src/GeneralStateTestsFiller/stRevertTest/RevertRemoteSubCallStorageOOG2Filler.json
new file mode 100644
index 000000000..fe93eaaf8
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stRevertTest/RevertRemoteSubCallStorageOOG2Filler.json
@@ -0,0 +1,121 @@
+{
+ "RevertRemoteSubCallStorageOOG2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "45678256",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "2675000",
+ "currentTimestamp" : "1",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : 0,
+ "value" : -1
+ },
+ "network" : ["Frontier"],
+ "result" : {
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "1",
+ "nonce" : "1",
+ "storage" : {
+ "0x00" : "0x0d",
+ "0x01" : "0x0e"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : 2,
+ "value" : -1
+ },
+ "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
+ "result" : {
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "1",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : 1,
+ "value" : -1
+ },
+ "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
+ "result" : {
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "1",
+ "nonce" : "1",
+ "storage" : {
+ "0x00" : "0x0d",
+ "0x01" : "0x0e"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "1",
+ "code" : "contract B ",
+ "code" : "{",
+ "code" : " function callback(address x)",
+ "code" : " {",
+ "code" : " x.call(bytes4(sha3('stor()'))); ",
+ "code" : " }",
+ "code" : "}",
+ "code" : "",
+ "code" : "contract A {",
+ "code" : " int s;",
+ "code" : " int s2;",
+ "code" : " function run() returns (bool){",
+ "code" : " B caller = new B();",
+ "code" : " caller.callback(this);",
+ "code" : " s = 13;",
+ "code" : " s2 = 14;",
+ "code" : " return true;",
+ "code" : " }",
+ "code" : " function stor() {",
+ "code" : " s = 12;",
+ "code" : " }",
+ "code" : "}",
+ "code" : "0x60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063b28175c414610049578063c040622614610058575b610000565b346100005761005661007f565b005b346100005761006561008a565b604051808215151515815260200191505060405180910390f35b600c6000819055505b565b6000600060405161016f8061016b833901809050604051809103906000f080156100005790508073ffffffffffffffffffffffffffffffffffffffff166373027f6d306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b156100005760325a03f11561000057505050600d600081905550600e600181905550600191505b50905600606060405234610000575b610156806100196000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806373027f6d1461003e575b610000565b346100005761006f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610071565b005b8073ffffffffffffffffffffffffffffffffffffffff1660405180807f73746f7228290000000000000000000000000000000000000000000000000000815250600601905060405180910390207c010000000000000000000000000000000000000000000000000000000090046040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f192505050505b505600a165627a7a723058201d40a4f4ab84c9ed5c1e6f9e4574875993931efb14de8c4fc6be556ceeef5cc20029a165627a7a72305820b3260ed34e660b9533216c5881783a6cc70a072f3dc8d26e835c4d14c3c2a7890029",
+ "nonce" : "",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : "contract A calls itself. In the sub-call, storage is modified, the calls returns successfully. After that, storage is modified again and then an exception occurs. 0xc0406226 == sha(run())",
+ "data" : [
+ "0xc0406226"
+ ],
+ "gasLimit" : [
+ "170000", "181000", "145000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "a000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stRevertTest/RevertSubCallStorageOOG2Filler.json b/src/GeneralStateTestsFiller/stRevertTest/RevertSubCallStorageOOG2Filler.json
new file mode 100644
index 000000000..17b2abddc
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stRevertTest/RevertSubCallStorageOOG2Filler.json
@@ -0,0 +1,93 @@
+{
+ "RevertSubCallStorageOOG2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "45678256",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "2675000",
+ "currentTimestamp" : "1",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : 0,
+ "value" : 0
+ },
+ "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
+ "result" : {
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "1",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : 1,
+ "value" : 0
+ },
+ "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
+ "result" : {
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "1",
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x0d",
+ "0x01" : "0x0e"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "1",
+ "code" : "contract A {",
+ "code" : " int s;",
+ "code" : " int s2;",
+ "code" : " function run() returns (bool){",
+ "code" : " stor();",
+ "code" : " s = 13;",
+ "code" : " s2 = 14;",
+ "code" : " }",
+ "code" : " function stor() {",
+ "code" : " s = 12;",
+ "code" : " }",
+ "code" : "}",
+ "code" : "0x60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063b28175c4146046578063c0406226146052575b6000565b3460005760506076565b005b34600057605c6081565b604051808215151515815260200191505060405180910390f35b600c6000819055505b565b600060896076565b600d600081905550600e6001819055505b905600a165627a7a72305820b7c6987c21e63fed8a74d899557744a3be8d3fda191ce0f56cf261d6b860f6b40029",
+ "nonce" : "",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : "contract A calls itself. In the sub-call, storage is modified, the calls returns successfully. After that, storage is modified again and then an exception occurs. 0xc0406226 == sha(run())",
+ "data" : [
+ "0xc0406226"
+ ],
+ "gasLimit" : [
+ "66500", "181000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "a000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}