ETH Price: $2,132.67 (+0.66%)

Contract

0xc741BC7FA502DDCF2D5CC9E2c70f0EE7090CFd0D
 

Overview

ETH Balance

0.0000999 ETH

Eth Value

$0.21 (@ $2,132.67/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw73132832019-03-06 3:09:482571 days ago1551841788IN
0xc741BC7F...7090CFd0D
0 ETH0.000095233
Withdraw73132552019-03-06 3:04:112571 days ago1551841451IN
0xc741BC7F...7090CFd0D
0 ETH0.00006312
Commit Origin69015492018-12-17 5:51:542650 days ago1545025914IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69015402018-12-17 5:48:522650 days ago1545025732IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69015262018-12-17 5:45:262650 days ago1545025526IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69015182018-12-17 5:44:272650 days ago1545025467IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69015102018-12-17 5:41:432650 days ago1545025303IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69014932018-12-17 5:36:482650 days ago1545025008IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69014812018-12-17 5:34:052650 days ago1545024845IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69014742018-12-17 5:32:282650 days ago1545024748IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69014552018-12-17 5:28:132650 days ago1545024493IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69014492018-12-17 5:26:092650 days ago1545024369IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69014482018-12-17 5:25:292650 days ago1545024329IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69014332018-12-17 5:20:432650 days ago1545024043IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69014132018-12-17 5:16:152650 days ago1545023775IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69014032018-12-17 5:12:522650 days ago1545023572IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69013912018-12-17 5:10:212650 days ago1545023421IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69013822018-12-17 5:08:392650 days ago1545023319IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69013802018-12-17 5:08:232650 days ago1545023303IN
0xc741BC7F...7090CFd0D
0 ETH0.000080143
Commit Origin69013682018-12-17 5:03:062650 days ago1545022986IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69013522018-12-17 4:57:482650 days ago1545022668IN
0xc741BC7F...7090CFd0D
0 ETH0.000080143
Commit Origin69013392018-12-17 4:55:062650 days ago1545022506IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69013312018-12-17 4:51:562650 days ago1545022316IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69013212018-12-17 4:49:042650 days ago1545022144IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
Commit Origin69013062018-12-17 4:45:522650 days ago1545021952IN
0xc741BC7F...7090CFd0D
0 ETH0.000080333
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-73132832019-03-06 3:09:482571 days ago1551841788
0xc741BC7F...7090CFd0D
3.2719 ETH
-73132552019-03-06 3:04:112571 days ago1551841451
0xc741BC7F...7090CFd0D
0.0000001 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
-68993162018-12-16 20:52:112650 days ago1544993531
0xc741BC7F...7090CFd0D
0.008 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Game

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-11-26
*/

pragma solidity ^0.4.3;
contract Game{
    //创建者
    address founder;

    uint betPhase=6;

    uint commitPhase=6;

    uint openPhase=6;

    uint minValue=0.1 ether;



    uint refund=90;

    bool finished=true;

    uint startBlock;

    uint id=0;

    struct Participant{
        bytes32 hash;
        bytes32 origin;
        uint value;
        bool committed;
        bool returned;
    }




    struct Bet{
        uint betPhase;
        uint commitPhase;
        uint openPhase;
        uint minValue;

        mapping(address=>Participant) participants;
        address[] keys;
        uint totalValue;
        uint valiadValue;
        uint validUsers;
        bytes32 luckNumber;
        address lucky;
        bool prized;
        uint refund;
    }

    mapping(uint=>Bet) games;


    modifier checkGameFinish(){
        if(finished){
            throw;
        }
        _;
    }

    modifier checkFounder(){
        if(msg.sender!=founder){
            throw;
        }
        _;
    }

    modifier checkPrized(uint id){
        if(games[id].prized){
            throw;
        }
        _;
    }

    modifier checkFihished(){
        if(!finished){
            throw;
        }
        _;
    }

    modifier checkId(uint i){
        if(id!=i){
            throw;
        }
        _;
    }

    modifier checkValue(uint value){
        if(value<minValue){
            throw;
        }
        _;
    }

    modifier checkBetPhase(){
        if(block.number>startBlock+betPhase){
            throw;
        }
        _;
    }

    modifier checkCommitPhase(){
        if(block.number>startBlock+betPhase+commitPhase){
            throw;
        }
        _;
    }

    modifier checkOpen(){
        if(block.number<startBlock+betPhase+commitPhase){
            throw;
        }
        _;
    }

    modifier checkUser(address user,uint id){
        if(games[id].participants[user].hash==""){
            throw;
        }
        _;
    }

    modifier checkRegister(uint id,address user){
        if(games[id].participants[user].hash!=""){
            throw;
        }
        _;
    }

    function Game() public{
        founder=msg.sender;
    }

    event StartGame(uint indexed id,uint betPhase,uint commitPhase,uint openPhase,uint betValue,uint refund,uint startBlock);



    function startGame(uint iBetPhase,uint iCommitPhase,uint iOpenPhase,uint betvalue,uint iRefund)
    checkFounder
    checkFihished
    {
        id+=1;
        betPhase=iBetPhase;
        commitPhase=iCommitPhase;
        openPhase=iOpenPhase;
        minValue=(betvalue*1 ether)/100;
        finished=false;
        startBlock=block.number;
        refund=iRefund;
        StartGame(id,betPhase,commitPhase,openPhase,minValue,refund,startBlock);
    }

    // current total value,hash,id,sid
    event Play(uint indexed value,bytes32 hash,uint id,bytes32 sid,address player);

    function play(uint id,bytes32 hash,bytes32 sid) public payable
    checkValue(msg.value)
    checkBetPhase
    checkId(id)
    checkRegister(id,msg.sender)
    {
        address user=msg.sender;
        Bet memory tmp=games[id];
        Participant memory participant=Participant({hash:hash,origin:"",value:msg.value,committed:false,returned:false});
        uint value;
        if(tmp.keys.length==0){
            Bet storage bet=games[id];
            bet.betPhase=betPhase;
            bet.commitPhase=commitPhase;
            bet.openPhase=openPhase;
            bet.minValue=minValue;

            bet.keys.push(user);
            bet.participants[user]=participant;
            bet.refund=refund;
            bet.totalValue=msg.value;
            value=msg.value;
        }else{
            games[id].keys.push(user);
            games[id].participants[user]=participant;
            games[id].totalValue+=msg.value;
            value=msg.value;
        }
        var num=games[id].keys.length;
        Play(value,hash,id,sid,msg.sender);
    }
    // origin,valid users
    event CommitOrigin(address indexed user,bytes32 origin,uint num,bytes32 sid,uint id);

    function commitOrigin(uint id,bytes32 origin,bytes32 sid)
    checkCommitPhase
    checkId(id)
    checkUser(msg.sender,id)
    {
        bytes32 hash=games[id].participants[msg.sender].hash;
        if(sha3(origin)==hash){
            if(games[id].participants[msg.sender].committed!=true){
                games[id].participants[msg.sender].committed=true;
                games[id].participants[msg.sender].origin=origin;
                games[id].valiadValue+=games[id].participants[msg.sender].value;
                games[id].validUsers++;
                CommitOrigin(msg.sender,origin,games[id].validUsers,sid,id);
            }

        }else{
            throw;
        }
    }

    function getLuckNumber(Bet storage bet) internal
    returns(bytes32)
    {
        address[] memory users=bet.keys;
        bytes32 random;
        for(uint i=0;i<users.length;i++){
            address key=users[i];
            Participant memory p=bet.participants[key];

            if(p.committed==true){
                random ^=p.origin;
            }
        }
        return sha3(random);
    }

    // lucky user,lucky number,random number,prize
    event Open(address indexed user,bytes32 random,uint prize,uint id);

    function open(uint id)
    checkPrized(id)
    checkFounder
    checkOpen
    checkGameFinish
    {
        bytes32 max=0;
        Bet storage bet=games[id];
        bytes32 random=getLuckNumber(bet);
        address tmp;
        address[] memory users=bet.keys;
        for(uint i=0;i<users.length;i++){

            address key=users[i];
            Participant storage p=bet.participants[key];
            if(p.committed==true){
                bytes32 distance=random^p.origin;
                if(distance>max){
                    max=distance;
                    tmp=key;
                }
            }else{
                if(p.returned==false){
                    if(key.send(p.value*8/10)){
                        p.returned=true;
                    }

                }
            }

        }
        bet.lucky=tmp;
        bet.luckNumber=random;
        uint prize=bet.valiadValue*refund/100;

        founder.send((bet.valiadValue-prize));
        if(tmp.send(prize)){
            bet.prized=true;
            Open(tmp,random,prize,id);
        }

        finished=true;
    }

    function getContractBalance() constant returns(uint){
        return this.balance;
    }

    function withdraw(address user,uint value)
    checkFounder
    {
        user.send(value);
    }

    function getPlayerCommitted(uint period,address player) constant returns(bool){
        Participant memory p=games[period].participants[player];
        return p.committed;
    }

    function getPlayerReturned(uint period,address player) constant returns(bool){
        Participant memory p=games[period].participants[player];
        return p.returned;
    }

    function getPlayerNum(uint period) constant
    returns(uint){
        Bet bet=games[period];
        return bet.keys.length;
    }

    function getPlayerAddress(uint period,uint offset) constant
    returns(address){
        Bet bet=games[period];
        return bet.keys[offset];
    }

    function getPlayerOrigin(uint period,uint offset) constant
    returns(bytes32){
        Bet bet=games[period];
        address user=bet.keys[offset];
        return bet.participants[user].origin;
    }

    function getPlayerHash(uint period,uint offset) constant
    returns(bytes32){
        Bet bet=games[period];
        address user=bet.keys[offset];
        return bet.participants[user].hash;
    }

    function getPlayerValue(uint period,uint offset) constant
    returns(uint){
        Bet bet=games[period];
        address user=bet.keys[offset];
        return bet.participants[user].value;
    }

    // public getRandom(uint id) constant{

    // }
    function getId() constant returns(uint){
        return id;
    }

    function getRandom(uint id) constant
    checkId(id)
    returns(bytes32){
        return games[id].luckNumber;
    }

    function getLuckUser(uint id) constant
    checkId(id)
    returns(address){
        return games[id].lucky;
    }

    function getPrizeAmount(uint id) constant
    checkId(id)
    returns(uint){
        return games[id].totalValue;
    }

    function getMinAmount(uint id) constant
    checkId(id)
    returns(uint)
    {
        return minValue;
    }

    function getsha3(bytes32 x) constant
    returns(bytes32){
        return sha3(x);
    }

    function getGamePeriod() constant
    returns(uint){
        return id;
    }


    function getStartBlock() constant
    returns(uint){
        return startBlock;
    }

    function getBetPhase() constant
    returns(uint){
        return betPhase;
    }

    function getCommitPhase() constant
    returns(uint){
        return commitPhase;
    }

    function getFinished() constant
    returns(bool){
        return finished;
    }

}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"period","type":"uint256"},{"name":"player","type":"address"}],"name":"getPlayerCommitted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"},{"name":"offset","type":"uint256"}],"name":"getPlayerOrigin","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"},{"name":"offset","type":"uint256"}],"name":"getPlayerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"origin","type":"bytes32"},{"name":"sid","type":"bytes32"}],"name":"commitOrigin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getMinAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getGamePeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"},{"name":"offset","type":"uint256"}],"name":"getPlayerHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"open","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"hash","type":"bytes32"},{"name":"sid","type":"bytes32"}],"name":"play","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getContractBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"},{"name":"offset","type":"uint256"}],"name":"getPlayerValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCommitPhase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getLuckUser","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getPrizeAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBetPhase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"iBetPhase","type":"uint256"},{"name":"iCommitPhase","type":"uint256"},{"name":"iOpenPhase","type":"uint256"},{"name":"betvalue","type":"uint256"},{"name":"iRefund","type":"uint256"}],"name":"startGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getRandom","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"bytes32"}],"name":"getsha3","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"}],"name":"getPlayerNum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"},{"name":"player","type":"address"}],"name":"getPlayerReturned","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"user","type":"address"},{"name":"value","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"betPhase","type":"uint256"},{"indexed":false,"name":"commitPhase","type":"uint256"},{"indexed":false,"name":"openPhase","type":"uint256"},{"indexed":false,"name":"betValue","type":"uint256"},{"indexed":false,"name":"refund","type":"uint256"},{"indexed":false,"name":"startBlock","type":"uint256"}],"name":"StartGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"value","type":"uint256"},{"indexed":false,"name":"hash","type":"bytes32"},{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"sid","type":"bytes32"},{"indexed":false,"name":"player","type":"address"}],"name":"Play","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"origin","type":"bytes32"},{"indexed":false,"name":"num","type":"uint256"},{"indexed":false,"name":"sid","type":"bytes32"},{"indexed":false,"name":"id","type":"uint256"}],"name":"CommitOrigin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"random","type":"bytes32"},{"indexed":false,"name":"prize","type":"uint256"},{"indexed":false,"name":"id","type":"uint256"}],"name":"Open","type":"event"}]

