aboutsummaryrefslogtreecommitdiffstats
path: root/stSolidityTestFiller.json
blob: 948dc5f7a0d709f87796727a85368cf0bc5b5b02 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
{
 "SolidityTest" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "1000000000000000000000",
            "currentNumber" : "120",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "10000000000000000",
                "code" : "",
                "nonce" : "0",
                "storage" : {
                }
            },

         "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "100000",       
        "//" : "                                                            ",
        "//" : "contract TestContract                                                   ",
        "//" : "{                                                           ",
        "//" : "    function testMethod() returns (int res)                                         ",
        "//" : "    {                                                           ",
        "//" : "        return 225;                                                     ",
            "//" : "    }                                                           ",
        "//" : "                                                                ",
        "//" : "    function destroy(address sendFoundsTo)                                      ",
        "//" : "    {                                                           ",
        "//" : "        suicide(sendFoundsTo);                                                  ",
        "//" : "    }                                                           ",
        "//" : "}                                                           ",
        "//" : "                                                            ",
        "//" : "contract TestSolidityContracts                                              ",
        "//" : "{                                                           ",
            "//" : "struct StructTest                                                   ",
        "//" : "    {                                                           ",
        "//" : "        address addr;                                                   ",
        "//" : "        int amount;                                                     ",
        "//" : "        string32 str;                                                   ",
        "//" : "        mapping (uint => address) funders;                                      ",
        "//" : "    }                                                           ",
        "//" : "                                                                ",
        "//" : "    int globalValue;                                                    ",
        "//" : "    StructTest globalData;                                              ",
        "//" : "    function runSolidityTests() returns (hash res)                                      ",
        "//" : "    {                                                           ",
        "//" : "        //res is a mask of failing tests given the first byte is first test                     ",
        "//" : "        res = 0x0000000000000000000000000000000000000000000000000000000000000000;                   ",
        "//" : "                                                                ",
        "//" : "        createContractFromMethod();                                             ",
        "//" : "                                                                ",
        "//" : "        if (!testKeywords())                                                ",
        "//" : "            res = hash(int(res) + int(0xf000000000000000000000000000000000000000000000000000000000000000));         ",
        "//" : "                                                                ",
        "//" : "        if (!testContractInteraction())                                         ",
        "//" : "            res = hash(int(res) + int(0x0f00000000000000000000000000000000000000000000000000000000000000));         ",
        "//" : "                                                                ",
        "//" : "        if (!testContractSuicide())                                             ",
        "//" : "            res = hash(int(res) + int(0x00f0000000000000000000000000000000000000000000000000000000000000));         ",
        "//" : "                                                            ",
        "//" : "        if (!testBlockAndTransactionProperties())                                   ",
        "//" : "            res = hash(int(res) + int(0x000f000000000000000000000000000000000000000000000000000000000000));         ",
        "//" : "                                                            ",
        "//" : "        globalValue = 255;                                              ",
        "//" : "        globalData.addr = 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b;                           ",
        "//" : "        globalData.amount = 255;                                            ",
        "//" : "        globalData.str = 'global data 32 length string';                                ",
        "//" : "        globalData.funders[0] = 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b;                         ",
        "//" : "        if (!testStructuresAndVariabless())                                         ",
        "//" : "            res = hash(int(res) + int(0x0000f00000000000000000000000000000000000000000000000000000000000));         ",
        "//" : "                                                            ",
        "//" : "    if (!testCryptographicFunctions())                                      ",
        "//" : "            res = hash(int(res) + int(0x00000f0000000000000000000000000000000000000000000000000000000000));     ",
        "//" : "                                                            ",
        "//" : "    }                                                           ",
        "//" : "                                                                ",
        "//" : "    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;                                               ",
        "//" : "                                                                ",
        "//" : "        //ecrecover                                                 ",
        "//" : "    }                                                           ",
        "//" : "                                                            ",
        "//" : "    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;                                               ",
        "//" : "    }                                                           ",
        "//" : "                                                                ",
        "//" : "    function testBlockAndTransactionProperties() returns (bool res)                         ",
        "//" : "    {                                                           ",
        "//" : "        res = true;                                                     ",
        "//" : "        if (block.coinbase != 0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba)                       ",
        "//" : "            return false;                                               ",
        "//" : "                                                                ",
        "//" : "        if (block.difficulty != 45678256)                                       ",
        "//" : "            return false;                                               ",
        "//" : "                                                                ",
        "//" : "        //for some reason does not work 27.01.2015                                  ",
        "//" : "        if (block.gaslimit != 1000000000000000000000)                                   ",
        "//" : "            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;                                               ",
        "//" : "                                                                ",
        "//" : "    }                                                           ",
        "//" : "                                                                ",
        "//" : "    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;                                                   ",
        "//" : "    }                                                           ",
        "//" : "                                                                ",
        "//" : "    function testContractInteraction() returns (bool res)                               ",
        "//" : "    {                                                           ",
        "//" : "        TestContract a = new TestContract();                                        ",
        "//" : "        if (a.testMethod() == 225)                                          ",
        "//" : "            return true;                                                ",
        "//" : "        return false;                                                   ",
        "//" : "    }                                                           ",
        "//" : "                                                                ",
        "//" : "    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;                                                   ",
        "//" : "    }                                                           ",
        "//" : "                                                                ",
        "//" : "    function createContractFromMethod() returns (TestContract a)                            ",
        "//" : "    {                                                           ",
        "//" : "        a = new TestContract();                                             ",
        "//" : "    }                                                           ",
        "//" : "}                                                           ",
                "code" : "0x60003560e060020a900480630c4c9a8014610084578063296df0df146100965780632a9afb83146100a8578063380e4396146100ba5780634893d88a146100cc5780637ee17e12146100da578063981a3165146100e8578063a60eedda146100fa578063e0a9fd281461010c578063e97384dc1461011e578063ed973fe91461013057005b61008c6102c0565b8060005260206000f35b61009e61067b565b8060005260206000f35b6100b06101ba565b8060005260206000f35b6100c261049b565b8060005260206000f35b6100d461087d565b60006000f35b6100e26101a4565b60006000f35b6100f06102ab565b8060005260206000f35b610102610695565b8060005260206000f35b610114610732565b8060005260206000f35b61012661055a565b8060005260206000f35b610138610142565b8060005260206000f35b600060006060610889600039606060006000f0905080600160a060020a031663b9c3d0a5602060008260e060020a026000526004600060008660155a03f150505060005160e1146101925761019b565b600191506101a0565b600091505b5090565b60006060610889600039606060006000f0905090565b60006001905060005460ff14156101d0576101d9565b600090506102a8565b60025460005414156101ea576101f3565b600090506102a8565b600154600160a060020a031673a94f5374fce5edbc8e2a8697c15331677e6ebf0b141561021f57610228565b600090506102a8565b6003547f676c6f62616c2064617461203332206c656e67746820737472696e6700000000141561025757610260565b600090506102a8565b600460006000815260200190815260200160002054600160a060020a031673a94f5374fce5edbc8e2a8697c15331677e6ebf0b141561029e576102a7565b600090506102a8565b5b90565b6000600090506102b961087d565b6001905090565b6000600090506102ce6101a4565b506102d761049b565b156102e157610307565b7ff000000000000000000000000000000000000000000000000000000000000000810190505b61030f610142565b156103195761033f565b7f0f00000000000000000000000000000000000000000000000000000000000000810190505b610347610695565b1561035157610376565b7ef0000000000000000000000000000000000000000000000000000000000000810190505b61037e61055a565b15610388576103ad565b7e0f000000000000000000000000000000000000000000000000000000000000810190505b60ff60008190555073a94f5374fce5edbc8e2a8697c15331677e6ebf0b60018190555060ff6002819055507f676c6f62616c2064617461203332206c656e67746820737472696e670000000060038190555073a94f5374fce5edbc8e2a8697c15331677e6ebf0b6004600060008152602001908152602001600020819055506104346101ba565b1561043e57610462565b7df00000000000000000000000000000000000000000000000000000000000810190505b61046a610732565b1561047457610498565b7d0f0000000000000000000000000000000000000000000000000000000000810190505b90565b6000600060006000915060009250816000146104b65761053a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7821315610530575b600a8212156104f55781806001019250506104df565b81600a146105025761052b565b600a90505b60008160ff16111561052a57818060019003925050808060019003915050610507565b5b610539565b60009250610555565b5b8160001461054757610550565b60019250610555565b600092505b505090565b60006001905041600160a060020a0316732adc25665018aa1fe0e6bc666dac8fc2697ff9ba141561058a57610593565b60009050610678565b446302b8feb014156105a4576105ad565b60009050610678565b45683635c9adc5dea0000014156105c3576105cc565b60009050610678565b43607814156105da576105e3565b60009050610678565b33600160a060020a031673a94f5374fce5edbc8e2a8697c15331677e6ebf0b141561060d57610616565b60009050610678565b34606414156106245761062d565b60009050610678565b3a6001141561063b57610644565b60009050610678565b32600160a060020a031673a94f5374fce5edbc8e2a8697c15331677e6ebf0b141561066e57610677565b60009050610678565b5b90565b6000600090505b60011561068e57610682565b6001905090565b60006000600191506060610889600039606060006000f0905080600160a060020a031662f55d9d600060008260e060020a02600052600441600160a060020a03168152602001600060008660155a03f150505080600160a060020a031663b9c3d0a5602060008260e060020a026000526004600060008660155a03f150505060005160e114156107245761072d565b6000915061072e565b5b5090565b60006001905060007f74657374737472696e67000000000000000000000000000000000000000000008152600a016000207f43c4b4524adb81e4e9a5c4648a98e9d320e3908ac5b6c889144b642cd08ae16d141561078f57610798565b6000905061087a565b60026020600060007f74657374737472696e67000000000000000000000000000000000000000000008152600a01600060008560155a03f150506000517f3c8727e019a42b444667a587b6001251becadabbb36bfed8087a92c18882d11114156108015761080a565b6000905061087a565b60036020600060007f74657374737472696e67000000000000000000000000000000000000000000008152600a01600060008560155a03f15050600051600160a060020a031673cd566972b5e50104011a92b59fa8e0b1234851ae141561087057610879565b6000905061087a565b5b90565b6108856102ab565b505600605480600c6000396000f30060003560e060020a90048062f55d9d14601e578063b9c3d0a514602d57005b60276004356046565b60006000f35b6033603d565b8060005260206000f35b600060e1905090565b80600160a060020a0316ff5056",
                "nonce" : "0",
                "storage" : {
                }       
            }
        },

        "transaction" :
    {   
        "//"   : "createContractFromMethod()",
        "data" : "0x7ee17e12",
        "//"   : "runSolidityTests()",
        "data" : "0x0c4c9a80",
            "gasLimit" : "465224",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
        "to" : "d94f5374fce5edbc8e2a8697c15331677e6ebf0b",
            "value" : "100"
        }
    },

 "CallLowLevelCreatesSolidity" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//": "contract subcaller           ",
        "//": "{                    ",
        "//": "  function init(address a)       ",
        "//": "  {                  ",
        "//": "    main(a).setdata(225);        ",
        "//": "  }                  ",
        "//": "}                    ",
        "//": "                     ",
        "//": "contract main                ",
        "//": "{                    ",
        "//": "   uint data;                ",
        "//": "   function run() returns (uint)     ",
        "//": "   {                 ",
        "//": "       data = 1;             ",
        "//": "       subcaller a = new subcaller();    ",
        "//": "       a.init(msg.sender);       ",
        "//": "       return data;          ",
        "//": "   }                 ",
        "//": "                     ",
        "//": "   function setdata(uint _data)      ",
        "//": "   {                 ",
        "//": "       data = _data;         ",
        "//": "   }                 ",
        "//": "}",
                "code" : "0x60e060020a60003504806330debb4214610020578063c04062261461003157005b61002b6004356100a4565b60006000f35b610039610043565b8060005260206000f35b60006000600160008190555060656100af600039606560006000f0905080600160a060020a03166319ab453c600060008260e060020a02600052600433600160a060020a03168152602001600060008660155a03f150505060005491505090565b80600081905550505600605980600c6000396000f30060e060020a60003504806319ab453c14601457005b601d6004356023565b60006000f35b80600160a060020a03166330debb42600060008260e060020a02600052600460e18152602001600060008660155a03f15050505056",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "100000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "35000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    },

 "CallRecursiveMethods" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//" : "contract recursiveMethods       ",
        "//" : "{                   ",
        "//" : "    function testInfiniteLoop()     ",
        "//" : "    {                   ",
        "//" : "        while(true){}           ",
        "//" : "    }                   ",
        "//" : "                        ",
        "//" : "    function testRecursiveMethods() ",
        "//" : "    {                   ",
        "//" : "        testRecursiveMethods2();    ",
        "//" : "    }                   ",
        "//" : "                        ",
        "//" : "    function testRecursiveMethods2()    ",
        "//" : "    {                   ",
        "//" : "        testRecursiveMethods();     ",
        "//" : "    }                   ",
        "//" : "}",
                "code" : "0x60e060020a600035048063296df0df1460285780634893d88a146034578063981a316514604057005b602e604c565b60006000f35b603a6061565b60006000f35b60466059565b60006000f35b5b600115605757604d565b565b605f6061565b565b60676059565b56",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "100000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "testRecursiveMethods()",
            "data" : "0x981a3165",
            "gasLimit" : "25000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    },

 "CallInfiniteLoop" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//" : "contract recursiveMethods       ",
        "//" : "{                   ",
        "//" : "    function testInfiniteLoop()     ",
        "//" : "    {                   ",
        "//" : "        while(true){}           ",
        "//" : "    }                   ",
        "//" : "                        ",
        "//" : "    function testRecursiveMethods() ",
        "//" : "    {                   ",
        "//" : "        testRecursiveMethods2();    ",
        "//" : "    }                   ",
        "//" : "                        ",
        "//" : "    function testRecursiveMethods2()    ",
        "//" : "    {                   ",
        "//" : "        testRecursiveMethods();     ",
        "//" : "    }                   ",
        "//" : "}",
                "code" : "0x60e060020a600035048063296df0df1460285780634893d88a146034578063981a316514604057005b602e604c565b60006000f35b603a6061565b60006000f35b60466059565b60006000f35b5b600115605757604d565b565b605f6061565b565b60676059565b56",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "50000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "testInfiniteLoop()",
            "data" : "0x296df0df",
            "gasLimit" : "30000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    },

    "RecursiveCreateContracts" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "1000000",
        "//" : "contract recursiveCreate1                           ",
        "//" : "{                                       ",
        "//" : "    function recursiveCreate1(address a, uint depth)                ",
        "//" : "    {                                       ",
        "//" : "        depth = depth - 1;                          ",
        "//" : "        if(depth > 0)                               ",
        "//" : "            main(a).create2(depth);                     ",
        "//" : "    }                                       ",
        "//" : "}                                       ",
        "//" : "                                        ",
        "//" : "contract recursiveCreate2                           ",
        "//" : "{                                       ",
        "//" : "    function recursiveCreate2(address a, uint depth)                ",
        "//" : "    {                                       ",
        "//" : "        depth = depth - 1;                          ",
        "//" : "        if(depth > 0)                               ",
        "//" : "            recursiveCreate1 rec1 = new recursiveCreate1(a, depth);     ",
            "//" : "    }                                       ",
        "//" : "}                                       ",
        "//" : "                                        ",
        "//" : "contract main                                   ",
        "//" : "{                                       ",
        "//" : "    address maincontract;                           ",
        "//" : "    uint depp;                                  ",
        "//" : "    function run(uint depth)                            ",
        "//" : "    {                                       ",
        "//" : "        maincontract = msg.sender;                      ",
        "//" : "        depp = depth;                               ",
        "//" : "        recursiveCreate1 rec1 = new recursiveCreate1(maincontract, depth);  ",
        "//" : "    }                                       ",
        "//" : "                                            ",
        "//" : "    function create2(uint depth)                        ",
        "//" : "    {                                       ",
        "//" : "        recursiveCreate2 rec2 = new recursiveCreate2(maincontract, depth);  ",
        "//" : "        address(rec2).send(2);                          ",
        "//" : "    }                                       ",
        "//" : "}",
                "code" : "0x60003560e060020a90048063820b13f614610021578063a444f5e91461003257005b61002c600435610043565b60006000f35b61003d60043561008f565b60006000f35b600060c66100cc60003960c6600054600160a060020a0316815260200182815260200160006000f0905080600160a060020a0316600060026000600060006000848787f1505050505050565b6000336000819055508160018190555060686101926000396068600054600160a060020a0316815260200182815260200160006000f09050505056006012604060c6600439600451602451601e565b60018060c56000396000f35b6000600182039150600082116031576057565b6068605d600039606883600160a060020a0316815260200182815260200160006000f090505b5050505600601260406068600439600451602451601e565b60018060676000396000f35b60018103905060008111602f576062565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660155a03f15050505b505056000000601260406068600439600451602451601e565b60018060676000396000f35b60018103905060008111602f576062565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660155a03f15050505b5050560000",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "500000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run(uint256)",
            "data" : "0xa444f5e900000000000000000000000000000000000000000000000000000000000204",
            "gasLimit" : "30000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    },

    "AmbiguousMethod" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//" : "contract contract1      ",
        "//" : "{               ",
        "//" : "    uint value;         ",
        "//" : "    function run()      ",
        "//" : "    {               ",
        "//" : "        value = 225;        ",
        "//" : "    }               ",
        "//" : "}               ",
        "//" : "                ",
        "//" : "contract contract2      ",
        "//" : "{               ",
        "//" : "    uint value2;        ",
        "//" : "    function run()      ",
        "//" : "    {               ",
        "//" : "        value2 = 335;       ",
        "//" : "    }               ",
        "//" : "}               ",
                "code" : "0x60003560e060020a90048063c040622614601557005b601b6021565b60006000f35b61014f60008190555056",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "50000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "30000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    }
}