ETH Price: $3,349.25 (+0.42%)
Gas: 3.54 Gwei
 
Transaction Hash
Method
Block
From
To
Kill178437992023-08-04 19:47:59515 days ago1691178479IN
0x76BC9E61...120483BbB
0 ETH0.0005181222.0611159
Transfer31856222017-02-15 3:28:422876 days ago1487129322IN
0x76BC9E61...120483BbB
0.1 ETH0.004221
Transfer31811892017-02-14 9:59:342877 days ago1487066374IN
0x76BC9E61...120483BbB
0.1 ETH0.004221
Transfer31797622017-02-14 4:13:432877 days ago1487045623IN
0x76BC9E61...120483BbB
0.1 ETH0.004422
Transfer31765062017-02-13 15:20:552878 days ago1486999255IN
0x76BC9E61...120483BbB
0.1 ETH0.004422
Transfer31764972017-02-13 15:18:592878 days ago1486999139IN
0x76BC9E61...120483BbB
0.1 ETH0.004422
Collect Fees31761692017-02-13 13:57:462878 days ago1486994266IN
0x76BC9E61...120483BbB
0 ETH0.0012624741
__callback31714192017-02-12 19:10:412879 days ago1486926641IN
0x76BC9E61...120483BbB
0 ETH0.0008115220
Transfer31714162017-02-12 19:10:042879 days ago1486926604IN
0x76BC9E61...120483BbB
0.1 ETH0.0022692121
__callback31714112017-02-12 19:09:252879 days ago1486926565IN
0x76BC9E61...120483BbB
0 ETH0.0008115220
Transfer31714082017-02-12 19:08:232879 days ago1486926503IN
0x76BC9E61...120483BbB
0.1 ETH0.0022692121
__callback31691132017-02-12 10:04:412879 days ago1486893881IN
0x76BC9E61...120483BbB
0 ETH0.0008115220
Transfer31691112017-02-12 10:03:542879 days ago1486893834IN
0x76BC9E61...120483BbB
0.1 ETH0.0022692121
__callback31689882017-02-12 9:32:182879 days ago1486891938IN
0x76BC9E61...120483BbB
0 ETH0.0008115220
Transfer31689862017-02-12 9:31:322879 days ago1486891892IN
0x76BC9E61...120483BbB
0.2 ETH0.0023772722
__callback31689822017-02-12 9:30:422879 days ago1486891842IN
0x76BC9E61...120483BbB
0 ETH0.0008115220
Transfer31689762017-02-12 9:29:022879 days ago1486891742IN
0x76BC9E61...120483BbB
0.2 ETH0.0023772722
__callback31689742017-02-12 9:28:192879 days ago1486891699IN
0x76BC9E61...120483BbB
0 ETH0.0008115220
Transfer31689712017-02-12 9:28:012879 days ago1486891681IN
0x76BC9E61...120483BbB
0.2 ETH0.0023772722
__callback31689682017-02-12 9:27:222879 days ago1486891642IN
0x76BC9E61...120483BbB
0 ETH0.0008115220
Transfer31689662017-02-12 9:26:532879 days ago1486891613IN
0x76BC9E61...120483BbB
0.2 ETH0.0023772722
__callback31689632017-02-12 9:25:132879 days ago1486891513IN
0x76BC9E61...120483BbB
0 ETH0.0008102420
Transfer31689612017-02-12 9:24:442879 days ago1486891484IN
0x76BC9E61...120483BbB
0.1 ETH0.0023772722
__callback31689592017-02-12 9:24:202879 days ago1486891460IN
0x76BC9E61...120483BbB
0 ETH0.0008115220
Transfer31689572017-02-12 9:24:002879 days ago1486891440IN
0x76BC9E61...120483BbB
0.1 ETH0.0023772722
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
31761692017-02-13 13:57:462878 days ago1486994266
0x76BC9E61...120483BbB
47.76638192 ETH
31714192017-02-12 19:10:412879 days ago1486926641
0x76BC9E61...120483BbB
0.1 ETH
31714162017-02-12 19:10:042879 days ago1486926604
0x76BC9E61...120483BbB
0.00319331 ETH
31714112017-02-12 19:09:252879 days ago1486926565
0x76BC9E61...120483BbB
0.1 ETH
31714082017-02-12 19:08:232879 days ago1486926503
0x76BC9E61...120483BbB
0.00319331 ETH
31691132017-02-12 10:04:412879 days ago1486893881
0x76BC9E61...120483BbB
0.1 ETH
31691112017-02-12 10:03:542879 days ago1486893834
0x76BC9E61...120483BbB
0.00319331 ETH
31689882017-02-12 9:32:182879 days ago1486891938
0x76BC9E61...120483BbB
0.2 ETH
31689862017-02-12 9:31:322879 days ago1486891892
0x76BC9E61...120483BbB
0.00319331 ETH
31689822017-02-12 9:30:422879 days ago1486891842
0x76BC9E61...120483BbB
0.2 ETH
31689762017-02-12 9:29:022879 days ago1486891742
0x76BC9E61...120483BbB
0.00319331 ETH
31689742017-02-12 9:28:192879 days ago1486891699
0x76BC9E61...120483BbB
0.2 ETH
31689712017-02-12 9:28:012879 days ago1486891681
0x76BC9E61...120483BbB
0.00319331 ETH
31689682017-02-12 9:27:222879 days ago1486891642
0x76BC9E61...120483BbB
0.2 ETH
31689662017-02-12 9:26:532879 days ago1486891613
0x76BC9E61...120483BbB
0.00319331 ETH
31689632017-02-12 9:25:132879 days ago1486891513
0x76BC9E61...120483BbB
0.1 ETH
31689612017-02-12 9:24:442879 days ago1486891484
0x76BC9E61...120483BbB
0.00319331 ETH
31689592017-02-12 9:24:202879 days ago1486891460
0x76BC9E61...120483BbB
0.1 ETH
31689572017-02-12 9:24:002879 days ago1486891440
0x76BC9E61...120483BbB
0.00319331 ETH
31689542017-02-12 9:23:182879 days ago1486891398
0x76BC9E61...120483BbB
0.1 ETH
31689512017-02-12 9:22:212879 days ago1486891341
0x76BC9E61...120483BbB
0.00319331 ETH
31689452017-02-12 9:20:062879 days ago1486891206
0x76BC9E61...120483BbB
0.1 ETH
31689422017-02-12 9:19:142879 days ago1486891154
0x76BC9E61...120483BbB
0.00319331 ETH
31689392017-02-12 9:18:092879 days ago1486891089
0x76BC9E61...120483BbB
0.1 ETH
31689352017-02-12 9:17:162879 days ago1486891036
0x76BC9E61...120483BbB
0.00319331 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
slot