608060405260066001556006600255600660035567016345785d8a0000600455605a6005556001600660006101000a81548160ff021916908315150217905550600060085534801561005057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612006806100a06000396000f30060806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063090a434f146101435780630b165039146101a857806315ec12cd146101fb57806325f22780146102725780632f6dc41c146102bb57806347f8642f146102fc57806352f4c59b146103275780635d1ca6311461037a578063690e7c09146103a55780636f0485b4146103d25780636f9fb98a1461040e57806372ec61e71461043957806373cd515a1461048457806389ccf6e9146104af578063a1f1de651461051c578063a5f18c011461055d578063b1c2c82c14610588578063c1c25e63146105b3578063cacfdb8814610608578063cd4b691414610637578063e2dd0a3914610680578063ea451e8c146106cd578063ec61a5b41461070e578063f3fef3a314610773575b600080fd5b34801561014f57600080fd5b5061018e60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107c0565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101dd600480360381019080803590602001909291908035906020019092919050505061089d565b60405180826000191660001916815260200191505060405180910390f35b34801561020757600080fd5b506102306004803603810190808035906020019092919080359060200190929190505050610944565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027e57600080fd5b506102b960048036038101908080359060200190929190803560001916906020019092919080356000191690602001909291905050506109a1565b005b3480156102c757600080fd5b506102e660048036038101908080359060200190929190505050610d3a565b6040518082815260200191505060405180910390f35b34801561030857600080fd5b50610311610d58565b6040518082815260200191505060405180910390f35b34801561033357600080fd5b5061035c6004803603810190808035906020019092919080359060200190929190505050610d62565b60405180826000191660001916815260200191505060405180910390f35b34801561038657600080fd5b5061038f610e09565b6040518082815260200191505060405180910390f35b3480156103b157600080fd5b506103d060048036038101908080359060200190929190505050610e13565b005b61040c6004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050611281565b005b34801561041a57600080fd5b50610423611891565b6040518082815260200191505060405180910390f35b34801561044557600080fd5b5061046e60048036038101908080359060200190929190803590602001909291905050506118b0565b6040518082815260200191505060405180910390f35b34801561049057600080fd5b50610499611957565b6040518082815260200191505060405180910390f35b3480156104bb57600080fd5b506104da60048036038101908080359060200190929190505050611961565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052857600080fd5b50610547600480360381019080803590602001909291905050506119b3565b6040518082815260200191505060405180910390f35b34801561056957600080fd5b506105726119e5565b6040518082815260200191505060405180910390f35b34801561059457600080fd5b5061059d6119ef565b6040518082815260200191505060405180910390f35b3480156105bf57600080fd5b5061060660048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506119f9565b005b34801561061457600080fd5b5061061d611b50565b604051808215151515815260200191505060405180910390f35b34801561064357600080fd5b5061066260048036038101908080359060200190929190505050611b67565b60405180826000191660001916815260200191505060405180910390f35b34801561068c57600080fd5b506106af6004803603810190808035600019169060200190929190505050611b99565b60405180826000191660001916815260200191505060405180910390f35b3480156106d957600080fd5b506106f860048036038101908080359060200190929190505050611bc0565b6040518082815260200191505060405180910390f35b34801561071a57600080fd5b5061075960048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611be8565b604051808215151515815260200191505060405180910390f35b34801561077f57600080fd5b506107be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cc5565b005b60006107ca611f23565b6009600085815260200190815260200160002060040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060a06040519081016040529081600082015460001916600019168152602001600182015460001916600019168152602001600282015481526020016003820160009054906101000a900460ff161515151581526020016003820160019054906101000a900460ff1615151515815250509050806060015191505092915050565b600080600060096000868152602001908152602001600020915081600501848154811015156108c857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160040160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549250505092915050565b600080600960008581526020019081526020016000209050806005018381548110151561096d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505092915050565b600060025460015460075401014311156109ba57600080fd5b83806008541415156109cb57600080fd5b338560006009600083815260200190815260200160002060040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600019161415610a3557600080fd5b6009600088815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015493508360001916866040518082600019166000191681526020019150506040518091039020600019161415610d2c57600115156009600089815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900460ff161515141515610d275760016009600089815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160006101000a81548160ff021916908315150217905550856009600089815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181600019169055506009600088815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600960008981526020019081526020016000206007016000828254019250508190555060096000888152602001908152602001600020600801600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167fb9ec8de8310881abb5a9d9029c3a53d86cd2ba1aaf74aa843fcf0063912a57ea87600960008b815260200190815260200160002060080154888b604051808560001916600019168152602001848152602001836000191660001916815260200182815260200194505050505060405180910390a25b610d31565b600080fd5b50505050505050565b60008180600854141515610d4d57600080fd5b600454915050919050565b6000600854905090565b60008060006009600086815260200190815260200160002091508160050184815481101515610d8d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160040160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549250505092915050565b6000600854905090565b600080600080606060008060008060008a60096000828152602001908152602001600020600a0160149054906101000a900460ff1615610e5257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ead57600080fd5b6002546001546007540101431015610ec457600080fd5b600660009054906101000a900460ff1615610ede57600080fd5b60006001029a50600960008d81526020019081526020016000209950610f038a611d5a565b985089600501805480602002602001604051908101604052809291908181526020018280548015610f8957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610f3f575b50505050509650600095505b86518610156110d6578686815181101515610fac57fe5b9060200190602002015194508960040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600115158460030160009054906101000a900460ff161515141561103e578360010154891892508a600019168360001916111561103957829a508497505b6110c9565b600015158460030160019054906101000a900460ff16151514156110c8578473ffffffffffffffffffffffffffffffffffffffff166108fc600a600887600201540281151561108957fe5b049081150290604051600060405180830381858888f19350505050156110c75760018460030160016101000a81548160ff0219169083151502179055505b5b5b8580600101965050610f95565b878a600a0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550888a600901816000191690555060646005548b600701540281151561113a57fe5b0491506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc838c60070154039081150290604051600060405180830381858888f19350505050508773ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050156112585760018a600a0160146101000a81548160ff0219169083151502179055508773ffffffffffffffffffffffffffffffffffffffff167feb6dd3eaf3e68e0d2773121f6bccf7413ad91460e82d0f35f77d225d9dff32528a848f604051808460001916600019168152602001838152602001828152602001935050505060405180910390a25b6001600660006101000a81548160ff021916908315150217905550505050505050505050505050565b600061128b611f5d565b611293611f23565b6000806000346004548110156112a857600080fd5b600154600754014311156112bb57600080fd5b89806008541415156112cc57600080fd5b8a3360006009600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546000191614151561133757600080fd5b339950600960008e81526020019081526020016000206101806040519081016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016005820180548060200260200160405190810160405280929190818152602001828054801561140757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116113bd575b50505050508152602001600682015481526020016007820154815260200160088201548152602001600982015460001916600019168152602001600a820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600a820160149054906101000a900460ff16151515158152602001600b82015481525050985060a0604051908101604052808d600019168152602001600080191681526020013481526020016000151581526020016000151581525097506000896080015151141561167757600960008e815260200190815260200160002095506001548660000181905550600254866001018190555060035486600201819055506004548660030181905550856005018a90806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050878660040160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190600019169055602082015181600101906000191690556040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548160ff02191690831515021790555090505060055486600b01819055503486600601819055503496506117da565b600960008e81526020019081526020016000206005018a90806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505087600960008f815260200190815260200160002060040160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190600019169055602082015181600101906000191690556040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548160ff02191690831515021790555090505034600960008f8152602001908152602001600020600601600082825401925050819055503496505b600960008e8152602001908152602001600020600501805490509450867f618cb075010cddac61bab4bbd0b922170f54003d179351650a7271877bb91c7e8d8f8e3360405180856000191660001916815260200184815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a250505050505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600080600060096000868152602001908152602001600020915081600501848154811015156118db57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160040160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549250505092915050565b6000600254905090565b6000818060085414151561197457600080fd5b60096000848152602001908152602001600020600a0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b600081806008541415156119c657600080fd5b6009600084815260200190815260200160002060060154915050919050565b6000600754905090565b6000600154905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a5457600080fd5b600660009054906101000a900460ff161515611a6f57600080fd5b60016008600082825401925050819055508460018190555083600281905550826003819055506064670de0b6b3a76400008302811515611aab57fe5b046004819055506000600660006101000a81548160ff02191690831515021790555043600781905550806005819055506008547f9e81aea47a23d34e26feeb2ee500af6cb515fbba3980cd2c10fa6fdcba3b897e60015460025460035460045460055460075460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a25050505050565b6000600660009054906101000a900460ff16905090565b60008180600854141515611b7a57600080fd5b6009600084815260200190815260200160002060090154915050919050565b60008160405180826000191660001916815260200191505060405180910390209050919050565b6000806009600084815260200190815260200160002090508060050180549050915050919050565b6000611bf2611f23565b6009600085815260200190815260200160002060040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060a06040519081016040529081600082015460001916600019168152602001600182015460001916600019168152602001600282015481526020016003820160009054906101000a900460ff161515151581526020016003820160019054906101000a900460ff1615151515815250509050806080015191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d2057600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050505050565b600060606000806000611d6b611f23565b86600501805480602002602001604051908101604052809291908181526020018280548015611def57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611da5575b50505050509450600092505b8451831015611ef9578483815181101515611e1257fe5b9060200190602002015191508660040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060a06040519081016040529081600082015460001916600019168152602001600182015460001916600019168152602001600282015481526020016003820160009054906101000a900460ff161515151581526020016003820160019054906101000a900460ff161515151581525050905060011515816060015115151415611eec578060200151841893505b8280600101935050611dfb565b83604051808260001916600019168152602001915050604051809103902095505050505050919050565b60a0604051908101604052806000801916815260200160008019168152602001600081526020016000151581526020016000151581525090565b61018060405190810160405280600081526020016000815260200160008152602001600081526020016060815260200160008152602001600081526020016000815260200160008019168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020016000815250905600a165627a7a72305820906ec758e8a05d51ec0eaccb13be63bfb5d4c479edfa52cdb5bd28421edf9b000029

