Sponsored:   LH-CRYPTO - 200 instruments (BTC, EUR, GOLD, OIL, SHARES). Leverage up to 1:500. OPEN ACCOUNT
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 37 txns
Token Tracker: OutCloud (OUT)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xfc788e41ff2405a6b032f18aba8a90be45e335b6at txn 0xbb32c10928059aafda6220aa3a61ded67cb1aeee189da94151cd2789d5d9cbda
Token Balance:
 Latest 25 transactions from a total of 37 transactions

TxHash Age From To Value [TxFee]
0x9919c3b281df23060defb1c79a23cd1ad506f96ad3fb3d19f6cf326e53b295ea57 days 17 hrs ago0xb9274b8caf7a40bd8a68a6cf67a0fa5abdb55e16  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.0015085
0x60c0326e1e9efa7b49f2d964596b175f975ed0927d846ff97677578789d257e658 days 15 hrs ago0xb9274b8caf7a40bd8a68a6cf67a0fa5abdb55e16  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.000213688
0x286b22840762d353bdcd865c9655a9f125f8539b510a24c6c1963477f8a8a71b59 days 11 hrs ago0x1098b62b22535c7eea2b3c2f6dd049677979d514  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.000146898
0xa86d9ca8d5e4bc1bd88fe2b7b02d096663c7665f8d70bf5ece299d9eb2c9c19060 days 20 hrs ago0x1098b62b22535c7eea2b3c2f6dd049677979d514  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00073449
0xa79e16cc0124a011b8ffbe2baff27158e5f812a85bb56313d94e8d53db0f6d0660 days 20 hrs ago0x1098b62b22535c7eea2b3c2f6dd049677979d514  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.001137694406
0x5cb69264fac8c0f7f45798be323952cb2e338a475317792b4492a022cf4f2c5e60 days 21 hrs ago0x1098b62b22535c7eea2b3c2f6dd049677979d514  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.0001640361
0x49d867fd1c0dd93d97f41e9eea24cf06697e295dd859466799818d5397bb84e960 days 21 hrs ago0x1098b62b22535c7eea2b3c2f6dd049677979d514  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.0001664844
0xe34f6d9f2f714ba7e9308b6cd05690e01a5bf9a17bb6031816b609f85e4405ec60 days 21 hrs ago0x1098b62b22535c7eea2b3c2f6dd049677979d514  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.0001640361
0x1290aa2c031d8ffd6e2b58cf55583e6c8edb510adfb2bbd98fcd0b17337d8fbf60 days 21 hrs ago0x1098b62b22535c7eea2b3c2f6dd049677979d514  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.000127770656
0x7cc4c4dcdfb58611e16fe5dadf45348fea7fbeef06dfd4c26039fa6c675a0de860 days 21 hrs ago0x1098b62b22535c7eea2b3c2f6dd049677979d514  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00011629425
0x6d902b0d42852aa1c7e53baba157ef979009dbde265cb89097a18c2de9a5d8fc60 days 21 hrs ago0x1098b62b22535c7eea2b3c2f6dd049677979d514  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.000104817843
0xe2d220c6a067fbdabbe5cefb139d3ea567b4afdf9f45e263d9ba302369a3077369 days 19 hrs ago0xb9274b8caf7a40bd8a68a6cf67a0fa5abdb55e16  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.000160458
0x64bbe7f3bb2a9dba3235b64da0fa84cb6852507b339b3dcdd31362358fe4aeac77 days 2 hrs ago0x00004242f4449d49ec9c64ad6f9385a56b2a6297  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00219946
0x2efb062be5bbfad0a80ac3a1a66230741bec48da163dd044f7c80d6a634e22b877 days 2 hrs ago0x4eb47b901d2399bc3ed0b27c47ab987f9c3bd98f  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090.018079259473531 Ether0.0009387525
0xef2b8b7dcec5468f67fbaca2cad29b1d671ef831155fca652dcf69805ce0e99078 days 12 hrs ago0x00004242f4449d49ec9c64ad6f9385a56b2a6297  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00219946
0xb76605604cc5fddff35c8aec482775f4e024f9f6c5423df5bf74c913ce803b7278 days 12 hrs ago0x9e7cfeb7dfaffdbc5615be9c62c0735eaabfc457  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090.0034 Ether0.00053643
0x4b4d1c6d6b2dd74ee963c7141310045089b1d56d717a07d06e735cbeffe33b0978 days 12 hrs ago0x000042425e06b0b1e8e20a811c91d6864608324b  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00249946
0xa2f53faf433a7087568f00c794ecc1679b2f3eb76b5059727762b96d876a2d4678 days 12 hrs ago0xb9274b8caf7a40bd8a68a6cf67a0fa5abdb55e16  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090.0035 Ether0.00625835
0xfc62405ed017232940a0ab3f29fff12b6e5dc8694d0c04f3d17053119bb8776678 days 22 hrs ago0xb9274b8caf7a40bd8a68a6cf67a0fa5abdb55e16  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.002190302
0x703a50e8b38557f99406d71ff620ad06702cf3f1274b59ef0bd65f1bf22133d979 days 1 hr ago0x6c27c7e602ed24711195645fce51ffe54c695638  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.000967317
0xad001d40d999f6973e84fc04e156e45dca90788563cf29cfb3b401050e99bddd79 days 1 hr ago0x6c27c7e602ed24711195645fce51ffe54c695638  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00074409
0x47a713a71cd30deb0aaa1def8f1fe961710d645e093098586a5816565ae93d4879 days 1 hr ago0x6c27c7e602ed24711195645fce51ffe54c695638  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00074409
0x6e04f38e3c065d59bf9ef2b4e7d4de0f32848ac55e5d6ae48119e1a07680157880 days 22 hrs ago0x6c27c7e602ed24711195645fce51ffe54c695638  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00074409
0xb3758f49bf005c13fdbee1922256a5c3caf74d3957b9b7b188b1b01cdd2f7b2482 days 1 hr ago0x6c27c7e602ed24711195645fce51ffe54c695638  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00074409
0x4272e319489f329e5cbcbafd58f30964fc699ff42a987796284178b6faaa965f82 days 1 hr ago0x6c27c7e602ed24711195645fce51ffe54c695638  IN   0xb43c257e493e16e83c9212fad4ad2c87ca09cc090 Ether0.00074409
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 4 Internal Transactions