Compiler Version
v0.4.2+commit.af6afb04

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2016-10-20
*/

// <ORACLIZE_API>
/*
Copyright (c) 2015-2016 Oraclize srl, Thomas Bertani



Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:



The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.



THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/

pragma solidity ^0.4.0;

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 getPrice(string _datasource) returns (uint _dsprice);
    function getPrice(string _datasource, uint gaslimit) returns (uint _dsprice);
    function useCoupon(string _coupon);
    function setProofType(byte _proofType);
    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) 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){
            OAR = OraclizeAddrResolverI(0x1d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed);
            return true;
        }
        if (getCodeSize(0x9efbea6358bed926b293d2ce63a730d6d98d43dd)>0){
            OAR = OraclizeAddrResolverI(0x9efbea6358bed926b293d2ce63a730d6d98d43dd);
            return true;
        }
        if (getCodeSize(0x20e12a1f859b3feae5fb2a0a32c18f5a65555bbf)>0){
            OAR = OraclizeAddrResolverI(0x20e12a1f859b3feae5fb2a0a32c18f5a65555bbf);
            return true;
        }
        if (getCodeSize(0x9a1d6e5c6c8d081ac45c6af98b74a42442afba60)>0){
            OAR = OraclizeAddrResolverI(0x9a1d6e5c6c8d081ac45c6af98b74a42442afba60);
            return true;
        }
        return false;
    }
    
    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_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 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;
    }
    

}
// </ORACLIZE_API>






contract mortal {
    address owner;

    function mortal() {
        owner = msg.sender;
    }

    function kill() {
        if (msg.sender == owner) suicide(owner);
    }
}


contract slot is mortal, usingOraclize {
    /** which oraclize ID belong to which player address?**/
    mapping (bytes32 => address) players; 
    /** the amount of gas to be sent to oraclize**/
    uint32 public oraclizeGas;
    /** probabilities of the different results (absolute frequency out of 1.000.000 spins)**/
    uint32[] public probabilities;
    /** the prize per probability (shifted by two digits -> 375 is acutually 3.75)*/
    uint32[] public prizes;
    /** the amount of ether per bet **/
    mapping (bytes32 => uint) bets;
    /** tell the listeners the result
    first value: type, second value: player address, third value: oraclize ID**/
    event gameResult(uint, address);// 0-> %5; 1 -> 80%; 2 -> loss, 3->error in callback;

    
    /** **/
    function slot() payable{
        probabilities.push(4);
        probabilities.push(50);
        probabilities.push(200);
        probabilities.push(600);
        probabilities.push(1000);
        probabilities.push(2000);
        probabilities.push(4000);
        probabilities.push(30000);
        probabilities.push(90000);
        prizes.push(5000);
        prizes.push(2500);
        prizes.push(2000);
        prizes.push(1900);
        prizes.push(1800);
        prizes.push(1700);
        prizes.push(1600);
        prizes.push(1500);
        prizes.push(375);
        oraclizeGas = 100000;
    }
    
    /**
     * If more than 0.1 ether and less than 1 ether is sent and the contracts holds enough to pay out the player in case of a win, a random number is asked from oraclize.
     * */

    function() payable {
        if(msg.sender!=owner){//owner should be able to send funds to the contract anytime
            if(msg.value<100000000000000000||msg.value>1000000000000000000) throw;//bet has to lie between 0.1 and 1 ETH
            if(address(this).balance < msg.value/100*prizes[0]) throw; //make sure the contract is able to pay out the player in case he wins
            bytes32 oid = oraclize_query("URL","https://www.random.org/integers/?num=1&min=1&max=1000000&col=1&base=10&format=plain&rnd=new", oraclizeGas);
            bets[oid] = msg.value;
            players[oid] = msg.sender;
        }
    }

    /**
     * The random number from Oraclizes decides the game result.
     * If Oraclize sends a message instead of the requested number, the bet is returned to the player.
     * */
    function __callback(bytes32 myid, string result) {
        if (msg.sender != oraclize_cbAddress()) throw;
        if (players[myid]==0x0) throw;
        uint random = convertToInt(result);
        if(random==0){//result not a number, return bet
            if(!players[myid].send(bets[myid])) throw;
            gameResult(101,players[myid]);
            delete players[myid];
            return;
        }
        uint range = 0;
        for(uint i = 0; i<probabilities.length; i++){
            range+=probabilities[i];
            if(random<=range){
                if(!players[myid].send(bets[myid]/100*prizes[i])){
                    gameResult(100,players[myid]);//100 -> error
                    throw;
                } 
                gameResult(i, players[myid]);
                delete players[myid];
                return;
            }
        }

        //else player loses everything
        gameResult(probabilities.length, players[myid]);
        
        delete players[myid];
        
    }
    
    /**
     * sets the amount of gas to be sent to oraclize
     * */
    function setOraclizeGas(uint32 newGas){
        if(!(msg.sender==owner)) throw;
    	oraclizeGas = newGas;
    }
    
    /** set the probabilities of the results (absolute frequencies out of 1.000.000 spins) **/
    function setProbabilities(uint32[] probs){
        if(!(msg.sender==owner)) throw;
        probabilities=probs;
    }
    
    /** set the prizes of the results (shifted by 2 digits -> 375 means 3.75)**/
    function setPrizes(uint32[] priz){
        if(!(msg.sender==owner)) throw;
        prizes=priz;
    }
    
    /**
     * allows the owner to collect the accumulated losses
     * */
    function collectFees(uint amount){
        if(!(msg.sender==owner)) throw;
        if( address(this).balance < amount) throw;
        if(!owner.send(amount)) throw;
    }
    
    /**
     * converts a string to an integer (there may only be digits)
     * */
    function convertToInt(string _a) internal returns (uint) {
        bytes memory bresult = bytes(_a);
        uint mint = 0;
        for (uint i=0; i<bresult.length; i++){
            if ((bresult[i] >= 48)&&(bresult[i] <= 57)){
                mint *= 10;
                mint += uint(bresult[i]) - 48;
            } else if((bresult[i] >= 58)&&(bresult[i] <= 126)) return 0;//its a message, no pure int
        }
        return mint;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"myid","type":"bytes32"},{"name":"result","type":"string"}],"name":"__callback","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"oraclizeGas","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"priz","type":"uint32[]"}],"name":"setPrizes","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"probs","type":"uint32[]"}],"name":"setProbabilities","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newGas","type":"uint32"}],"name":"setOraclizeGas","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"collectFees","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"prizes","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"probabilities","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"inputs":[],"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"","type":"uint256"},{"indexed":false,"name":"","type":"address"}],"name":"gameResult","type":"event"}]