Deployed Bytecode

0x60806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063090a434f146101435780630b165039146101a857806315ec12cd146101fb57806325f22780146102725780632f6dc41c146102bb57806347f8642f146102fc57806352f4c59b146103275780635d1ca6311461037a578063690e7c09146103a55780636f0485b4146103d25780636f9fb98a1461040e57806372ec61e71461043957806373cd515a1461048457806389ccf6e9146104af578063a1f1de651461051c578063a5f18c011461055d578063b1c2c82c14610588578063c1c25e63146105b3578063cacfdb8814610608578063cd4b691414610637578063e2dd0a3914610680578063ea451e8c146106cd578063ec61a5b41461070e578063f3fef3a314610773575b600080fd5b34801561014f57600080fd5b5061018e60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107c0565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101dd600480360381019080803590602001909291908035906020019092919050505061089d565b60405180826000191660001916815260200191505060405180910390f35b34801561020757600080fd5b506102306004803603810190808035906020019092919080359060200190929190505050610944565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027e57600080fd5b506102b960048036038101908080359060200190929190803560001916906020019092919080356000191690602001909291905050506109a1565b005b3480156102c757600080fd5b506102e660048036038101908080359060200190929190505050610d3a565b6040518082815260200191505060405180910390f35b34801561030857600080fd5b50610311610d58565b6040518082815260200191505060405180910390f35b34801561033357600080fd5b5061035c6004803603810190808035906020019092919080359060200190929190505050610d62565b60405180826000191660001916815260200191505060405180910390f35b34801561038657600080fd5b5061038f610e09565b6040518082815260200191505060405180910390f35b3480156103b157600080fd5b506103d060048036038101908080359060200190929190505050610e13565b005b61040c6004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050611281565b005b34801561041a57600080fd5b50610423611891565b6040518082815260200191505060405180910390f35b34801561044557600080fd5b5061046e60048036038101908080359060200190929190803590602001909291905050506118b0565b6040518082815260200191505060405180910390f35b34801561049057600080fd5b50610499611957565b6040518082815260200191505060405180910390f35b3480156104bb57600080fd5b506104da60048036038101908080359060200190929190505050611961565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052857600080fd5b50610547600480360381019080803590602001909291905050506119b3565b6040518082815260200191505060405180910390f35b34801561056957600080fd5b506105726119e5565b6040518082815260200191505060405180910390f35b34801561059457600080fd5b5061059d6119ef565b6040518082815260200191505060405180910390f35b3480156105bf57600080fd5b5061060660048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506119f9565b005b34801561061457600080fd5b5061061d611b50565b604051808215151515815260200191505060405180910390f35b34801561064357600080fd5b5061066260048036038101908080359060200190929190505050611b67565b60405180826000191660001916815260200191505060405180910390f35b34801561068c57600080fd5b506106af6004803603810190808035600019169060200190929190505050611b99565b60405180826000191660001916815260200191505060405180910390f35b3480156106d957600080fd5b506106f860048036038101908080359060200190929190505050611bc0565b6040518082815260200191505060405180910390f35b34801561071a57600080fd5b5061075960048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611be8565b604051808215151515815260200191505060405180910390f35b34801561077f57600080fd5b506107be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cc5565b005b60006107ca611f23565b6009600085815260200190815260200160002060040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060a06040519081016040529081600082015460001916600019168152602001600182015460001916600019168152602001600282015481526020016003820160009054906101000a900460ff161515151581526020016003820160019054906101000a900460ff1615151515815250509050806060015191505092915050565b600080600060096000868152602001908152602001600020915081600501848154811015156108c857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160040160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549250505092915050565b600080600960008581526020019081526020016000209050806005018381548110151561096d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505092915050565b600060025460015460075401014311156109ba57600080fd5b83806008541415156109cb57600080fd5b338560006009600083815260200190815260200160002060040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600019161415610a3557600080fd5b6009600088815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015493508360001916866040518082600019166000191681526020019150506040518091039020600019161415610d2c57600115156009600089815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900460ff161515141515610d275760016009600089815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160006101000a81548160ff021916908315150217905550856009600089815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181600019169055506009600088815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600960008981526020019081526020016000206007016000828254019250508190555060096000888152602001908152602001600020600801600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167fb9ec8de8310881abb5a9d9029c3a53d86cd2ba1aaf74aa843fcf0063912a57ea87600960008b815260200190815260200160002060080154888b604051808560001916600019168152602001848152602001836000191660001916815260200182815260200194505050505060405180910390a25b610d31565b600080fd5b50505050505050565b60008180600854141515610d4d57600080fd5b600454915050919050565b6000600854905090565b60008060006009600086815260200190815260200160002091508160050184815481101515610d8d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160040160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549250505092915050565b6000600854905090565b600080600080606060008060008060008a60096000828152602001908152602001600020600a0160149054906101000a900460ff1615610e5257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ead57600080fd5b6002546001546007540101431015610ec457600080fd5b600660009054906101000a900460ff1615610ede57600080fd5b60006001029a50600960008d81526020019081526020016000209950610f038a611d5a565b985089600501805480602002602001604051908101604052809291908181526020018280548015610f8957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610f3f575b50505050509650600095505b86518610156110d6578686815181101515610fac57fe5b9060200190602002015194508960040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600115158460030160009054906101000a900460ff161515141561103e578360010154891892508a600019168360001916111561103957829a508497505b6110c9565b600015158460030160019054906101000a900460ff16151514156110c8578473ffffffffffffffffffffffffffffffffffffffff166108fc600a600887600201540281151561108957fe5b049081150290604051600060405180830381858888f19350505050156110c75760018460030160016101000a81548160ff0219169083151502179055505b5b5b8580600101965050610f95565b878a600a0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550888a600901816000191690555060646005548b600701540281151561113a57fe5b0491506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc838c60070154039081150290604051600060405180830381858888f19350505050508773ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050156112585760018a600a0160146101000a81548160ff0219169083151502179055508773ffffffffffffffffffffffffffffffffffffffff167feb6dd3eaf3e68e0d2773121f6bccf7413ad91460e82d0f35f77d225d9dff32528a848f604051808460001916600019168152602001838152602001828152602001935050505060405180910390a25b6001600660006101000a81548160ff021916908315150217905550505050505050505050505050565b600061128b611f5d565b611293611f23565b6000806000346004548110156112a857600080fd5b600154600754014311156112bb57600080fd5b89806008541415156112cc57600080fd5b8a3360006009600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546000191614151561133757600080fd5b339950600960008e81526020019081526020016000206101806040519081016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016005820180548060200260200160405190810160405280929190818152602001828054801561140757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116113bd575b50505050508152602001600682015481526020016007820154815260200160088201548152602001600982015460001916600019168152602001600a820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600a820160149054906101000a900460ff16151515158152602001600b82015481525050985060a0604051908101604052808d600019168152602001600080191681526020013481526020016000151581526020016000151581525097506000896080015151141561167757600960008e815260200190815260200160002095506001548660000181905550600254866001018190555060035486600201819055506004548660030181905550856005018a90806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050878660040160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190600019169055602082015181600101906000191690556040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548160ff02191690831515021790555090505060055486600b01819055503486600601819055503496506117da565b600960008e81526020019081526020016000206005018a90806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505087600960008f815260200190815260200160002060040160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190600019169055602082015181600101906000191690556040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548160ff02191690831515021790555090505034600960008f8152602001908152602001600020600601600082825401925050819055503496505b600960008e8152602001908152602001600020600501805490509450867f618cb075010cddac61bab4bbd0b922170f54003d179351650a7271877bb91c7e8d8f8e3360405180856000191660001916815260200184815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a250505050505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600080600060096000868152602001908152602001600020915081600501848154811015156118db57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160040160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549250505092915050565b6000600254905090565b6000818060085414151561197457600080fd5b60096000848152602001908152602001600020600a0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b600081806008541415156119c657600080fd5b6009600084815260200190815260200160002060060154915050919050565b6000600754905090565b6000600154905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a5457600080fd5b600660009054906101000a900460ff161515611a6f57600080fd5b60016008600082825401925050819055508460018190555083600281905550826003819055506064670de0b6b3a76400008302811515611aab57fe5b046004819055506000600660006101000a81548160ff02191690831515021790555043600781905550806005819055506008547f9e81aea47a23d34e26feeb2ee500af6cb515fbba3980cd2c10fa6fdcba3b897e60015460025460035460045460055460075460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a25050505050565b6000600660009054906101000a900460ff16905090565b60008180600854141515611b7a57600080fd5b6009600084815260200190815260200160002060090154915050919050565b60008160405180826000191660001916815260200191505060405180910390209050919050565b6000806009600084815260200190815260200160002090508060050180549050915050919050565b6000611bf2611f23565b6009600085815260200190815260200160002060040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060a06040519081016040529081600082015460001916600019168152602001600182015460001916600019168152602001600282015481526020016003820160009054906101000a900460ff161515151581526020016003820160019054906101000a900460ff1615151515815250509050806080015191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d2057600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050505050565b600060606000806000611d6b611f23565b86600501805480602002602001604051908101604052809291908181526020018280548015611def57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611da5575b50505050509450600092505b8451831015611ef9578483815181101515611e1257fe5b9060200190602002015191508660040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060a06040519081016040529081600082015460001916600019168152602001600182015460001916600019168152602001600282015481526020016003820160009054906101000a900460ff161515151581526020016003820160019054906101000a900460ff161515151581525050905060011515816060015115151415611eec578060200151841893505b8280600101935050611dfb565b83604051808260001916600019168152602001915050604051809103902095505050505050919050565b60a0604051908101604052806000801916815260200160008019168152602001600081526020016000151581526020016000151581525090565b61018060405190810160405280600081526020016000815260200160008152602001600081526020016060815260200160008152602001600081526020016000815260200160008019168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020016000815250905600a165627a7a72305820906ec758e8a05d51ec0eaccb13be63bfb5d4c479edfa52cdb5bd28421edf9b000029

Swarm Source

bzzr://906ec758e8a05d51ec0eaccb13be63bfb5d4c479edfa52cdb5bd28421edf9b00

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.