aboutsummaryrefslogtreecommitdiffstats
path: root/src/GeneralStateTestsFiller/stSolidityTest
diff options
context:
space:
mode:
Diffstat (limited to 'src/GeneralStateTestsFiller/stSolidityTest')
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/AmbiguousMethodFiller.json22
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/CallInfiniteLoopFiller.json22
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/CallLowLevelCreatesSolidityFiller.json31
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/CallRecursiveMethodsFiller.json22
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/ContractInheritanceFiller.json42
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/CreateContractFromMethodFiller.json50
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsCreate4ContractsFiller.json89
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsFiller.json78
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/TestBlockAndTransactionPropertiesFiller.json48
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/TestContractInteractionFiller.json34
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/TestContractSuicideFiller.json35
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/TestCryptographicFunctionsFiller.json33
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/TestKeywordsFiller.json48
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/TestOverflowFiller.json30
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/TestStoreGasPricesFiller.json40
-rw-r--r--src/GeneralStateTestsFiller/stSolidityTest/TestStructuresAndVariablessFiller.json48
16 files changed, 623 insertions, 49 deletions
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/AmbiguousMethodFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/AmbiguousMethodFiller.json
index dbea443ce..a2dde97ca 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/AmbiguousMethodFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/AmbiguousMethodFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,8 +27,24 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t",
"balance" : "100000",
+ "//" : "contract contract1 ",
+ "//" : "{ ",
+ "//" : " uint value; ",
+ "//" : " function run() ",
+ "//" : " { ",
+ "//" : " value = 225; ",
+ "//" : " } ",
+ "//" : "} ",
+ "//" : " ",
+ "//" : "contract contract2 ",
+ "//" : "{ ",
+ "//" : " uint value2; ",
+ "//" : " function run() ",
+ "//" : " { ",
+ "//" : " value2 = 335; ",
+ "//" : " } ",
+ "//" : "} ",
"code" : "0x60003560e060020a90048063c040622614601557005b601b6021565b60006000f35b61014f60008190555056",
"nonce" : "0",
"storage" : {
@@ -58,4 +74,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/CallInfiniteLoopFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/CallInfiniteLoopFiller.json
index 4e8986919..17292996c 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/CallInfiniteLoopFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/CallInfiniteLoopFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
"balance" : "300000"
@@ -25,8 +25,24 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}",
"balance" : "100000",
+ "//" : "contract recursiveMethods ",
+ "//" : "{ ",
+ "//" : " function testInfiniteLoop() ",
+ "//" : " { ",
+ "//" : " while(true){} ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function testRecursiveMethods() ",
+ "//" : " { ",
+ "//" : " testRecursiveMethods2(); ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function testRecursiveMethods2() ",
+ "//" : " { ",
+ "//" : " testRecursiveMethods(); ",
+ "//" : " } ",
+ "//" : "}",
"code" : "0x60003560e060020a90048063296df0df1460295780634893d88a146035578063981a316514604157005b602f604d565b60006000f35b603b6062565b60006000f35b6047605a565b60006000f35b5b600115605857604e565b565b60606062565b565b6068605a565b56",
"nonce" : "0",
"storage" : {
@@ -56,4 +72,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/CallLowLevelCreatesSolidityFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/CallLowLevelCreatesSolidityFiller.json
index 2b926b1db..12f604108 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/CallLowLevelCreatesSolidityFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/CallLowLevelCreatesSolidityFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"nonce" : "1",
@@ -29,8 +29,33 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}",
"balance" : "100000",
+ "//": "contract subcaller ",
+ "//": "{ ",
+ "//": " function init(address a) ",
+ "//": " { ",
+ "//": " main(a).setdata(225); ",
+ "//": " } ",
+ "//": "} ",
+ "//": " ",
+ "//": "contract main ",
+ "//": "{ ",
+ "//": " uint data; ",
+ "//": " address msgsender; ",
+ "//": " function run() returns (uint) ",
+ "//": " { ",
+ "//": " data = 1; ",
+ "//": " msgsender = 0x095e7baea6a6c7c4c2dfeb977efac326af552d87; ",
+ "//": " subcaller a = new subcaller(); ",
+ "//": " a.init(msgsender); ",
+ "//": " return data; ",
+ "//": " } ",
+ "//": " ",
+ "//": " function setdata(uint _data) ",
+ "//": " { ",
+ "//": " data = _data; ",
+ "//": " } ",
+ "//": "}",
"code" : "0x60003560e060020a9004806330debb4214610021578063c04062261461003257005b61002c6004356100c7565b60006000f35b61003a610044565b8060005260206000f35b60006000600160008190555073095e7baea6a6c7c4c2dfeb977efac326af552d87600181905550606a6100d2600039606a60006000f0905080600160a060020a03166319ab453c600060008260e060020a026000526004600154600160a060020a03168152602001600060008660325a03f16100bc57005b505060005491505090565b80600081905550505600605e80600c6000396000f30060003560e060020a9004806319ab453c14601557005b601e6004356024565b60006000f35b80600160a060020a03166330debb42600060008260e060020a02600052600460e18152602001600060008660325a03f1605957005b50505056",
"nonce" : "0",
"storage" : {
@@ -60,4 +85,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/CallRecursiveMethodsFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/CallRecursiveMethodsFiller.json
index 357cd0465..6b02b67fe 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/CallRecursiveMethodsFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/CallRecursiveMethodsFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
"balance" : "60000"
@@ -25,8 +25,24 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}",
"balance" : "100000",
+ "//" : "contract recursiveMethods ",
+ "//" : "{ ",
+ "//" : " function testInfiniteLoop() ",
+ "//" : " { ",
+ "//" : " while(true){} ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function testRecursiveMethods() ",
+ "//" : " { ",
+ "//" : " testRecursiveMethods2(); ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function testRecursiveMethods2() ",
+ "//" : " { ",
+ "//" : " testRecursiveMethods(); ",
+ "//" : " } ",
+ "//" : "}",
"code" : "0x7c01000000000000000000000000000000000000000000000000000000006000350463296df0df811460415780634893d88a14604d578063981a316514605957005b60476065565b60006000f35b6053607a565b60006000f35b605f6072565b60006000f35b5b6001156070576066565b565b6078607a565b565b60806072565b56",
"nonce" : "0",
"storage" : {
@@ -56,4 +72,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/ContractInheritanceFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/ContractInheritanceFiller.json
index 029f18038..0013e1780 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/ContractInheritanceFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/ContractInheritanceFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,8 +27,44 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//" : "contract base ",
+ "//" : "{ ",
+ "//" : " function methodA() returns (uint32) ",
+ "//" : " { ",
+ "//" : " return 1; ",
+ "//" : " } ",
+ "//" : "} ",
+ "//" : " ",
+ "//" : "contract frombase is base ",
+ "//" : "{ ",
+ "//" : " function methodA() returns (uint32) ",
+ "//" : " { ",
+ "//" : " return 2; ",
+ "//" : " } ",
+ "//" : "} ",
+ "//" : " ",
+ "//" : "contract main ",
+ "//" : "{ ",
+ "//" : " bool returnValue; ",
+ "//" : " function run() returns (bool) ",
+ "//" : " { ",
+ "//" : " returnValue = testInheretance(); ",
+ "//" : " return returnValue; ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function testInheretance() returns (bool res) ",
+ "//" : " { ",
+ "//" : " res = true; ",
+ "//" : " base contract1 = new base(); ",
+ "//" : " if (contract1.methodA() != 1) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " frombase contract2 = new frombase(); ",
+ "//" : " if (contract2.methodA() != 2) ",
+ "//" : " return false; ",
+ "//" : " } ",
+ "//" : "}",
"code" : "0x7c010000000000000000000000000000000000000000000000000000000060003504633e0bca3b8114610039578063c0406226146100a857005b6100b55b600160008060456101ec8339604560006000f091508173ffffffffffffffffffffffffffffffffffffffff166381bda09b60206000827c010000000000000000000000000000000000000000000000000000000002600052600460006000866161da5a03f161011957005b6100bf60006100c961003d565b8060005260206000f35b8060005260206000f35b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016919091179081905560ff16919050565b505060005163ffffffff166002141561019d575b5b505090565b505060005163ffffffff1660011415610194575b60456101a7600039604560006000f090508073ffffffffffffffffffffffffffffffffffffffff166381bda09b60206000827c010000000000000000000000000000000000000000000000000000000002600052600460006000866161da5a03f16100ff57005b60009250610114565b600092506101145600603980600c6000396000f3007c0100000000000000000000000000000000000000000000000000000000600035046381bda09b8114602d57005b60026000818152602090f3603980600c6000396000f3007c0100000000000000000000000000000000000000000000000000000000600035046381bda09b8114602d57005b60016000818152602090f3",
"nonce" : "0",
"storage" : {
@@ -58,4 +94,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/CreateContractFromMethodFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/CreateContractFromMethodFiller.json
index c56b2e8c6..c2a94e819 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/CreateContractFromMethodFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/CreateContractFromMethodFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["Frontier", "Homestead"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"nonce" : "1"
@@ -28,12 +28,56 @@
}
}
}
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["EIP158"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "nonce" : "1"
+ },
+ "d2571607e241ecf590ed94b12d87c94babe36db6" : {
+ "balance" : "0",
+ "code" : "0x60003560e060020a90048062f55d9d14601e578063b9c3d0a514602d57005b60276004356046565b60006000f35b6033603d565b8060005260206000f35b600060e1905090565b80600160a060020a0316ff5056",
+ "nonce" : "1",
+ "storage" : {
+ }
+ }
+ }
}
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//": "contract TestContract ",
+ "//": "{ ",
+ "//": " function testMethod() returns (int res) ",
+ "//": " { ",
+ "//": " return 225; ",
+ "//": " } ",
+ "//": " ",
+ "//": " function destroy(address sendFoundsTo) ",
+ "//": " { ",
+ "//": " suicide(sendFoundsTo); ",
+ "//": " } ",
+ "//": "} ",
+ "//": " ",
+ "//": "contract main ",
+ "//": "{ ",
+ "//": " function run() returns (uint) ",
+ "//": " { ",
+ "//": " createContractFromMethod(); ",
+ "//": " } ",
+ "//": " ",
+ "//": " function createContractFromMethod() returns (TestContract a) ",
+ "//": " { ",
+ "//": " a = new TestContract(); ",
+ "//": " } ",
+ "//": "} ",
"code" : "0x60003560e060020a900480637ee17e1214601f578063c040622614602b57005b60256047565b60006000f35b6031603b565b8060005260206000f35b600060436047565b5090565b60006060605d600039606060006000f09050905600605480600c6000396000f30060003560e060020a90048062f55d9d14601e578063b9c3d0a514602d57005b60276004356046565b60006000f35b6033603d565b8060005260206000f35b600060e1905090565b80600160a060020a0316ff5056",
"nonce" : "0",
"storage" : {
@@ -63,4 +107,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsCreate4ContractsFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsCreate4ContractsFiller.json
index b945a46a5..e76f2dcb0 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsCreate4ContractsFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsCreate4ContractsFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["Frontier", "Homestead", "EIP150"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"nonce" : "3",
@@ -46,12 +46,95 @@
}
}
}
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["EIP158"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "nonce" : "0x03",
+ "storage" : {
+ "0x00" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "0x01" : "0x04"
+ }
+ },
+ "2b25ae4b13cb6e06869f694d29de45e7614ebd97" : {
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ },
+ "5d35480c6e7f8952363fa280a0a96906da981f63" : {
+ "balance" : "0x02",
+ "nonce" : "0x01"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "0x01"
+ },
+ "b88de88b35ecbf3c141e3caae2baf35834d18f63" : {
+ "balance" : "0x02",
+ "nonce" : "0x02",
+ "storage" : {
+ "0x00" : "0x02"
+ }
+ },
+ "d2571607e241ecf590ed94b12d87c94babe36db6" : {
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x03"
+ }
+ }
+ }
}
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}",
"balance" : "1000000000000000000000000000000000",
+ "//" : "contract recursiveCreate1 ",
+ "//" : "{ ",
+ "//" : " uint depp; ",
+ "//" : " function recursiveCreate1(address a, uint depth) ",
+ "//" : " { ",
+ "//" : " depth = depth - 1; ",
+ "//" : " depp = depth; ",
+ "//" : " if(depth > 0) ",
+ "//" : " main(a).create2(depth); ",
+ "//" : " } ",
+ "//" : "} ",
+ "//" : " ",
+ "//" : "contract recursiveCreate2 ",
+ "//" : "{ ",
+ "//" : " uint depp; ",
+ "//" : " function recursiveCreate2(address a, uint depth) ",
+ "//" : " { ",
+ "//" : " depth = depth - 1; ",
+ "//" : " depp = depth; ",
+ "//" : " if(depth > 0) ",
+ "//" : " recursiveCreate1 rec1 = new recursiveCreate1(a, depth); ",
+ "//" : " } ",
+ "//" : "} ",
+ "//" : " ",
+ "//" : "contract main ",
+ "//" : "{ ",
+ "//" : " address maincontract; ",
+ "//" : " uint depp; ",
+ "//" : " function run(uint depth) ",
+ "//" : " { ",
+ "//" : " maincontract = 0x095e7baea6a6c7c4c2dfeb977efac326af552d87; ",
+ "//" : " depp = depth; ",
+ "//" : " recursiveCreate1 rec1 = new recursiveCreate1(maincontract, depth); ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function create2(uint depth) ",
+ "//" : " { ",
+ "//" : " recursiveCreate2 rec2 = new recursiveCreate2(maincontract, depth); ",
+ "//" : " address(rec2).send(2); ",
+ "//" : " } ",
+ "//" : "}",
"code" : "0x60003560e060020a90048063820b13f614610021578063a444f5e91461003257005b61002c600435610093565b60006000f35b61003d600435610043565b60006000f35b600073095e7baea6a6c7c4c2dfeb977efac326af552d8760008190555081600181905550606b6101ad600039606b600054600160a060020a0316815260200182815260200160006000f090505050565b600060c86100e560003960c8600054600160a060020a0316815260200182815260200160006000f0905080600160a060020a0316600060026000600060006000848787f16100dd57005b50505050505600604060c860043960045160245160006001820391508160008190555060008211602657604c565b606b605d600039606b83600160a060020a0316815260200182815260200160006000f090505b505050600180605c6000396000f300006040606b6004396004516024516001810390508060008190555060008111602457605b565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660325a03f1605857005b50505b5050600180606a6000396000f300006040606b6004396004516024516001810390508060008190555060008111602457605b565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660325a03f1605857005b50505b5050600180606a6000396000f30000",
"nonce" : "0",
"storage" : {
@@ -81,4 +164,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsFiller.json
index 908503135..f18d74f61 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/RecursiveCreateContractsFiller.json
@@ -15,18 +15,88 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["Frontier", "Homestead"],
"result" : {
"2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
"balance" : "300000"
}
}
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["EIP158"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0x314dc6448d9338c15b0a00000001",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "0x01" : "0x0304"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "0x047c5d"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "0x01"
+ },
+ "d2571607e241ecf590ed94b12d87c94babe36db6" : {
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x0303"
+ }
+ }
+ }
}
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}",
"balance" : "1000000000000000000000000000000000",
+ "//" : "contract recursiveCreate1 ",
+ "//" : "{ ",
+ "//" : " uint depp; ",
+ "//" : " function recursiveCreate1(address a, uint depth) ",
+ "//" : " { ",
+ "//" : " depth = depth - 1; ",
+ "//" : " depp = depth; ",
+ "//" : " if(depth > 0) ",
+ "//" : " main(a).create2(depth); ",
+ "//" : " } ",
+ "//" : "} ",
+ "//" : " ",
+ "//" : "contract recursiveCreate2 ",
+ "//" : "{ ",
+ "//" : " uint depp; ",
+ "//" : " function recursiveCreate2(address a, uint depth) ",
+ "//" : " { ",
+ "//" : " depth = depth - 1; ",
+ "//" : " depp = depth; ",
+ "//" : " if(depth > 0) ",
+ "//" : " recursiveCreate1 rec1 = new recursiveCreate1(a, depth); ",
+ "//" : " } ",
+ "//" : "} ",
+ "//" : " ",
+ "//" : "contract main ",
+ "//" : "{ ",
+ "//" : " address maincontract; ",
+ "//" : " uint depp; ",
+ "//" : " function run(uint depth) ",
+ "//" : " { ",
+ "//" : " maincontract = 0x095e7baea6a6c7c4c2dfeb977efac326af552d87; ",
+ "//" : " depp = depth; ",
+ "//" : " recursiveCreate1 rec1 = new recursiveCreate1(maincontract, depth); ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function create2(uint depth) ",
+ "//" : " { ",
+ "//" : " recursiveCreate2 rec2 = new recursiveCreate2(maincontract, depth); ",
+ "//" : " address(rec2).send(2); ",
+ "//" : " } ",
+ "//" : "}",
"code" : "0x60003560e060020a90048063820b13f614610021578063a444f5e91461003257005b61002c600435610093565b60006000f35b61003d600435610043565b60006000f35b600073095e7baea6a6c7c4c2dfeb977efac326af552d8760008190555081600181905550606b6101ad600039606b600054600160a060020a0316815260200182815260200160006000f090505050565b600060c86100e560003960c8600054600160a060020a0316815260200182815260200160006000f0905080600160a060020a0316600060026000600060006000848787f16100dd57005b50505050505600604060c860043960045160245160006001820391508160008190555060008211602657604c565b606b605d600039606b83600160a060020a0316815260200182815260200160006000f090505b505050600180605c6000396000f300006040606b6004396004516024516001810390508060008190555060008111602457605b565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660325a03f1605857005b50505b5050600180606a6000396000f300006040606b6004396004516024516001810390508060008190555060008111602457605b565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660325a03f1605857005b50505b5050600180606a6000396000f30000",
"nonce" : "0",
"storage" : {
@@ -42,7 +112,7 @@
},
"transaction" : {
"data" : [
- "0xa444f5e90000000000000000000000000000000000000000000000000000000000000204"
+ "0xa444f5e90000000000000000000000000000000000000000000000000000000000000304"
],
"gasLimit" : [
"300000"
@@ -56,4 +126,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/TestBlockAndTransactionPropertiesFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/TestBlockAndTransactionPropertiesFiller.json
index e55773980..60b43f7b2 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/TestBlockAndTransactionPropertiesFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/TestBlockAndTransactionPropertiesFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,8 +27,50 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//" : "contract main ",
+ "//" : "{ ",
+ "//" : " bool returnValue; ",
+ "//" : " function run() returns (bool) ",
+ "//" : " { ",
+ "//" : " returnValue = testBlockAndTransactionProperties(); ",
+ "//" : " return returnValue; ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function testBlockAndTransactionProperties() returns (bool res) ",
+ "//" : " { ",
+ "//" : " res = true; ",
+ "//" : " if (block.coinbase != 0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (block.difficulty != 45678256) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (block.gaslimit != 0x7fffffffffffffff) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (block.number != 120) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " //try to call this ",
+ "//" : " block.blockhash(120); ",
+ "//" : " block.timestamp; ",
+ "//" : " msg.gas; ",
+ "//" : " ",
+ "//" : " if (msg.sender != 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (msg.value != 100) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (tx.gasprice != 1) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (tx.origin != 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " } ",
+ "//" : "} ",
"code" : "0x60606040526000357c010000000000000000000000000000000000000000000000000000000090048063c040622614610044578063e97384dc1461006957610042565b005b610051600480505061008e565b60405180821515815260200191505060405180910390f35b61007660048050506100c9565b60405180821515815260200191505060405180910390f35b60006100986100c9565b600060006101000a81548160ff02191690830217905550600060009054906101000a900460ff1690506100c6565b90565b6000600190508050732adc25665018aa1fe0e6bc666dac8fc2697ff9ba4173ffffffffffffffffffffffffffffffffffffffff1614151561010d57600090506101f7565b6302b8feb04414151561012357600090506101f7565b677fffffffffffffff4514151561013d57600090506101f7565b60784314151561015057600090506101f7565b6078405042505a5073a94f5374fce5edbc8e2a8697c15331677e6ebf0b3373ffffffffffffffffffffffffffffffffffffffff1614151561019457600090506101f7565b6064341415156101a757600090506101f7565b60013a1415156101ba57600090506101f7565b73a94f5374fce5edbc8e2a8697c15331677e6ebf0b3273ffffffffffffffffffffffffffffffffffffffff161415156101f657600090506101f7565b5b9056",
"nonce" : "0",
"storage" : {
@@ -58,4 +100,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/TestContractInteractionFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/TestContractInteractionFiller.json
index afedee617..5d3acca3e 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/TestContractInteractionFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/TestContractInteractionFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"nonce" : "1",
@@ -28,8 +28,36 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//": "contract TestContract ",
+ "//": "{ ",
+ "//": " function testMethod() returns (int res) ",
+ "//": " { ",
+ "//": " return 225; ",
+ "//": " } ",
+ "//": " ",
+ "//": " function destroy(address sendFoundsTo) ",
+ "//": " { ",
+ "//": " suicide(sendFoundsTo); ",
+ "//": " } ",
+ "//": "} ",
+ "//": "contract main ",
+ "//": "{ ",
+ "//": " bool returnValue; ",
+ "//": " function run() returns (bool) ",
+ "//": " { ",
+ "//": " returnValue = testContractInteraction(); ",
+ "//": " return returnValue; ",
+ "//": " } ",
+ "//": " ",
+ "//" : " function testContractInteraction() returns (bool res) ",
+ "//" : " { ",
+ "//" : " TestContract a = new TestContract(); ",
+ "//" : " if (a.testMethod() == 225) ",
+ "//" : " return true; ",
+ "//" : " return false; ",
+ "//" : " } ",
+ "//": "} ",
"code" : "0x7c01000000000000000000000000000000000000000000000000000000006000350463c04062268114610039578063ed973fe91461004b57005b6100416100ea565b8060005260206000f35b61005361005d565b8060005260206000f35b60006000608161011a600039608160006000f0905073ffffffffffffffffffffffffffffffffffffffff811663b9c3d0a5602060007fb9c3d0a50000000000000000000000000000000000000000000000000000000081526004600060008660325a03f16100c757005b505060005160e1146100d8576100e1565b600191506100e6565b600091505b5090565b60006100f461005d565b600060006101000a81548160ff0219169083021790555060ff600160005404169050905600607580600c6000396000f3007c01000000000000000000000000000000000000000000000000000000006000350462f55d9d81146036578063b9c3d0a514604557005b603f6004356055565b60006000f35b604b6070565b8060005260206000f35b8073ffffffffffffffffffffffffffffffffffffffff16ff50565b60e19056",
"nonce" : "0",
"storage" : {
@@ -59,4 +87,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/TestContractSuicideFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/TestContractSuicideFiller.json
index f9b9c64ac..3f667f7ed 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/TestContractSuicideFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/TestContractSuicideFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"nonce" : "1",
@@ -28,8 +28,37 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//": "contract TestContract ",
+ "//": "{ ",
+ "//": " function testMethod() returns (int res) ",
+ "//": " { ",
+ "//": " return 225; ",
+ "//": " } ",
+ "//": " ",
+ "//": " function destroy(address sendFoundsTo) ",
+ "//": " { ",
+ "//": " suicide(sendFoundsTo); ",
+ "//": " } ",
+ "//": "} ",
+ "//": "contract main ",
+ "//": "{ ",
+ "//": " bool returnValue; ",
+ "//": " function run() returns (bool) ",
+ "//": " { ",
+ "//": " returnValue = testContractSuicide(); ",
+ "//": " return returnValue; ",
+ "//": " } ",
+ "//": " ",
+ "//": " function testContractSuicide() returns (bool res) ",
+ "//": " { ",
+ "//": " TestContract a = new TestContract(); ",
+ "//": " a.destroy(block.coinbase); ",
+ "//": " if (a.testMethod() == 225) //we should be able to call a contract ",
+ "//": " return true; ",
+ "//": " return false; ",
+ "//": " } ",
+ "//": "} ",
"code" : "0x7c01000000000000000000000000000000000000000000000000000000006000350463a60eedda8114610039578063c04062261461004b57005b61004161005d565b8060005260206000f35b61005361015a565b8060005260206000f35b60006000608161018a600039608160006000f0905073ffffffffffffffffffffffffffffffffffffffff811662f55d9d6000807ef55d9d00000000000000000000000000000000000000000000000000000000825260044173ffffffffffffffffffffffffffffffffffffffff168152602001600060008660325a03f16100e057005b505073ffffffffffffffffffffffffffffffffffffffff811663b9c3d0a5602060007fb9c3d0a50000000000000000000000000000000000000000000000000000000081526004600060008660325a03f161013757005b505060005160e11461014857610151565b60019150610156565b600091505b5090565b600061016461005d565b600060006101000a81548160ff0219169083021790555060ff600160005404169050905600607580600c6000396000f3007c01000000000000000000000000000000000000000000000000000000006000350462f55d9d81146036578063b9c3d0a514604557005b603f600435605a565b60006000f35b604b6055565b8060005260206000f35b60e190565b8073ffffffffffffffffffffffffffffffffffffffff16ff5056",
"nonce" : "0",
"storage" : {
@@ -59,4 +88,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/TestCryptographicFunctionsFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/TestCryptographicFunctionsFiller.json
index e0a53fc1e..1636d6f9a 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/TestCryptographicFunctionsFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/TestCryptographicFunctionsFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,8 +27,35 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//" : "contract main ",
+ "//" : "{ ",
+ "//" : " bool returnValue; ",
+ "//" : " function run() returns (bool) ",
+ "//" : " { ",
+ "//" : " returnValue = testCryptographicFunctions(); ",
+ "//" : " return returnValue; ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function testCryptographicFunctions() returns (bool res) ",
+ "//" : " { ",
+ "//" : " res = true; ",
+ "//" : " if (sha3('teststring') != 0x43c4b4524adb81e4e9a5c4648a98e9d320e3908ac5b6c889144b642cd08ae16d) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (sha256('teststring') != 0x3c8727e019a42b444667a587b6001251becadabbb36bfed8087a92c18882d111) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (ripemd160('teststring') != 0xcd566972b5e50104011a92b59fa8e0b1234851ae) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (ecrecover(0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c, ",
+ "//" : " 28, 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f, ",
+ "//" : " 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) ",
+ "//" : " != 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) ",
+ "//" : " return false; ",
+ "//" : " } ",
+ "//" : "} ",
"code" : "0x6000357c010000000000000000000000000000000000000000000000000000000090048063c04062261461003a578063e0a9fd281461004c57005b61004261005e565b8060005260206000f35b610054610099565b8060005260206000f35b6000610068610099565b600060006101000a81548160ff02191690830217905550600060009054906101000a900460ff169050610096565b90565b60006001905080507f43c4b4524adb81e4e9a5c4648a98e9d320e3908ac5b6c889144b642cd08ae16d60010260407f74657374737472696e67000000000000000000000000000000000000000000008152600a016040900360402014156100ff57610108565b600090506102ec565b7f3c8727e019a42b444667a587b6001251becadabbb36bfed8087a92c18882d11160010260026020600060007f74657374737472696e67000000000000000000000000000000000000000000008152600a0160006000856161da5a03f161016b57005b50600051141561017a57610183565b600090506102ec565b73cd566972b5e50104011a92b59fa8e0b1234851ae6c010000000000000000000000000260036020600060007f74657374737472696e67000000000000000000000000000000000000000000008152600a0160006000856161da5a03f16101e657005b506000516c010000000000000000000000000214156102045761020d565b600090506102ec565b73a94f5374fce5edbc8e2a8697c15331677e6ebf0b60016020600060007f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c6001028152602001601c81526020017f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f60010281526020017feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549600102815260200160006000856161da5a03f16102bd57005b5060005173ffffffffffffffffffffffffffffffffffffffff1614156102e2576102eb565b600090506102ec565b5b9056",
"nonce" : "0",
"storage" : {
@@ -58,4 +85,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/TestKeywordsFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/TestKeywordsFiller.json
index ac9e701dc..caf83dca4 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/TestKeywordsFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/TestKeywordsFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,8 +27,50 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//": "contract main ",
+ "//": "{ ",
+ "//": " bool returnValue; ",
+ "//": " function run() returns (bool) ",
+ "//": " { ",
+ "//": " returnValue = testKeywords(); ",
+ "//": " return returnValue; ",
+ "//": " } ",
+ "//": " ",
+ "//": " function testKeywords() returns (bool res) ",
+ "//": " { ",
+ "//": " //some simple checks for the if statemnt ",
+ "//": " //if, else, while, for, break, continue, return ",
+ "//": " int i = 0; ",
+ "//": " res = false; ",
+ "//": " ",
+ "//": " if (i == 0) ",
+ "//": " { ",
+ "//": " if( i <= -25) ",
+ "//": " { ",
+ "//": " return false; ",
+ "//": " } ",
+ "//": " else ",
+ "//": " { ",
+ "//": " while(i < 10) ",
+ "//": " i++; ",
+ "//": " ",
+ "//": " if (i == 10) ",
+ "//": " { ",
+ "//": " for(var j=10; j>0; j--) ",
+ "//": " { ",
+ "//": " i--; ",
+ "//": " } ",
+ "//": " } ",
+ "//": " } ",
+ "//": " } ",
+ "//": " ",
+ "//": " if (i == 0) ",
+ "//": " return true; ",
+ "//": " ",
+ "//": " return false; ",
+ "//": " } ",
+ "//": "} ",
"code" : "0x7c01000000000000000000000000000000000000000000000000000000006000350463380e439681146037578063c040622614604757005b603d6084565b8060005260206000f35b604d6057565b8060005260206000f35b6000605f6084565b600060006101000a81548160ff0219169083021790555060ff60016000540416905090565b6000808160011560cd575b600a82121560a157600190910190608f565b81600a1460ac5760c9565b50600a5b60008160ff16111560c85760019182900391900360b0565b5b60d5565b6000925060ed565b8160001460e05760e8565b6001925060ed565b600092505b50509056",
"nonce" : "0",
"storage" : {
@@ -58,4 +100,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/TestOverflowFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/TestOverflowFiller.json
index e7e0b969d..ab5ec8bcf 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/TestOverflowFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/TestOverflowFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,8 +27,32 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//" : "contract main ",
+ "//" : "{ ",
+ "//" : " bool returnValue; ",
+ "//" : " function run() returns (bool) ",
+ "//" : " { ",
+ "//" : " returnValue = testOverflow(); ",
+ "//" : " return returnValue; ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function testOverflow() returns (bool res) ",
+ "//" : " { ",
+ "//" : " res = true; ",
+ "//" : " uint256 a = 115792089237316195423570985008687907853269984665640564039457584007913129639935; ",
+ "//" : " if (a + 1 != 0) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " uint32 b = 4294967295; ",
+ "//" : " if (b + 1 != 0) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " uint64 c = 18446744073709551615; ",
+ "//" : " if (c + 1 != 0) ",
+ "//" : " return false; ",
+ "//" : " } ",
+ "//" : "} ",
"code" : "0x6000357c0100000000000000000000000000000000000000000000000000000000900480638040cac41461003a578063c04062261461004c57005b610042610099565b8060005260206000f35b61005461005e565b8060005260206000f35b6000610068610099565b600060006101000a81548160ff02191690830217905550600060009054906101000a900460ff169050610096565b90565b60006000600060006001935083507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff925060006001840114156100db576100e4565b6000935061013b565b63ffffffff915060006001830163ffffffff1614156101025761010b565b6000935061013b565b67ffffffffffffffff905060006001820167ffffffffffffffff1614156101315761013a565b6000935061013b565b5b5050509056",
"nonce" : "0",
"storage" : {
@@ -58,4 +82,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/TestStoreGasPricesFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/TestStoreGasPricesFiller.json
index 6778918b4..06fb5ba5e 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/TestStoreGasPricesFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/TestStoreGasPricesFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -32,8 +32,42 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//" : "contract main ",
+ "//" : "{ ",
+ "//" : " uint[32] m_gasUsed; ",
+ "//" : " int storage; ",
+ "//" : " function run() returns (bool) ",
+ "//" : " { ",
+ "//" : " uint startgas = msg.gas; ",
+ "//" : " ",
+ "//" : " storage = 1; //zero to non zero ",
+ "//" : " m_gasUsed[0] = startgas - msg.gas; ",
+ "//" : " startgas = msg.gas; ",
+ "//" : " ",
+ "//" : " storage = 2; //non zero to non zero ",
+ "//" : " m_gasUsed[1] = startgas - msg.gas; ",
+ "//" : " startgas = msg.gas; ",
+ "//" : " ",
+ "//" : " storage = 2; //non zero to same non zero ",
+ "//" : " m_gasUsed[2] = startgas - msg.gas; ",
+ "//" : " startgas = msg.gas; ",
+ "//" : " ",
+ "//" : " storage = 24784793845734; //non zero to huge non zero ",
+ "//" : " m_gasUsed[3] = startgas - msg.gas; ",
+ "//" : " startgas = msg.gas; ",
+ "//" : " ",
+ "//" : " storage = 2; //huge non zero to non zero ",
+ "//" : " m_gasUsed[4] = startgas - msg.gas; ",
+ "//" : " startgas = msg.gas; ",
+ "//" : " ",
+ "//" : " storage = 0; //non zero to zero ",
+ "//" : " m_gasUsed[5] = startgas - msg.gas; ",
+ "//" : " startgas = msg.gas; ",
+ "//" : " ",
+ "//" : " return true; ",
+ "//" : " } ",
+ "//" : "} ",
"code" : "0x7c01000000000000000000000000000000000000000000000000000000006000350463c04062268114602d57005b6033603d565b8060005260206000f35b600060005a600160205590505a81036000555a600260205590505a81036001555a600260205590505a81036002555a65168aa8d53fe660205590505a81036003555a600260205590505a81036004555a600060205590505a81036005555a5060019291505056",
"nonce" : "0",
"storage" : {
@@ -63,4 +97,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/src/GeneralStateTestsFiller/stSolidityTest/TestStructuresAndVariablessFiller.json b/src/GeneralStateTestsFiller/stSolidityTest/TestStructuresAndVariablessFiller.json
index 509b43969..b0531b526 100644
--- a/src/GeneralStateTestsFiller/stSolidityTest/TestStructuresAndVariablessFiller.json
+++ b/src/GeneralStateTestsFiller/stSolidityTest/TestStructuresAndVariablessFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : "Frontier",
+ "network" : ["ALL"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -32,8 +32,50 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "}\t\t\t\t\t\t\t\t\t\t\t",
"balance" : "100000",
+ "//" : "contract main ",
+ "//" : "{ ",
+ "//" : " struct StructTest ",
+ "//" : " { ",
+ "//" : " address addr; ",
+ "//" : " int amount; ",
+ "//" : " bytes32 str; ",
+ "//" : " mapping (uint => address) funders; ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " bool returnValue; ",
+ "//" : " int globalValue; ",
+ "//" : " StructTest globalData; ",
+ "//" : " function run() returns (bool) ",
+ "//" : " { ",
+ "//" : " globalValue = 255; ",
+ "//" : " globalData.addr = 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b; ",
+ "//" : " globalData.amount = 255; ",
+ "//" : " globalData.str = 'global data 32 length string'; ",
+ "//" : " globalData.funders[0] = 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b; ",
+ "//" : " returnValue = testStructuresAndVariabless(); ",
+ "//" : " return returnValue; ",
+ "//" : " } ",
+ "//" : " ",
+ "//" : " function testStructuresAndVariabless() returns (bool res) ",
+ "//" : " { ",
+ "//" : " res = true; ",
+ "//" : " if (globalValue != 255) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (globalValue != globalData.amount) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (globalData.addr != 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (globalData.str != 'global data 32 length string') ",
+ "//" : " return false; ",
+ "//" : " ",
+ "//" : " if (globalData.funders[0] != 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) ",
+ "//" : " return false; ",
+ "//" : " } ",
+ "//" : "} ",
"code" : "0x7c010000000000000000000000000000000000000000000000000000000060003504632a9afb838114610039578063c04062261461004b57005b61004161005d565b8060005260206000f35b61005361016c565b8060005260206000f35b600160ff8154141561006e57610076565b506000610169565b60015460035414156100875761008f565b506000610169565b73a94f5374fce5edbc8e2a8697c15331677e6ebf0b73ffffffffffffffffffffffffffffffffffffffff60016002540481161614156100cd576100d5565b506000610169565b7f676c6f62616c2064617461203332206c656e67746820737472696e670000000060045414156101045761010c565b506000610169565b6005600080815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673a94f5374fce5edbc8e2a8697c15331677e6ebf0b141561016057610168565b506000610169565b5b90565b600060ff806001555073a94f5374fce5edbc8e2a8697c15331677e6ebf0b6002805473ffffffffffffffffffffffffffffffffffffffff1916821790555060ff80600355507f676c6f62616c2064617461203332206c656e67746820737472696e6700000000806004555073a94f5374fce5edbc8e2a8697c15331677e6ebf0b6005600080815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555061022f61005d565b600060006101000a81548160ff0219169083021790555060ff6001600054041690509056",
"nonce" : "0",
"storage" : {
@@ -63,4 +105,4 @@
]
}
}
-} \ No newline at end of file
+}