606060405260008054600160a060020a03191633179055600580546001810180835582818380158290116100bc5760070160089004816007016008900483600052602060002091820191016100bc91905b808211156101305760008155600101610050565b505050600092835260209092206008808304909101910660040281546101009190910a610177810263ffffffff90910219909116179055506004805463ffffffff1916620186a0179055610fbd806108836000396000f35b5050506000928352602090922060088083049091019106600402815460046101009290920a91820263ffffffff909202191617905550600580546001810180835582818380158290116101345760070160089004816007016008900483600052602060002091820191016101349190610050565b5090565b5050506000928352602090922060088083049091019106600402815460326101009290920a91820263ffffffff909202191617905550600580546001810180835582818380158290116101a85760070160089004816007016008900483600052602060002091820191016101a89190610050565b5050506000928352602090922060088083049091019106600402815460c86101009290920a91820263ffffffff9092021916179055506005805460018101808355828183801582901161021c57600701600890048160070160089004836000526020600020918201910161021c9190610050565b505050600092835260209092206008808304909101910660040281546102586101009290920a91820263ffffffff909202191617905550600580546001810180835582818380158290116102915760070160089004816007016008900483600052602060002091820191016102919190610050565b505050600092835260209092206008808304909101910660040281546103e86101009290920a91820263ffffffff909202191617905550600580546001810180835582818380158290116103065760070160089004816007016008900483600052602060002091820191016103069190610050565b505050600092835260209092206008808304909101910660040281546107d06101009290920a91820263ffffffff9092021916179055506005805460018101808355828183801582901161037b57600701600890048160070160089004836000526020600020918201910161037b9190610050565b50505060009283526020909220600880830490910191066004028154610fa06101009290920a91820263ffffffff909202191617905550600580546001810180835582818380158290116103f05760070160089004816007016008900483600052602060002091820191016103f09190610050565b505050600092835260209092206008808304909101910660040281546175306101009290920a91820263ffffffff909202191617905550600580546001810180835582818380158290116104655760070160089004816007016008900483600052602060002091820191016104659190610050565b5050506000928352602090922060088083049091019106600402815462015f906101009290920a91820263ffffffff909202191617905550600680546001810180835582818380158290116104db5760070160089004816007016008900483600052602060002091820191016104db9190610050565b505050600092835260209092206008808304909101910660040281546113886101009290920a91820263ffffffff909202191617905550600680546001810180835582818380158290116105505760070160089004816007016008900483600052602060002091820191016105509190610050565b505050600092835260209092206008808304909101910660040281546109c46101009290920a91820263ffffffff909202191617905550600680546001810180835582818380158290116105c55760070160089004816007016008900483600052602060002091820191016105c59190610050565b505050600092835260209092206008808304909101910660040281546107d06101009290920a91820263ffffffff9092021916179055506006805460018101808355828183801582901161063a57600701600890048160070160089004836000526020600020918201910161063a9190610050565b5050506000928352602090922060088083049091019106600402815461076c6101009290920a91820263ffffffff909202191617905550600680546001810180835582818380158290116106af5760070160089004816007016008900483600052602060002091820191016106af9190610050565b505050600092835260209092206008808304909101910660040281546107086101009290920a91820263ffffffff909202191617905550600680546001810180835582818380158290116107245760070160089004816007016008900483600052602060002091820191016107249190610050565b505050600092835260209092206008808304909101910660040281546106a46101009290920a91820263ffffffff909202191617905550600680546001810180835582818380158290116107995760070160089004816007016008900483600052602060002091820191016107999190610050565b505050600092835260209092206008808304909101910660040281546106406101009290920a91820263ffffffff9092021916179055506006805460018101808355828183801582901161080e57600701600890048160070160089004836000526020600020918201910161080e9190610050565b505050600092835260209092206008808304909101910660040281546105dc6101009290920a91820263ffffffff90920219161790555060068054600181018083558281838015829011610064576007016008900481600701600890048360005260206000209182019101610064919061005056606060405236156100775760e060020a600035046327dc297e81146100b85780633e9836c61461012f57806341c0e1b51461014357806353d97e65146101715780636e0d98fe146101d357806389ed0b3014610235578063b17acdcd1461025c578063eccb3a4f14610283578063f8833efd146102db575b6103336000805433600160a060020a039081169116146103635767016345785d8a00003410806100ae5750670de0b6b3a764000034115b1561036657610002565b346100025760408051602060248035600481810135601f81018590048502860185019096528585526103339581359591946044949293909201918190840183828082843750949650505050505050600060006000610804600154600090600160a060020a0316811415610e3357610e316000610499565b34610002576104ba60045463ffffffff1681565b3461000257610333600054600160a060020a03908116339091161415610b7457600054600160a060020a0316ff5b34610002576040805160048035808201356020818102808601820190965281855261033395939460249490938501929182919085019084908082843750949650505050505050600054600160a060020a039081163390911614610b7657610002565b34610002576040805160048035808201356020818102808601820190965281855261033395939460249490938501929182919085019084908082843750949650505050505050600054600160a060020a039081163390911614610c4957610002565b3461000257610333600435600054600160a060020a039081163390911614610ca257610002565b3461000257610333600435600054600160a060020a039081163390911614610cb457610002565b34610002576104ba600435600680548290811015610002575060005260088082047ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f015491066004026101000a900463ffffffff1681565b34610002576104ba600435600580548290811015610002575060005260088082047f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0015491066004026101000a900463ffffffff1681565b005b6000818152600760209081526040808320349055600390915290208054600160a060020a0319163317905590505b50565b6006805460009081101561000257600091825260209091206008808304919091015491066004026101000a900463ffffffff16606434040230600160a060020a03163110156103b457610002565b604080518082018252600381527f55524c00000000000000000000000000000000000000000000000000000000006020828101919091528251608081018452605b81527f68747470733a2f2f7777772e72616e646f6d2e6f72672f696e7465676572732f918101919091527f3f6e756d3d31266d696e3d31266d61783d3130303030303026636f6c3d312662928101929092527f6173653d313026666f726d61743d706c61696e26726e643d6e657700000000006060830152600454610335929063ffffffff166001546000908190600160a060020a03168114156104d6576104d460005b60006000610d06731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed5b3b90565b6040805163ffffffff929092168252519081900360200190f35b505b600160009054906101000a9004600160a060020a0316600160a060020a03166338cc48316000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100025760325a03f11561000257505060408051805160028054600160a060020a031916909117908190556000602092830181905283517f2ef3accc0000000000000000000000000000000000000000000000000000000081526024810189905260048181019586528b5160448301528b51600160a060020a03949094169650632ef3accc958c958b959194859460640193888301939283928692849287929190601f850104600302600f01f150905090810190601f1680156105fb5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b156100025760325a03f115610002575050604051519150503a8302670de0b6b3a76400000181111561064857600091505b509392505050565b600260009054906101000a9004600160a060020a0316600160a060020a031663c51be90f8260008888886000604051602001526040518660e060020a0281526004018085815260200180602001806020018481526020018381038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156106f75780820380516001836020036101000a031916815260200191505b508381038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156107505780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b156100025761235a5a03f115610002575050604051519350610640915050565b600554600086815260036020908152604080519281902054938352600160a060020a0393909316908201528151600080516020610f9d833981519152929181900390910190a1600360005060008660001916815260200190815260200160002060006101000a815490600160a060020a0302191690555b5050505050565b600160a060020a031633600160a060020a031614151561082357610002565b600085815260036020526040812054600160a060020a0316141561084657610002565b6109058460408051602081019091526000908190528181805b8251811015610f1f57603060f860020a028382815181101561000257016020015160f860020a9081900402600160f860020a031916108015906108cc5750603960f860020a028382815181101561000257016020015160f860020a9081900402600160f860020a03191611155b15610f2b57600a82029150815060308382815181101561000257016020015160f860020a9081900481020403909101905b60010161085f565b9250826000141561095a576000858152600360209081526040808320546007909252805190832054600160a060020a03929092169282156108fc02929190818181858888f193505050501515610a7d57610002565b5060009050805b60055481101561078657600580548290811015610002576000918252602090912060088083049091015491066004026101000a900463ffffffff1690910190818311610af55760008581526003602052604090205460068054600160a060020a0392909216916108fc9190849081101561000257906000526020600020906008918282040191900660040290546000898152600760205260409020546101009290920a900463ffffffff169060649004029081150290604051809050600060405180830381858888f193505050501515610afd5760008581526003602090815260408051928190205460648452600160a060020a0316918301919091528051600080516020610f9d8339815191529281900390910190a1610002565b60008581526003602090815260408051928190205460658452600160a060020a0316918301919091528051600080516020610f9d8339815191529281900390910190a1600360005060008660001916815260200190815260200160002060006101000a815490600160a060020a0302191690556107fd565b600101610961565b600085815260036020908152604080519281902054848452600160a060020a0316918301919091528051600080516020610f9d8339815191529281900390910190a1600360005060008660001916815260200190815260200160002060006101000a815490600160a060020a0302191690556107fd565b565b806006600050908051906020019082805482825590600052602060002090600701600890048101928215610bed5791602002820160005b83821115610c1057835183826101000a81548163ffffffff021916908302179055509260200192600401602081600301049283019260010302610bad565b505b50610c409291505b80821115610c4557805463ffffffff19168155600101610bf5565b8015610beb5782816101000a81549063ffffffff0219169055600401602081600301049283019260010302610c10565b505050565b5090565b806005600050908051906020019082805482825590600052602060002090600701600890048101928215610bed57916020028201600083821115610c1057509151815463ffffffff191617815560408501916004610bad565b6004805463ffffffff19168217905550565b8030600160a060020a0316311015610ccb57610002565b60405160008054600160a060020a0316916108fc84150291849190818181858888f19350505050151561036357610002565b5060005b919050565b1115610d38575060018054600160a060020a031916731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed178155610d01565b6000610d57739efbea6358bed926b293d2ce63a730d6d98d43dd6104b6565b1115610d8c575060018054739efbea6358bed926b293d2ce63a730d6d98d43dd600160a060020a031991909116178155610d01565b6000610dab7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf6104b6565b1115610de05750600180547320e12a1f859b3feae5fb2a0a32c18f5a65555bbf600160a060020a031991909116178155610d01565b6000610dff739a1d6e5c6c8d081ac45c6af98b74a42442afba606104b6565b1115610cfd575060018054600160a060020a031916739a1d6e5c6c8d081ac45c6af98b74a42442afba60178155610d01565b505b600160009054906101000a9004600160a060020a0316600160a060020a03166338cc48316000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100025760325a03f11561000257505060408051805160028054600160a060020a031916909117908190556000602092830181905283517fc281d19e0000000000000000000000000000000000000000000000000000000081529351600160a060020a0392909216945063c281d19e936004818101949392918390030190829087803b156100025760325a03f1156100025750506040515191505090565b8193505b505050919050565b603a60f860020a028382815181101561000257016020015160f860020a9081900402600160f860020a03191610801590610f8f5750607e60f860020a028382815181101561000257016020015160f860020a9081900402600160f860020a03191611155b156108fd5760009350610f2356568a807765db7b2c3f27d1157cf905be0d7503ba3c4a1d9818cc50ac4db8f25d