ParentTxHash Block Age From To Value
0x9919c3b281df23060defb1c79a23cd1ad506f96ad3fb3d19f6cf326e53b295ea635661257 days 17 hrs ago0xb43c257e493e16e83c9212fad4ad2c87ca09cc090xbca409cad1d339267af01af0a49002e00e9be0900.051202452173752734 Ether
0x2efb062be5bbfad0a80ac3a1a66230741bec48da163dd044f7c80d6a634e22b8624069877 days 2 hrs ago0xb43c257e493e16e83c9212fad4ad2c87ca09cc090x3dbdc81a6edc94c720b0b88fb65dbd7e395fdcf60.00403564045904911 Ether
0xb76605604cc5fddff35c8aec482775f4e024f9f6c5423df5bf74c913ce803b72623238878 days 12 hrs ago0xb43c257e493e16e83c9212fad4ad2c87ca09cc090x3dbdc81a6edc94c720b0b88fb65dbd7e395fdcf60.00403628842036506 Ether
0xa2f53faf433a7087568f00c794ecc1679b2f3eb76b5059727762b96d876a2d46623231978 days 12 hrs ago0xb43c257e493e16e83c9212fad4ad2c87ca09cc090x3dbdc81a6edc94c720b0b88fb65dbd7e395fdcf60.00403628842036506 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: OutCloud
Compiler Text: v0.4.19+commit.c4cbbb05
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity >=0.4.1 <=0.4.20;// Incompatible compiler version... please select one stated within pragma solidity or use different oraclizeAPI version
contract OraclizeI {
    address public cbAddress;
    function query(uint _timestamp, string _datasource, string _arg) payable returns (bytes32 _id);
    function query_withGasLimit(uint _timestamp, string _datasource, string _arg, uint _gaslimit) payable returns (bytes32 _id);
    function query2(uint _timestamp, string _datasource, string _arg1, string _arg2) payable returns (bytes32 _id);
    function query2_withGasLimit(uint _timestamp, string _datasource, string _arg1, string _arg2, uint _gaslimit) payable returns (bytes32 _id);
    function queryN(uint _timestamp, string _datasource, bytes _argN) payable returns (bytes32 _id);
    function queryN_withGasLimit(uint _timestamp, string _datasource, bytes _argN, uint _gaslimit) payable returns (bytes32 _id);
    function getPrice(string _datasource) returns (uint _dsprice);
    function getPrice(string _datasource, uint gaslimit) returns (uint _dsprice);
    function useCoupon(string _coupon);
    function setProofType(byte _proofType);
    function setConfig(bytes32 _config);
    function setCustomGasPrice(uint _gasPrice);
}
contract OraclizeAddrResolverI {
    function getAddress() returns (address _addr);
}
contract usingOraclize {
    uint constant day = 60*60*24;
    uint constant week = 60*60*24*7;
    uint constant month = 60*60*24*30;
    byte constant proofType_NONE = 0x00;
    byte constant proofType_TLSNotary = 0x10;
    byte constant proofStorage_IPFS = 0x01;
    uint8 constant networkID_auto = 0;
    uint8 constant networkID_mainnet = 1;
    uint8 constant networkID_testnet = 2;
    uint8 constant networkID_morden = 2;
    uint8 constant networkID_consensys = 161;

    OraclizeAddrResolverI OAR;

    OraclizeI oraclize;
    modifier oraclizeAPI {
        if((address(OAR)==0)||(getCodeSize(address(OAR))==0)) oraclize_setNetwork(networkID_auto);
        oraclize = OraclizeI(OAR.getAddress());
        _;
    }
    modifier coupon(string code){
        oraclize = OraclizeI(OAR.getAddress());
        oraclize.useCoupon(code);
        _;
    }

    function oraclize_setNetwork(uint8 networkID) internal returns(bool){
        if (getCodeSize(0x1d3B2638a7cC9f2CB3D298A3DA7a90B67E5506ed)>0){ //mainnet
            OAR = OraclizeAddrResolverI(0x1d3B2638a7cC9f2CB3D298A3DA7a90B67E5506ed);
            return true;
        }
        if (getCodeSize(0xc03A2615D5efaf5F49F60B7BB6583eaec212fdf1)>0){ //ropsten testnet
            OAR = OraclizeAddrResolverI(0xc03A2615D5efaf5F49F60B7BB6583eaec212fdf1);
            return true;
        }
        if (getCodeSize(0xB7A07BcF2Ba2f2703b24C0691b5278999C59AC7e)>0){ //kovan testnet
            OAR = OraclizeAddrResolverI(0xB7A07BcF2Ba2f2703b24C0691b5278999C59AC7e);
            return true;
        }
        if (getCodeSize(0x6f485C8BF6fc43eA212E93BBF8ce046C7f1cb475)>0){ //ethereum-bridge
            OAR = OraclizeAddrResolverI(0x6f485C8BF6fc43eA212E93BBF8ce046C7f1cb475);
            return true;
        }
        if (getCodeSize(0x20e12A1F859B3FeaE5Fb2A0A32C18F5a65555bBF)>0){ //ether.camp ide
            OAR = OraclizeAddrResolverI(0x20e12A1F859B3FeaE5Fb2A0A32C18F5a65555bBF);
            return true;
        }
        if (getCodeSize(0x51efaF4c8B3C9AfBD5aB9F4bbC82784Ab6ef8fAA)>0){ //browser-solidity
            OAR = OraclizeAddrResolverI(0x51efaF4c8B3C9AfBD5aB9F4bbC82784Ab6ef8fAA);
            return true;
        }
        return false;
    }

    function __callback(bytes32 myid, string result) {
        __callback(myid, result, new bytes(0));
    }
    function __callback(bytes32 myid, string result, bytes proof) {
    }

    function oraclize_getPrice(string datasource) oraclizeAPI internal returns (uint){
        return oraclize.getPrice(datasource);
    }

    function oraclize_getPrice(string datasource, uint gaslimit) oraclizeAPI internal returns (uint){
        return oraclize.getPrice(datasource, gaslimit);
    }

    function oraclize_query(string datasource, string arg) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource);
        if (price > 1 ether + tx.gasprice*200000) return 0; // unexpectedly high price
        return oraclize.query.value(price)(0, datasource, arg);
    }
    function oraclize_query(uint timestamp, string datasource, string arg) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource);
        if (price > 1 ether + tx.gasprice*200000) return 0; // unexpectedly high price
        return oraclize.query.value(price)(timestamp, datasource, arg);
    }
    function oraclize_query(uint timestamp, string datasource, string arg, uint gaslimit) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource, gaslimit);
        if (price > 1 ether + tx.gasprice*gaslimit) return 0; // unexpectedly high price
        return oraclize.query_withGasLimit.value(price)(timestamp, datasource, arg, gaslimit);
    }
    function oraclize_query(string datasource, string arg, uint gaslimit) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource, gaslimit);
        if (price > 1 ether + tx.gasprice*gaslimit) return 0; // unexpectedly high price
        return oraclize.query_withGasLimit.value(price)(0, datasource, arg, gaslimit);
    }
    function oraclize_query(string datasource, string arg1, string arg2) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource);
        if (price > 1 ether + tx.gasprice*200000) return 0; // unexpectedly high price
        return oraclize.query2.value(price)(0, datasource, arg1, arg2);
    }
    function oraclize_query(uint timestamp, string datasource, string arg1, string arg2) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource);
        if (price > 1 ether + tx.gasprice*200000) return 0; // unexpectedly high price
        return oraclize.query2.value(price)(timestamp, datasource, arg1, arg2);
    }
    function oraclize_query(uint timestamp, string datasource, string arg1, string arg2, uint gaslimit) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource, gaslimit);
        if (price > 1 ether + tx.gasprice*gaslimit) return 0; // unexpectedly high price
        return oraclize.query2_withGasLimit.value(price)(timestamp, datasource, arg1, arg2, gaslimit);
    }
    function oraclize_query(string datasource, string arg1, string arg2, uint gaslimit) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource, gaslimit);
        if (price > 1 ether + tx.gasprice*gaslimit) return 0; // unexpectedly high price
        return oraclize.query2_withGasLimit.value(price)(0, datasource, arg1, arg2, gaslimit);
    }
    function oraclize_query(string datasource, string[] argN) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource);
        if (price > 1 ether + tx.gasprice*200000) return 0; // unexpectedly high price
        bytes memory args = stra2cbor(argN);
        return oraclize.queryN.value(price)(0, datasource, args);
    }
    function oraclize_query(uint timestamp, string datasource, string[] argN) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource);
        if (price > 1 ether + tx.gasprice*200000) return 0; // unexpectedly high price
        bytes memory args = stra2cbor(argN);
        return oraclize.queryN.value(price)(timestamp, datasource, args);
    }
    function oraclize_query(uint timestamp, string datasource, string[] argN, uint gaslimit) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource, gaslimit);
        if (price > 1 ether + tx.gasprice*gaslimit) return 0; // unexpectedly high price
        bytes memory args = stra2cbor(argN);
        return oraclize.queryN_withGasLimit.value(price)(timestamp, datasource, args, gaslimit);
    }
    function oraclize_query(string datasource, string[] argN, uint gaslimit) oraclizeAPI internal returns (bytes32 id){
        uint price = oraclize.getPrice(datasource, gaslimit);
        if (price > 1 ether + tx.gasprice*gaslimit) return 0; // unexpectedly high price
        bytes memory args = stra2cbor(argN);
        return oraclize.queryN_withGasLimit.value(price)(0, datasource, args, gaslimit);
    }
    function oraclize_query(string datasource, string[1] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](1);
        dynargs[0] = args[0];
        return oraclize_query(datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[1] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](1);
        dynargs[0] = args[0];
        return oraclize_query(timestamp, datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[1] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](1);
        dynargs[0] = args[0];
        return oraclize_query(timestamp, datasource, dynargs, gaslimit);
    }
    function oraclize_query(string datasource, string[1] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](1);
        dynargs[0] = args[0];
        return oraclize_query(datasource, dynargs, gaslimit);
    }

    function oraclize_query(string datasource, string[2] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](2);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        return oraclize_query(datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[2] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](2);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        return oraclize_query(timestamp, datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[2] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](2);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        return oraclize_query(timestamp, datasource, dynargs, gaslimit);
    }
    function oraclize_query(string datasource, string[2] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](2);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        return oraclize_query(datasource, dynargs, gaslimit);
    }
    function oraclize_query(string datasource, string[3] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](3);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        return oraclize_query(datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[3] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](3);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        return oraclize_query(timestamp, datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[3] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](3);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        return oraclize_query(timestamp, datasource, dynargs, gaslimit);
    }
    function oraclize_query(string datasource, string[3] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](3);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        return oraclize_query(datasource, dynargs, gaslimit);
    }

    function oraclize_query(string datasource, string[4] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](4);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        dynargs[3] = args[3];
        return oraclize_query(datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[4] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](4);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        dynargs[3] = args[3];
        return oraclize_query(timestamp, datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[4] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](4);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        dynargs[3] = args[3];
        return oraclize_query(timestamp, datasource, dynargs, gaslimit);
    }
    function oraclize_query(string datasource, string[4] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](4);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        dynargs[3] = args[3];
        return oraclize_query(datasource, dynargs, gaslimit);
    }
    function oraclize_query(string datasource, string[5] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](5);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        dynargs[3] = args[3];
        dynargs[4] = args[4];
        return oraclize_query(datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[5] args) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](5);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        dynargs[3] = args[3];
        dynargs[4] = args[4];
        return oraclize_query(timestamp, datasource, dynargs);
    }
    function oraclize_query(uint timestamp, string datasource, string[5] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](5);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        dynargs[3] = args[3];
        dynargs[4] = args[4];
        return oraclize_query(timestamp, datasource, dynargs, gaslimit);
    }
    function oraclize_query(string datasource, string[5] args, uint gaslimit) oraclizeAPI internal returns (bytes32 id) {
        string[] memory dynargs = new string[](5);
        dynargs[0] = args[0];
        dynargs[1] = args[1];
        dynargs[2] = args[2];
        dynargs[3] = args[3];
        dynargs[4] = args[4];
        return oraclize_query(datasource, dynargs, gaslimit);
    }

    function oraclize_cbAddress() oraclizeAPI internal returns (address){
        return oraclize.cbAddress();
    }
    function oraclize_setProof(byte proofP) oraclizeAPI internal {
        return oraclize.setProofType(proofP);
    }
    function oraclize_setCustomGasPrice(uint gasPrice) oraclizeAPI internal {
        return oraclize.setCustomGasPrice(gasPrice);
    }
    function oraclize_setConfig(bytes32 config) oraclizeAPI internal {
        return oraclize.setConfig(config);
    }

    function getCodeSize(address _addr) constant internal returns(uint _size) {
        assembly {
            _size := extcodesize(_addr)
        }
    }

    function parseAddr(string _a) internal returns (address){
        bytes memory tmp = bytes(_a);
        uint160 iaddr = 0;
        uint160 b1;
        uint160 b2;
        for (uint i=2; i<2+2*20; i+=2){
            iaddr *= 256;
            b1 = uint160(tmp[i]);
            b2 = uint160(tmp[i+1]);
            if ((b1 >= 97)&&(b1 <= 102)) b1 -= 87;
            else if ((b1 >= 48)&&(b1 <= 57)) b1 -= 48;
            if ((b2 >= 97)&&(b2 <= 102)) b2 -= 87;
            else if ((b2 >= 48)&&(b2 <= 57)) b2 -= 48;
            iaddr += (b1*16+b2);
        }
        return address(iaddr);
    }

    function strCompare(string _a, string _b) internal returns (int) {
        bytes memory a = bytes(_a);
        bytes memory b = bytes(_b);
        uint minLength = a.length;
        if (b.length < minLength) minLength = b.length;
        for (uint i = 0; i < minLength; i ++)
            if (a[i] < b[i])
                return -1;
            else if (a[i] > b[i])
                return 1;
        if (a.length < b.length)
            return -1;
        else if (a.length > b.length)
            return 1;
        else
            return 0;
    }

    function indexOf(string _haystack, string _needle) internal returns (int) {
        bytes memory h = bytes(_haystack);
        bytes memory n = bytes(_needle);
        if(h.length < 1 || n.length < 1 || (n.length > h.length))
            return -1;
        else if(h.length > (2**128 -1))
            return -1;
        else
        {
            uint subindex = 0;
            for (uint i = 0; i < h.length; i ++)
            {
                if (h[i] == n[0])
                {
                    subindex = 1;
                    while(subindex < n.length && (i + subindex) < h.length && h[i + subindex] == n[subindex])
                    {
                        subindex++;
                    }
                    if(subindex == n.length)
                        return int(i);
                }
            }
            return -1;
        }
    }

    function strConcat(string _a, string _b, string _c, string _d, string _e) internal returns (string) {
        bytes memory _ba = bytes(_a);
        bytes memory _bb = bytes(_b);
        bytes memory _bc = bytes(_c);
        bytes memory _bd = bytes(_d);
        bytes memory _be = bytes(_e);
        string memory abcde = new string(_ba.length + _bb.length + _bc.length + _bd.length + _be.length);
        bytes memory babcde = bytes(abcde);
        uint k = 0;
        for (uint i = 0; i < _ba.length; i++) babcde[k++] = _ba[i];
        for (i = 0; i < _bb.length; i++) babcde[k++] = _bb[i];
        for (i = 0; i < _bc.length; i++) babcde[k++] = _bc[i];
        for (i = 0; i < _bd.length; i++) babcde[k++] = _bd[i];
        for (i = 0; i < _be.length; i++) babcde[k++] = _be[i];
        return string(babcde);
    }

    function strConcat(string _a, string _b, string _c, string _d) internal returns (string) {
        return strConcat(_a, _b, _c, _d, "");
    }

    function strConcat(string _a, string _b, string _c) internal returns (string) {
        return strConcat(_a, _b, _c, "", "");
    }

    function strConcat(string _a, string _b) internal returns (string) {
        return strConcat(_a, _b, "", "", "");
    }

    // parseInt
    function parseInt(string _a) internal returns (uint) {
        return parseInt(_a, 0);
    }

    // parseInt(parseFloat*10^_b)
    function parseInt(string _a, uint _b) internal returns (uint) {
        bytes memory bresult = bytes(_a);
        uint mint = 0;
        bool decimals = false;
        for (uint i=0; i<bresult.length; i++){
            if ((bresult[i] >= 48)&&(bresult[i] <= 57)){
                if (decimals){
                   if (_b == 0) break;
                    else _b--;
                }
                mint *= 10;
                mint += uint(bresult[i]) - 48;
            } else if (bresult[i] == 46) decimals = true;
        }
        if (_b > 0) mint *= 10**_b;
        return mint;
    }

    function uint2str(uint i) internal returns (string){
        if (i == 0) return "0";
        uint j = i;
        uint len;
        while (j != 0){
            len++;
            j /= 10;
        }
        bytes memory bstr = new bytes(len);
        uint k = len - 1;
        while (i != 0){
            bstr[k--] = byte(48 + i % 10);
            i /= 10;
        }
        return string(bstr);
    }

    function stra2cbor(string[] arr) internal returns (bytes) {
            uint arrlen = arr.length;

            // get correct cbor output length
            uint outputlen = 0;
            bytes[] memory elemArray = new bytes[](arrlen);
            for (uint i = 0; i < arrlen; i++) {
                elemArray[i] = (bytes(arr[i]));
                outputlen += elemArray[i].length + (elemArray[i].length - 1)/23 + 3; //+3 accounts for paired identifier types
            }
            uint ctr = 0;
            uint cborlen = arrlen + 0x80;
            outputlen += byte(cborlen).length;
            bytes memory res = new bytes(outputlen);

            while (byte(cborlen).length > ctr) {
                res[ctr] = byte(cborlen)[ctr];
                ctr++;
            }
            for (i = 0; i < arrlen; i++) {
                res[ctr] = 0x5F;
                ctr++;
                for (uint x = 0; x < elemArray[i].length; x++) {
                    // if there's a bug with larger strings, this may be the culprit
                    if (x % 23 == 0) {
                        uint elemcborlen = elemArray[i].length - x >= 24 ? 23 : elemArray[i].length - x;
                        elemcborlen += 0x40;
                        uint lctr = ctr;
                        while (byte(elemcborlen).length > ctr - lctr) {
                            res[ctr] = byte(elemcborlen)[ctr - lctr];
                            ctr++;
                        }
                    }
                    res[ctr] = elemArray[i][x];
                    ctr++;
                }
                res[ctr] = 0xFF;
                ctr++;
            }
            return res;
        }
}
/* =========================================================================================================*/
/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns(uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns(uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns(uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns(uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

contract ERC20 {
    function totalSupply()public view returns(uint total_Supply);
    function balanceOf(address who)public view returns(uint256);
    function allowance(address owner, address spender)public view returns(uint);
    function transferFrom(address from, address to, uint value)public returns(bool ok);
    function approve(address spender, uint value)public returns(bool ok);
    function transfer(address to, uint value)public returns(bool ok);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

/*
** OutCloud Contract begins here 
**/
contract OutCloud is ERC20, usingOraclize {
    using SafeMath for uint256;
    uint ETHUSD;
    uint _totalsupply = 1200000000 * 10 ** 18; // 1.2 Billion OUT Coins
    uint currentTokenPriceFactor;
    uint256 no_of_tokens;
    uint256 total_token;
    uint256 public ico_startdate;
    uint256 public preico_startdate;
    uint256 public preico_enddate;
    uint256 constant public ETH_DECIMALS = 10 ** 18;
    uint256 ethreceived;
    uint256 TotalICOSupply;
    uint256 TotalPREICOSupply;
    uint256 ReservedSupplies;
    uint256 minContribution = 1; // 1 USD  (1 USD = 100 cents) 
    uint256 rate;
    uint256 weiAmount;
    bool stopped = false;
    bool public lockstatus;
    string public constant name = "OutCloud";
    string public constant symbol = "OUT";
    string public ethereum2USDprice;
    address sen;
    address public owner;
    address public wallet; // address to receive ether from smart contract
    mapping(address => uint) balances;
    mapping(address => mapping(address => uint)) allowed;
    event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount);
    event LogPriceUpdated(string price);
    event LogNewOraclizeQuery(string description);
    enum Stages {
        NOTSTARTED,
        PREICO,
        ICO,
        ENDED
    }
    Stages public stage;
    
    modifier atStage(Stages _stage) {
        require (stage == _stage);
        _;
    }

    modifier onlyOwner(){
        require (msg.sender == owner);
     _;
    }
  
    function OutCloud(address _owner, address _wallet) public {
        owner = _owner;
		wallet = _wallet;
        TotalICOSupply = 400000000 * 10 ** 18;
        TotalPREICOSupply = 300000000 * 10 ** 18;
        ReservedSupplies = 500000000 * 10 ** 18;
        balances[this] = _totalsupply;  // 500 Million given to owner
        stage = Stages.NOTSTARTED;
        lockstatus = true;
        Transfer(0, this, _totalsupply);
    }
 
    function () public payable {
        buyTokens();
    }
    function __callback(bytes32 myid, string result) {
    if (msg.sender != oraclize_cbAddress()) revert();
        ethereum2USDprice = result;
        ETHUSD = parseInt(result,0);
        LogPriceUpdated(result);
        if(ETHUSD > 0){
            _pro(sen, weiAmount);
        }
    }

    function updatePrice() public payable {
        if (oraclize_getPrice("json(https://api.kraken.com/0/public/Ticker?pair=ETHUSD).result.XETHZUSD.c.0") > this.balance) {
            LogNewOraclizeQuery("Oraclize query was NOT sent, please add some ETH to cover for the query fee");
        revert();
            
        }
        else {
        LogNewOraclizeQuery("Oraclize query was sent, standing by for the answer..");
        oraclize_query("URL","json(https://api.kraken.com/0/public/Ticker?pair=ETHUSD).result.XETHZUSD.c.0");
        }
    }

    function buyTokens() public payable {
        sen = msg.sender;
        weiAmount = msg.value;
        _preValidatePurchase(sen, weiAmount);
        updatePrice();
    }
    
    function _pro (address _beneficiary, uint256 weiAmount) internal {
        // calculate token amount to sell
        uint256 tokens = _getTokenAmount(weiAmount);
        // update state
        ethreceived = ethreceived.add(weiAmount);

        _processPurchase(_beneficiary, tokens);
        TokenPurchase(this, _beneficiary, weiAmount, tokens);

    //    _forwardFunds();
        
    }
    
    function _preValidatePurchase(address _beneficiary, uint256 _weiAmount) internal view {
      //  require(_weiAmount >= _calculateMinimumprice());
        require(stage != Stages.ENDED);
        require(!stopped);
        require(_beneficiary != address(0x0));
        require(_weiAmount != 0);
        require(_weiAmount >= (minContribution.mul(ETH_DECIMALS)).div(300));
    }
    /* calculates the minimum requirements of weis (10USD) according to current rate of ETH TO USD*/
   /* function _calculateMinimumprice() internal view returns (uint256){
        uint256 minimumWeisRequired;
        if(ETHUSD > 0){minimumWeisRequired = (minContribution.mul(ETH_DECIMALS)).div(ETHUSD);}
        else{minimumWeisRequired = (minContribution.mul(ETH_DECIMALS)).div(300);}
        return minimumWeisRequired;
    } */
    
    function _getTokenAmount(uint256 _weiAmount) internal returns (uint256) {
        _setRate();
        return _weiAmount.mul(rate);
    }
    
    function _setRate() internal{
        uint256 ETHUSD = parseInt(ethereum2USDprice,0);
        // check which stage is open (pre-ico or ico)
        if (stage == Stages.PREICO && now <= preico_enddate){
            require(balances[this] != _totalsupply.sub(TotalPREICOSupply));
            // pre-ico is open
            currentTokenPriceFactor = (block.timestamp.sub(preico_startdate)).div(604800); // 1 week time period in seconds
            if (currentTokenPriceFactor== 0)       // week 1 
                _setPriceFactor(10, ETHUSD);                     
            else if (currentTokenPriceFactor == 1) // week 2
                 _setPriceFactor(11, ETHUSD);                    
            else if (currentTokenPriceFactor ==2 ) // week 3
                 _setPriceFactor(12, ETHUSD);                      
            else if (currentTokenPriceFactor == 3) // week 4
                 _setPriceFactor(13, ETHUSD);                      
        }
        else  if (stage == Stages.ICO ){
            require(balances[this] != _totalsupply.sub(TotalICOSupply.add(TotalPREICOSupply)));
            _setPriceFactor(15, ETHUSD); // ICO started
        } 
        else {
            revert();
        }
    }
  
    function _setPriceFactor(uint cents, uint256 ETHUSD) internal {
      uint256 ETHUSD2CENTS = ETHUSD.mul(100); // convert USD price per ethers to cents
      uint256 tokenRatePerWei = ETHUSD2CENTS.div(cents); // calculates the rate of the tokens to be given per wei, checking the rate in cents  
      rate = tokenRatePerWei;
  }
  
    function _processPurchase(address _beneficiary, uint256 _tokenAmount) internal {
        _deliverTokens(_beneficiary, _tokenAmount);
    }
  
    function _forwardFunds() internal {
        wallet.transfer(address(this).balance);
    }
    
    function _deliverTokens(address _beneficiary, uint256 _tokenAmount) internal {
        _transfer(_beneficiary,_tokenAmount);
    }
    // called by the owner, pause ICO
    function StopICO() external onlyOwner  {
        stopped = true;

    }

    // called by the owner , resumes ICO
    function releaseICO() external onlyOwner{
        stopped = false;
    }
    
    function setEthmainAddress(address newEthfundaddress) external onlyOwner{
        wallet = newEthfundaddress;
    }
 
    function start_PREICO() external onlyOwner atStage(Stages.NOTSTARTED){
        stage = Stages.PREICO;
        stopped = false;
        preico_startdate = now;
        preico_enddate = now + 28 days; //time period for preICO = 4 weeks
    }
    
    function start_ICO() external onlyOwner atStage(Stages.PREICO){
        stage = Stages.ICO;
        stopped = false;
        ico_startdate = now;
    }

    function end_ICO() external onlyOwner atStage(Stages.ICO){
        stage = Stages.ENDED;
        lockstatus = false;
        
    }
    
   // This function can be used by owner in emergency to update running status parameter
    function removeLocking(bool RunningStatusLock) external onlyOwner{
        lockstatus = RunningStatusLock;
    }

    // what is the total supply of the ech tokens
    function totalSupply() public view returns(uint256 total_Supply) {
        total_Supply = _totalsupply;
    }

    // What is the balance of a particular account?
    function balanceOf(address _owner)public view returns(uint256 balance) {
        return balances[_owner];
    }

    // Send _value amount of tokens from address _from to address _to
    // The transferFrom method is used for a withdraw workflow, allowing contracts to send
    // tokens on your behalf, for example to "deposit" to a contract address and/or to charge
    // fees in sub-currencies; the command should fail unless the _from account has
    // deliberately authorized the sender of the message via some mechanism; we propose
    // these standardized APIs for approval:
    function transferFrom(address _from, address _to, uint256 _amount)public returns(bool success) {
        require(_to != 0x0);
        require(balances[_from] >= _amount && allowed[_from][msg.sender] >= _amount && _amount >= 0);
        balances[_from] = (balances[_from]).sub(_amount);
        allowed[_from][msg.sender] = (allowed[_from][msg.sender]).sub(_amount);
        balances[_to] = (balances[_to]).add(_amount);
        Transfer(_from, _to, _amount);
        return true;
    }

    // Allow _spender to withdraw from your account, multiple times, up to the _value amount.
    // If this function is called again it overwrites the current allowance with _value.
    function approve(address _spender, uint256 _amount)public returns(bool success) {
        require(_spender != 0x0);
        require( !lockstatus);
        allowed[msg.sender][_spender] = _amount;
        Approval(msg.sender, _spender, _amount);
        return true;
    }

    function allowance(address _owner, address _spender)public view returns(uint256 remaining) {
        require(_owner != 0x0 && _spender != 0x0);
        return allowed[_owner][_spender];
    }
    
    // Transfer the balance from owner's account to another account
    function transfer(address _to, uint256 _amount) public returns(bool success) {
       
       if ( lockstatus && msg.sender == owner) {
            require(balances[msg.sender] >= _amount && _amount >= 0);
            balances[msg.sender] = balances[msg.sender].sub(_amount);
            balances[_to] += _amount;
            Transfer(msg.sender, _to, _amount);
            return true;
        }
      
          else if(!lockstatus)
         {
           require(balances[msg.sender] >= _amount && _amount >= 0);
           balances[msg.sender] = (balances[msg.sender]).sub(_amount);
           balances[_to] = (balances[_to]).add(_amount);
           Transfer(msg.sender, _to, _amount);
           return true;
          }

        else{
            revert();
        }
    }

    //In case the ownership needs to be transferred
	function transferOwnership(address newOwner)public onlyOwner{
	    require( newOwner != 0x0);
	    balances[newOwner] = (balances[newOwner]).add(balances[owner]);
	    balances[owner] = 0;
	    owner = newOwner;
	    Transfer(msg.sender, newOwner, balances[newOwner]);
	}
    
    function _transfer(address _to, uint _tokens) internal returns (bool success){
        // prevent transfer to 0x0, use burn instead
        require(_to != 0x0);
        require(balances[this] >= _tokens);
        require(balances[_to] + _tokens >= balances[_to]);
        balances[this] = balances[this].sub(_tokens);
        balances[_to] = balances[_to].add(_tokens);
        Transfer(this,_to,_tokens);
        return true;
    }
    
    function freeTokens(address receiver, uint tokenAmount) external onlyOwner {
        require(balances[this] != 0);
        _transfer(receiver,tokenAmount.mul(ETH_DECIMALS));
    }
    
    function drainFunds() external onlyOwner {
        _forwardFunds();
    }
}

    Contract ABI  
[{"constant":false,"inputs":[],"name":"end_ICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"releaseICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total_Supply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico_startdate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"myid","type":"bytes32"},{"name":"result","type":"string"}],"name":"__callback","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"myid","type":"bytes32"},{"name":"result","type":"string"},{"name":"proof","type":"bytes"}],"name":"__callback","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"StopICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start_PREICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newEthfundaddress","type":"address"}],"name":"setEthmainAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"updatePrice","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"drainFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start_ICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ETH_DECIMALS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"RunningStatusLock","type":"bool"}],"name":"removeLocking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stage","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preico_startdate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethereum2USDprice","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"preico_enddate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lockstatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"tokenAmount","type":"uint256"}],"name":"freeTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"price","type":"string"}],"name":"LogPriceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"description","type":"string"}],"name":"LogNewOraclizeQuery","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526b03e09de2596099e2b00000006003556001600e556000601160006101000a81548160ff021916908315150217905550341561003f57600080fd5b604051604080613cac8339810160405280805190602001909190805190602001909190505081601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b014adf4b7320334b90000000600b819055506af8277896582678ac000000600c819055506b019d971e4fe8401e74000000600d81905550600354601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601860006101000a81548160ff0219169083600381111561018357fe5b02179055506001601160016101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040518082815260200191505060405180910390a35050613aa6806102066000396000f30060606040526004361061018b576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302c3d7f61461019557806306fdde03146101aa578063095ea7b314610238578063124d33961461029257806318160ddd146102a7578063203a318f146102d057806323b872dd146102f957806327dc297e1461037257806338bbfa50146103dc5780633dbedbd414610489578063405df3381461049e578063521eb273146104b357806359d1b1c214610508578063673a7e281461054157806370a082311461054b578063733ef93614610598578063807d2da3146105ad5780638da5cb5b146105c257806392cd1ff21461061757806395d89b411461064057806397f3bb0c146106ce578063a9059cbb146106f3578063c040e6b81461074d578063c2d9c19614610784578063cf4246a6146107ad578063d0febe4c1461083b578063d8da708f14610845578063dd62ed3e1461086e578063f0947680146108da578063f2fde38b14610907578063fbcece8514610940575b610193610982565b005b34156101a057600080fd5b6101a8610a02565b005b34156101b557600080fd5b6101bd610ad5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fd5780820151818401526020810190506101e2565b50505050905090810190601f16801561022a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561024357600080fd5b610278600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b0e565b604051808215151515815260200191505060405180910390f35b341561029d57600080fd5b6102a5610c41565b005b34156102b257600080fd5b6102ba610cba565b6040518082815260200191505060405180910390f35b34156102db57600080fd5b6102e3610cc4565b6040518082815260200191505060405180910390f35b341561030457600080fd5b610358600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cca565b604051808215151515815260200191505060405180910390f35b341561037d57600080fd5b6103da60048080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061107d565b005b34156103e757600080fd5b61048760048080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506111c0565b005b341561049457600080fd5b61049c6111c5565b005b34156104a957600080fd5b6104b161123e565b005b34156104be57600080fd5b6104c6611324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051357600080fd5b61053f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061134a565b005b6105496113ea565b005b341561055657600080fd5b610582600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061169e565b6040518082815260200191505060405180910390f35b34156105a357600080fd5b6105ab6116e7565b005b34156105b857600080fd5b6105c061174d565b005b34156105cd57600080fd5b6105d5611827565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561062257600080fd5b61062a61184d565b6040518082815260200191505060405180910390f35b341561064b57600080fd5b610653611859565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610693578082015181840152602081019050610678565b50505050905090810190601f1680156106c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106d957600080fd5b6106f160048080351515906020019091905050611892565b005b34156106fe57600080fd5b610733600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061190b565b604051808215151515815260200191505060405180910390f35b341561075857600080fd5b610760611d3a565b6040518082600381111561077057fe5b60ff16815260200191505060405180910390f35b341561078f57600080fd5b610797611d4d565b6040518082815260200191505060405180910390f35b34156107b857600080fd5b6107c0611d53565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108005780820151818401526020810190506107e5565b50505050905090810190601f16801561082d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610843610982565b005b341561085057600080fd5b610858611df1565b6040518082815260200191505060405180910390f35b341561087957600080fd5b6108c4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611df7565b6040518082815260200191505060405180910390f35b34156108e557600080fd5b6108ed611ec6565b604051808215151515815260200191505060405180910390f35b341561091257600080fd5b61093e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ed9565b005b341561094b57600080fd5b610980600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506121a0565b005b33601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550346010819055506109f8601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601054612274565b610a006113ea565b565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a5e57600080fd5b6002806003811115610a6c57fe5b601860009054906101000a900460ff166003811115610a8757fe5b141515610a9357600080fd5b6003601860006101000a81548160ff02191690836003811115610ab257fe5b02179055506000601160016101000a81548160ff02191690831515021790555050565b6040805190810160405280600881526020017f4f7574436c6f756400000000000000000000000000000000000000000000000081525081565b6000808373ffffffffffffffffffffffffffffffffffffffff1614151515610b3557600080fd5b601160019054906101000a900460ff16151515610b5157600080fd5b81601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c9d57600080fd5b6000601160006101000a81548160ff021916908315150217905550565b6000600354905090565b60075481565b6000808373ffffffffffffffffffffffffffffffffffffffff1614151515610cf157600080fd5b81601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610dbc575081601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610dc9575060008210155b1515610dd457600080fd5b610e2682601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235390919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ef882601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235390919063ffffffff16565b601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fca82601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236c90919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b61108561238a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110be57600080fd5b80601290805190602001906110d49291906139c1565b506110e08160006125a1565b6002819055507f71f1a5645e51a2da828ffcf79cc17da88eb25e1bca8b9dced23210847a4769c1816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561114857808201518184015260208101905061112d565b50505050905090810190601f1680156111755780820380516001836020036101000a031916815260200191505b509250505060405180910390a1600060025411156111bc576111bb601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660105461289b565b5b5050565b505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122157600080fd5b6001601160006101000a81548160ff021916908315150217905550565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561129a57600080fd5b60008060038111156112a857fe5b601860009054906101000a900460ff1660038111156112c357fe5b1415156112cf57600080fd5b6001601860006101000a81548160ff021916908360038111156112ee57fe5b02179055506000601160006101000a81548160ff021916908315150217905550426008819055506224ea00420160098190555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a657600080fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3073ffffffffffffffffffffffffffffffffffffffff163161148d608060405190810160405280604c81526020017f6a736f6e2868747470733a2f2f6170692e6b72616b656e2e636f6d2f302f707581526020017f626c69632f5469636b65723f706169723d455448555344292e726573756c742e81526020017f584554485a5553442e632e30000000000000000000000000000000000000000081525061293f565b111561154c577f621c2856e3b87f81235f8ac8a22bbb40a0142961960710d00b2b6c380902b57e60405180806020018281038252604b8152602001807f4f7261636c697a6520717565727920776173204e4f542073656e742c20706c6581526020017f6173652061646420736f6d652045544820746f20636f76657220666f7220746881526020017f652071756572792066656500000000000000000000000000000000000000000081525060600191505060405180910390a1600080fd5b7f621c2856e3b87f81235f8ac8a22bbb40a0142961960710d00b2b6c380902b57e6040518080602001828103825260358152602001807f4f7261636c697a65207175657279207761732073656e742c207374616e64696e81526020017f6720627920666f722074686520616e737765722e2e000000000000000000000081525060400191505060405180910390a161169b6040805190810160405280600381526020017f55524c0000000000000000000000000000000000000000000000000000000000815250608060405190810160405280604c81526020017f6a736f6e2868747470733a2f2f6170692e6b72616b656e2e636f6d2f302f707581526020017f626c69632f5469636b65723f706169723d455448555344292e726573756c742e81526020017f584554485a5553442e632e300000000000000000000000000000000000000000815250612bc8565b50565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174357600080fd5b61174b61300b565b565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117a957600080fd5b60018060038111156117b757fe5b601860009054906101000a900460ff1660038111156117d257fe5b1415156117de57600080fd5b6002601860006101000a81548160ff021916908360038111156117fd57fe5b02179055506000601160006101000a81548160ff0219169083151502179055504260078190555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b670de0b6b3a764000081565b6040805190810160405280600381526020017f4f5554000000000000000000000000000000000000000000000000000000000081525081565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118ee57600080fd5b80601160016101000a81548160ff02191690831515021790555050565b6000601160019054906101000a900460ff1680156119765750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15611b265781601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156119cb575060008210155b15156119d657600080fd5b611a2882601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235390919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611d34565b601160019054906101000a900460ff161515611d2f5781601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611b8c575060008210155b1515611b9757600080fd5b611be982601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235390919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7e82601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236c90919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611d34565b600080fd5b92915050565b601860009054906101000a900460ff1681565b60085481565b60128054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611de95780601f10611dbe57610100808354040283529160200191611de9565b820191906000526020600020905b815481529060010190602001808311611dcc57829003601f168201915b505050505081565b60095481565b6000808373ffffffffffffffffffffffffffffffffffffffff1614158015611e36575060008273ffffffffffffffffffffffffffffffffffffffff1614155b1515611e4157600080fd5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601160019054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3557600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515611f5b57600080fd5b61200e60166000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236c90919063ffffffff16565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060166000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a350565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121fc57600080fd5b6000601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415151561224b57600080fd5b61226f8261226a670de0b6b3a76400008461308690919063ffffffff16565b6130c1565b505050565b60038081111561228057fe5b601860009054906101000a900460ff16600381111561229b57fe5b141515156122a857600080fd5b601160009054906101000a900460ff161515156122c457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561230057600080fd5b6000811415151561231057600080fd5b61234161012c612333670de0b6b3a7640000600e5461308690919063ffffffff16565b61335e90919063ffffffff16565b811015151561234f57600080fd5b5050565b600082821115151561236157fe5b818303905092915050565b600080828401905083811015151561238057fe5b8091505092915050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806123fa575060006123f86000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613379565b145b1561240b576124096000613384565b505b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561249857600080fd5b6102c65a03f115156124a957600080fd5b50505060405180519050600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c281d19e6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561258157600080fd5b6102c65a03f1151561259257600080fd5b50505060405180519050905090565b60006125ab613a41565b60008060008693506000925060009150600090505b835181101561287c5760307f01000000000000000000000000000000000000000000000000000000000000000284828151811015156125fb57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015612713575060397f01000000000000000000000000000000000000000000000000000000000000000284828151811015156126a357fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b156127c457811561273657600086141561272c5761287c565b8580600190039650505b600a830292506030848281518110151561274c57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004038301925061286f565b602e7f01000000000000000000000000000000000000000000000000000000000000000284828151811015156127f657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561286e57600191505b5b80806001019150506125c0565b600086111561288e5785600a0a830292505b8294505050505092915050565b60006128a68261369b565b90506128bd82600a5461236c90919063ffffffff16565b600a819055506128cd83826136c1565b8273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806129af575060006129ad6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613379565b145b156129c0576129be6000613384565b505b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515612a4d57600080fd5b6102c65a03f11515612a5e57600080fd5b50505060405180519050600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663524f3889836000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b5b578082015181840152602081019050612b40565b50505050905090810190601f168015612b885780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1515612ba657600080fd5b6102c65a03f11515612bb757600080fd5b505050604051805190509050919050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612c3a57506000612c386000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613379565b145b15612c4b57612c496000613384565b505b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515612cd857600080fd5b6102c65a03f11515612ce957600080fd5b50505060405180519050600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663524f3889856000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612de6578082015181840152602081019050612dcb565b50505050905090810190601f168015612e135780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1515612e3157600080fd5b6102c65a03f11515612e4257600080fd5b50505060405180519050905062030d403a02670de0b6b3a764000001811115612e715760006001029150613004565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663adf59f9982600087876000604051602001526040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612f32578082015181840152602081019050612f17565b50505050905090810190601f168015612f5f5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612f98578082015181840152602081019050612f7d565b50505050905090810190601f168015612fc55780820380516001836020036101000a031916815260200191505b50955050505050506020604051808303818588803b1515612fe557600080fd5b6125ee5a03f11515612ff657600080fd5b505050506040518051905091505b5092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561308457600080fd5b565b600080600084141561309b57600091506130ba565b82840290508284828115156130ac57fe5b041415156130b657fe5b8091505b5092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff16141515156130e857600080fd5b81601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561313657600080fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101515156131c557600080fd5b61321782601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235390919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132ac82601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236c90919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080828481151561336c57fe5b0490508091505092915050565b6000813b9050919050565b6000806133a4731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed613379565b111561340757731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613696565b600061342673c03a2615d5efaf5f49f60b7bb6583eaec212fdf1613379565b11156134895773c03a2615d5efaf5f49f60b7bb6583eaec212fdf16000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613696565b60006134a873b7a07bcf2ba2f2703b24c0691b5278999c59ac7e613379565b111561350b5773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613696565b600061352a736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475613379565b111561358d57736f485c8bf6fc43ea212e93bbf8ce046c7f1cb4756000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613696565b60006135ac7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf613379565b111561360f577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613696565b600061362e7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa613379565b1115613691577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613696565b600090505b919050565b60006136a56136cf565b6136ba600f548361308690919063ffffffff16565b9050919050565b6136cb8282613977565b5050565b600061377660128054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561376a5780601f1061373f5761010080835404028352916020019161376a565b820191906000526020600020905b81548152906001019060200180831161374d57829003601f168201915b505050505060006125a1565b90506001600381111561378557fe5b601860009054906101000a900460ff1660038111156137a057fe5b1480156137af57506009544211155b156138b8576137cb600c5460035461235390919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415151561381857600080fd5b61384262093a806138346008544261235390919063ffffffff16565b61335e90919063ffffffff16565b600481905550600060045414156138635761385e600a82613986565b6138b3565b6001600454141561387e57613879600b82613986565b6138b2565b6002600454141561389957613894600c82613986565b6138b1565b600360045414156138b0576138af600d82613986565b5b5b5b5b613974565b600260038111156138c557fe5b601860009054906101000a900460ff1660038111156138e057fe5b141561396e57613911613900600c54600b5461236c90919063ffffffff16565b60035461235390919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415151561395e57600080fd5b613969600f82613986565b613973565b600080fd5b5b50565b61398182826130c1565b505050565b60008061399d60648461308690919063ffffffff16565b91506139b2848361335e90919063ffffffff16565b905080600f8190555050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613a0257805160ff1916838001178555613a30565b82800160010185558215613a30579182015b82811115613a2f578251825591602001919060010190613a14565b5b509050613a3d9190613a55565b5090565b602060405190810160405280600081525090565b613a7791905b80821115613a73576000816000905550600101613a5b565b5090565b905600a165627a7a7230582034069f4e340af428b482e09b8220b349e8f165d075ab95b2e8fb4c9e972616440029000000000000000000000000b9274b8caf7a40bd8a68a6cf67a0fa5abdb55e16000000000000000000000000bca409cad1d339267af01af0a49002e00e9be090

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b9274b8caf7a40bd8a68a6cf67a0fa5abdb55e16000000000000000000000000bca409cad1d339267af01af0a49002e00e9be090

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b9274b8caf7a40bd8a68a6cf67a0fa5abdb55e16
Arg [1] : 000000000000000000000000bca409cad1d339267af01af0a49002e00e9be090


   Swarm Source:
bzzr://34069f4e340af428b482e09b8220b349e8f165d075ab95b2e8fb4c9e97261644

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.