aboutsummaryrefslogblamecommitdiffstats
path: root/stSolidityTestFiller.json
blob: 253a90c14d395549e682ec8d29d9d5770fdff682 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
 
                                    


                                                                           
                                                         





                                                                                               


                                                                                                                                                  
                                                                                                                                                  
                                                                                                                                                  
                                                                                                                                                  


                                                                                                                                                  













                                                                                                                                                  
                                                                                                                                                  















































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

                              






                                                          

             











                                                                                             
 

































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
                       



                                  


                                                                                             
                                                              

                           

      
















































































































































































































































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    










                                                                                               
                                                          











                                                                  
                                                                  


                                                                  
                                                                                                  
                                                                  
                                                                  







                                                                  
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      


                              

                                                          
                                      


                              





                                  
                                  


                                                                                             
                                                              



                         
                            









                                                                                               
                                                          

















                                                                  
                                                                                                                                                                                                                                                  


                              

                                                          
                                     


                              





                                            
                                 


                                                                                             
                                                              














                                                                                               
                                                          

















                                                                  
                                                                                                                                                                                                                                                  


                              

                                                          
                                     


                              





                                        















































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              


                                                                                             
                                                              














                                                                                               
                                                          
                                                                 

                                                                                                          
                                                                                                          


                                                                                                          
                                                                                                          






                                                                                                          
                                                                                                          


                                                                                                          
                                                                                                          










                                                                                                          
                                                                                                          









                                                                                                          
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              


                              

                                                          
                                      


                              




                                  

                                                                                                  


                                                                                             
                                                              



                         
                         









                                                                                               
                                                          
                                     
















                                                          



                                                                                                                      

                                                          
                                     


                              





                                  
                                  


                                                                                             
                                                              

                         

     
{
    "TestCryptographicFunctions" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "1000000000000000000000",
            "currentNumber" : "120",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//" : "contract main                                                       ",
        "//" : "{                                                           ",
        "//" : "    function run() returns (bool)                                           ",
        "//" : "    {                                                           ",
        "//" : "       return testCryptographicFunctions();                                     ",
        "//" : "    }                                                           ",
        "//" : "                                                            ",
        "//" : "    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                                                 ",
        "//" : "    }                                                           ",
        "//" : "}                                                           ",
                "code" : "0x60003560e060020a90048063c040622614610021578063e0a9fd281461003357005b610029610045565b8060005260206000f35b61003b610054565b8060005260206000f35b600061004f610054565b905090565b60006001905060007f74657374737472696e67000000000000000000000000000000000000000000008152600a017f030d40000000000000000000000000000000000000000000000000000000000081526003016000207f43c4b4524adb81e4e9a5c4648a98e9d320e3908ac5b6c889144b642cd08ae16d14156100d7576100e0565b60009050610218565b60026020600060007f74657374737472696e67000000000000000000000000000000000000000000008152600a017f030d4000000000000000000000000000000000000000000000000000000000008152600301600060008560325a03f161014457005b506000517f3c8727e019a42b444667a587b6001251becadabbb36bfed8087a92c18882d11114156101745761017d565b60009050610218565b60036020600060007f74657374737472696e67000000000000000000000000000000000000000000008152600a017f030d4000000000000000000000000000000000000000000000000000000000008152600301600060008560325a03f16101e157005b50600051600160a060020a031673cd566972b5e50104011a92b59fa8e0b1234851ae141561020e57610217565b60009050610218565b5b9056",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "50000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "35000000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "100"
        }
    },

   "TestStructuresAndVariabless" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "1000000000000000000000",
            "currentNumber" : "120",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//" : "contract main                                       ",
        "//" : "{                                           ",
            "//" : "    struct StructTest                                   ",
        "//" : "    {                                           ",
        "//" : "        address addr;                                   ",
        "//" : "        int amount;                                     ",
        "//" : "        string32 str;                                   ",
        "//" : "        mapping (uint => address) funders;                      ",
        "//" : "    }                                           ",
        "//" : "                                                ",
        "//" : "    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;         ",
        "//" : "       return testStructuresAndVariabless();                        ",
        "//" : "    }                                           ",
        "//" : "                                            ",
        "//" : "    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" : "0x60003560e060020a900480632a9afb8314610021578063c04062261461003357005b610029610045565b8060005260206000f35b61003b610136565b8060005260206000f35b60006001905060005460ff141561005b57610064565b60009050610133565b60025460005414156100755761007e565b60009050610133565b600154600160a060020a031673a94f5374fce5edbc8e2a8697c15331677e6ebf0b14156100aa576100b3565b60009050610133565b6003547f676c6f62616c2064617461203332206c656e67746820737472696e670000000014156100e2576100eb565b60009050610133565b600460006000815260200190815260200160002054600160a060020a031673a94f5374fce5edbc8e2a8697c15331677e6ebf0b141561012957610132565b60009050610133565b5b90565b600060ff60008190555073a94f5374fce5edbc8e2a8697c15331677e6ebf0b60018190555060ff6002819055507f676c6f62616c2064617461203332206c656e67746820737472696e670000000060038190555073a94f5374fce5edbc8e2a8697c15331677e6ebf0b6004600060008152602001908152602001600020819055506101bf610045565b90509056",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "1000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "350000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "100"
        }
    },

   "TestBlockAndTransactionProperties" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "1000000000000000000000",
            "currentNumber" : "120",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//" : "contract main                                       ",
        "//" : "{                                           ",
        "//" : "    function run() returns (bool)                           ",
        "//" : "    {                                           ",
        "//" : "       return testBlockAndTransactionProperties();                  ",
        "//" : "    }                                           ",
        "//" : "                                            ",
        "//" : "    function testBlockAndTransactionProperties() returns (bool res)         ",
        "//" : "    {                                           ",
        "//" : "        res = true;                                     ",
        "//" : "        if (block.coinbase != 0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba)       ",
        "//" : "            return false;                               ",
        "//" : "                                                ",
        "//" : "        if (block.difficulty != 45678256)                       ",
        "//" : "            return false;                               ",
        "//" : "                                                ",
        "//" : "        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;                               ",
        "//" : "                                                ",
        "//" : "    }                                           ",
        "//" : "}                                           ",
                "code" : "0x60003560e060020a90048063c040622614610021578063e97384dc1461003357005b610029610045565b8060005260206000f35b61003b610054565b8060005260206000f35b600061004f610054565b905090565b60006001905041600160a060020a0316732adc25665018aa1fe0e6bc666dac8fc2697ff9ba14156100845761008d565b60009050610172565b446302b8feb0141561009e576100a7565b60009050610172565b45683635c9adc5dea0000014156100bd576100c6565b60009050610172565b43607814156100d4576100dd565b60009050610172565b33600160a060020a031673a94f5374fce5edbc8e2a8697c15331677e6ebf0b141561010757610110565b60009050610172565b346064141561011e57610127565b60009050610172565b3a600114156101355761013e565b60009050610172565b32600160a060020a031673a94f5374fce5edbc8e2a8697c15331677e6ebf0b141561016857610171565b60009050610172565b5b9056",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "1000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "350000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "100"
        }
    },

  "TestContractSuicide" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//": "contract TestContract                            ",
        "//": "{                                    ",
        "//": "    function testMethod() returns (int res)              ",
        "//": "    {                                    ",
        "//": "        return 225;                          ",
            "//": "    }                                    ",
        "//": "                                         ",
        "//": "    function destroy(address sendFoundsTo)               ",
        "//": "    {                                    ",
        "//": "        suicide(sendFoundsTo);                           ",
        "//": "    }                                    ",
        "//": "}                                    ",
        "//": "contract main                                ",
        "//": "{                                    ",
        "//": "    function run() returns (bool)                    ",
        "//": "    {                                    ",
        "//": "       return testContractSuicide();                 ",
        "//": "    }                                    ",
        "//": "                                     ",
        "//": "    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" : "0x60003560e060020a90048063a60eedda14610021578063c04062261461003357005b610029610045565b8060005260206000f35b61003b6100eb565b8060005260206000f35b6000600060606100fb600039606060006000f0905080600160a060020a031662f55d9d600060008260e060020a02600052600441600160a060020a03168152602001600060008660325a03f161009757005b505080600160a060020a031663b9c3d0a5602060008260e060020a026000526004600060008660325a03f16100c857005b505060005160e1146100d9576100e2565b600191506100e7565b600091505b5090565b60006100f5610045565b9050905600605480600c6000396000f30060003560e060020a90048062f55d9d14601e578063b9c3d0a514602d57005b60276004356046565b60006000f35b6033603d565b8060005260206000f35b600060e1905090565b80600160a060020a0316ff5056",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "1000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "350000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    },

    "TestContractInteraction" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//": "contract TestContract                            ",
        "//": "{                                    ",
        "//": "    function testMethod() returns (int res)              ",
        "//": "    {                                    ",
        "//": "        return 225;                          ",
            "//": "    }                                    ",
        "//": "                                         ",
        "//": "    function destroy(address sendFoundsTo)               ",
        "//": "    {                                    ",
        "//": "        suicide(sendFoundsTo);                           ",
        "//": "    }                                    ",
        "//": "}                                    ",
        "//": "contract main                                ",
        "//": "{                                    ",
        "//": "    function run() returns (bool)                    ",
        "//": "    {                                    ",
        "//": "       return testContractInteraction();                 ",
        "//": "    }                                    ",
        "//": "                                     ",
        "//" : "    function testContractInteraction() returns (bool res)       ",
        "//" : "    {                                   ",
        "//" : "        TestContract a = new TestContract();                ",
        "//" : "        if (a.testMethod() == 225)                  ",
        "//" : "            return true;                        ",
        "//" : "        return false;                           ",
        "//" : "    }                                   ",
        "//": "}                                    ",
                "code" : "0x60003560e060020a90048063c040622614610021578063ed973fe91461003357005b6100296100ac565b8060005260206000f35b61003b610045565b8060005260206000f35b6000600060606100bc600039606060006000f0905080600160a060020a031663b9c3d0a5602060008260e060020a026000526004600060008660325a03f161008957005b505060005160e11461009a576100a3565b600191506100a8565b600091505b5090565b60006100b6610045565b9050905600605480600c6000396000f30060003560e060020a90048062f55d9d14601e578063b9c3d0a514602d57005b6027600435603d565b60006000f35b6033604b565b8060005260206000f35b80600160a060020a0316ff50565b600060e190509056",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "1000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "350000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    },

  "TestKeywords" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "100000",
        "//": "contract main                                ",
        "//": "{                                    ",
        "//": "    function run() returns (bool)                    ",
        "//": "    {                                    ",
        "//": "       return testKeywords();                        ",
        "//": "    }                                    ",
        "//": "                                     ",
        "//": "    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" : "0x60003560e060020a90048063380e439614601f578063c040622614602f57005b6025603f565b8060005260206000f35b603560f0565b8060005260206000f35b60006000600060009150600092508160001460585760d3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe782131560ca575b600a82121560945781806001019250506080565b81600a14609f5760c6565b600a90505b60008160ff16111560c55781806001900392505080806001900391505060a4565b5b60d2565b6000925060eb565b5b8160001460de5760e6565b6001925060eb565b600092505b505090565b600060f8603f565b90509056",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "1000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "350000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    },

 "CreateContractFromMethod" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "pre" :
        {
            "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "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" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "1000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "350000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    },

 "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;                ",
        "//": "   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" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "1000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "350000",
            "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" : "0x60003560e060020a90048063296df0df1460295780634893d88a146035578063981a316514604157005b602f604d565b60006000f35b603b6062565b60006000f35b6047605a565b60006000f35b5b600115605857604e565b565b60606062565b565b6068605a565b56",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "500000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "testRecursiveMethods()",
            "data" : "0x981a3165",
            "gasLimit" : "30000",
            "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" : "0x60003560e060020a90048063296df0df1460295780634893d88a146035578063981a316514604157005b602f604d565b60006000f35b603b6062565b60006000f35b6047605a565b60006000f35b5b600115605857604e565b565b60606062565b565b6068605a565b56",
                "nonce" : "0",
                "storage" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "500000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "testInfiniteLoop()",
            "data" : "0x296df0df",
            "gasLimit" : "300000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    },

    "RecursiveCreateContractsCreate4Contracts" : {
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "45678256",
            "currentGasLimit" : "100000000",
            "currentNumber" : "0",
            "currentTimestamp" : 1,
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "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" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "5000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run(uint256)",
            "data" : "0xa444f5e90000000000000000000000000000000000000000000000000000000000000004",
            "gasLimit" : "300000",
            "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" : "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" : {
                }
            },
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "5000000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run(uint256)",
            "data" : "0xa444f5e90000000000000000000000000000000000000000000000000000000000000204",
            "gasLimit" : "300000",
            "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" : "500000",
                "nonce" : "0",
                "code" : "",
                "storage": {}
            }
        },
        "transaction" :
        {
        "//" : "run()",
            "data" : "0xc0406226",
            "gasLimit" : "300000",
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
            "value" : "1"
        }
    }
}