Deployed Bytecode

0x606060405236156100775760e060020a600035046327dc297e81146100b85780633e9836c61461012f57806341c0e1b51461014357806353d97e65146101715780636e0d98fe146101d357806389ed0b3014610235578063b17acdcd1461025c578063eccb3a4f14610283578063f8833efd146102db575b6103336000805433600160a060020a039081169116146103635767016345785d8a00003410806100ae5750670de0b6b3a764000034115b1561036657610002565b346100025760408051602060248035600481810135601f81018590048502860185019096528585526103339581359591946044949293909201918190840183828082843750949650505050505050600060006000610804600154600090600160a060020a0316811415610e3357610e316000610499565b34610002576104ba60045463ffffffff1681565b3461000257610333600054600160a060020a03908116339091161415610b7457600054600160a060020a0316ff5b34610002576040805160048035808201356020818102808601820190965281855261033395939460249490938501929182919085019084908082843750949650505050505050600054600160a060020a039081163390911614610b7657610002565b34610002576040805160048035808201356020818102808601820190965281855261033395939460249490938501929182919085019084908082843750949650505050505050600054600160a060020a039081163390911614610c4957610002565b3461000257610333600435600054600160a060020a039081163390911614610ca257610002565b3461000257610333600435600054600160a060020a039081163390911614610cb457610002565b34610002576104ba600435600680548290811015610002575060005260088082047ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f015491066004026101000a900463ffffffff1681565b34610002576104ba600435600580548290811015610002575060005260088082047f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0015491066004026101000a900463ffffffff1681565b005b6000818152600760209081526040808320349055600390915290208054600160a060020a0319163317905590505b50565b6006805460009081101561000257600091825260209091206008808304919091015491066004026101000a900463ffffffff16606434040230600160a060020a03163110156103b457610002565b604080518082018252600381527f55524c00000000000000000000000000000000000000000000000000000000006020828101919091528251608081018452605b81527f68747470733a2f2f7777772e72616e646f6d2e6f72672f696e7465676572732f918101919091527f3f6e756d3d31266d696e3d31266d61783d3130303030303026636f6c3d312662928101929092527f6173653d313026666f726d61743d706c61696e26726e643d6e657700000000006060830152600454610335929063ffffffff166001546000908190600160a060020a03168114156104d6576104d460005b60006000610d06731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed5b3b90565b6040805163ffffffff929092168252519081900360200190f35b505b600160009054906101000a9004600160a060020a0316600160a060020a03166338cc48316000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100025760325a03f11561000257505060408051805160028054600160a060020a031916909117908190556000602092830181905283517f2ef3accc0000000000000000000000000000000000000000000000000000000081526024810189905260048181019586528b5160448301528b51600160a060020a03949094169650632ef3accc958c958b959194859460640193888301939283928692849287929190601f850104600302600f01f150905090810190601f1680156105fb5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b156100025760325a03f115610002575050604051519150503a8302670de0b6b3a76400000181111561064857600091505b509392505050565b600260009054906101000a9004600160a060020a0316600160a060020a031663c51be90f8260008888886000604051602001526040518660e060020a0281526004018085815260200180602001806020018481526020018381038352868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156106f75780820380516001836020036101000a031916815260200191505b508381038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156107505780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b156100025761235a5a03f115610002575050604051519350610640915050565b600554600086815260036020908152604080519281902054938352600160a060020a0393909316908201528151600080516020610f9d833981519152929181900390910190a1600360005060008660001916815260200190815260200160002060006101000a815490600160a060020a0302191690555b5050505050565b600160a060020a031633600160a060020a031614151561082357610002565b600085815260036020526040812054600160a060020a0316141561084657610002565b6109058460408051602081019091526000908190528181805b8251811015610f1f57603060f860020a028382815181101561000257016020015160f860020a9081900402600160f860020a031916108015906108cc5750603960f860020a028382815181101561000257016020015160f860020a9081900402600160f860020a03191611155b15610f2b57600a82029150815060308382815181101561000257016020015160f860020a9081900481020403909101905b60010161085f565b9250826000141561095a576000858152600360209081526040808320546007909252805190832054600160a060020a03929092169282156108fc02929190818181858888f193505050501515610a7d57610002565b5060009050805b60055481101561078657600580548290811015610002576000918252602090912060088083049091015491066004026101000a900463ffffffff1690910190818311610af55760008581526003602052604090205460068054600160a060020a0392909216916108fc9190849081101561000257906000526020600020906008918282040191900660040290546000898152600760205260409020546101009290920a900463ffffffff169060649004029081150290604051809050600060405180830381858888f193505050501515610afd5760008581526003602090815260408051928190205460648452600160a060020a0316918301919091528051600080516020610f9d8339815191529281900390910190a1610002565b60008581526003602090815260408051928190205460658452600160a060020a0316918301919091528051600080516020610f9d8339815191529281900390910190a1600360005060008660001916815260200190815260200160002060006101000a815490600160a060020a0302191690556107fd565b600101610961565b600085815260036020908152604080519281902054848452600160a060020a0316918301919091528051600080516020610f9d8339815191529281900390910190a1600360005060008660001916815260200190815260200160002060006101000a815490600160a060020a0302191690556107fd565b565b806006600050908051906020019082805482825590600052602060002090600701600890048101928215610bed5791602002820160005b83821115610c1057835183826101000a81548163ffffffff021916908302179055509260200192600401602081600301049283019260010302610bad565b505b50610c409291505b80821115610c4557805463ffffffff19168155600101610bf5565b8015610beb5782816101000a81549063ffffffff0219169055600401602081600301049283019260010302610c10565b505050565b5090565b806005600050908051906020019082805482825590600052602060002090600701600890048101928215610bed57916020028201600083821115610c1057509151815463ffffffff191617815560408501916004610bad565b6004805463ffffffff19168217905550565b8030600160a060020a0316311015610ccb57610002565b60405160008054600160a060020a0316916108fc84150291849190818181858888f19350505050151561036357610002565b5060005b919050565b1115610d38575060018054600160a060020a031916731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed178155610d01565b6000610d57739efbea6358bed926b293d2ce63a730d6d98d43dd6104b6565b1115610d8c575060018054739efbea6358bed926b293d2ce63a730d6d98d43dd600160a060020a031991909116178155610d01565b6000610dab7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf6104b6565b1115610de05750600180547320e12a1f859b3feae5fb2a0a32c18f5a65555bbf600160a060020a031991909116178155610d01565b6000610dff739a1d6e5c6c8d081ac45c6af98b74a42442afba606104b6565b1115610cfd575060018054600160a060020a031916739a1d6e5c6c8d081ac45c6af98b74a42442afba60178155610d01565b505b600160009054906101000a9004600160a060020a0316600160a060020a03166338cc48316000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100025760325a03f11561000257505060408051805160028054600160a060020a031916909117908190556000602092830181905283517fc281d19e0000000000000000000000000000000000000000000000000000000081529351600160a060020a0392909216945063c281d19e936004818101949392918390030190829087803b156100025760325a03f1156100025750506040515191505090565b8193505b505050919050565b603a60f860020a028382815181101561000257016020015160f860020a9081900402600160f860020a03191610801590610f8f5750607e60f860020a028382815181101561000257016020015160f860020a9081900402600160f860020a03191611155b156108fd5760009350610f2356568a807765db7b2c3f27d1157cf905be0d7503ba3c4a1d9818cc50ac4db8f25d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.