ETH Price: $3,881.57 (+0.32%)

Contract

0x14b2e65338dDEF083F9469098629bDc563c5E167
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Perma Stop82583082019-07-31 12:04:031964 days ago1564574643IN
0x14b2e653...563c5E167
0 ETH0.00005131
Stop Playing82577092019-07-31 9:54:511964 days ago1564566891IN
0x14b2e653...563c5E167
0 ETH0.0004256210
Init Game Team71950642019-02-08 22:40:132136 days ago1549665613IN
0x14b2e653...563c5E167
0.01 ETH0.0005720420
Init Game Team71926562019-02-08 10:51:382137 days ago1549623098IN
0x14b2e653...563c5E167
0.01 ETH0.0005720420
Init Game Team71890292019-02-07 17:08:292137 days ago1549559309IN
0x14b2e653...563c5E167
0.01 ETH0.0005720420
Init Game Team71603782019-02-01 20:56:532143 days ago1549054613IN
0x14b2e653...563c5E167
0.01 ETH0.0005707620
Init Game Team71590362019-02-01 14:19:402143 days ago1549030780IN
0x14b2e653...563c5E167
0.01 ETH0.0005720420
Init Game Team70968362019-01-20 5:43:222156 days ago1547963002IN
0x14b2e653...563c5E167
0.01 ETH0.0005707620
Init Game Team70968342019-01-20 5:43:032156 days ago1547962983IN
0x14b2e653...563c5E167
0.01 ETH0.0005707620
Init Game Team70968272019-01-20 5:40:572156 days ago1547962857IN
0x14b2e653...563c5E167
0.01 ETH0.0005707620
Init Game Team70560712019-01-12 23:20:532163 days ago1547335253IN
0x14b2e653...563c5E167
0.01 ETH0.0005720420
Init Game Team70399242019-01-10 1:48:452166 days ago1547084925IN
0x14b2e653...563c5E167
0.01 ETH0.0005720420
Init Game Team70399172019-01-10 1:47:112166 days ago1547084831IN
0x14b2e653...563c5E167
0 ETH0.0005566820
Join Game Team70399122019-01-10 1:46:232166 days ago1547084783IN
0x14b2e653...563c5E167
0 ETH0.0005720420
Init Game Team70398762019-01-10 1:36:542166 days ago1547084214IN
0x14b2e653...563c5E167
0.01 ETH0.0005720420
Init Game Team70398702019-01-10 1:33:492166 days ago1547084029IN
0x14b2e653...563c5E167
0 ETH0.0005566820
Init Game Team70398682019-01-10 1:32:202166 days ago1547083940IN
0x14b2e653...563c5E167
0 ETH0.0005566820
Init Game Team70398672019-01-10 1:31:512166 days ago1547083911IN
0x14b2e653...563c5E167
0.01 ETH0.0005720420
Init Game68724062018-12-12 10:32:072195 days ago1544610727IN
0x14b2e653...563c5E167
0.01 ETH0.000568220
Init Game68723282018-12-12 10:14:102195 days ago1544609650IN
0x14b2e653...563c5E167
0.01 ETH0.000568220
Init Game68723102018-12-12 10:08:572195 days ago1544609337IN
0x14b2e653...563c5E167
0.01 ETH0.000568220
Init Game68720292018-12-12 8:57:222195 days ago1544605042IN
0x14b2e653...563c5E167
0.01 ETH0.000568220
Init Game Team68717232018-12-12 7:47:462195 days ago1544600866IN
0x14b2e653...563c5E167
0.02 ETH0.0005720420
Init Game Team68677472018-12-11 16:02:482195 days ago1544544168IN
0x14b2e653...563c5E167
0.01 ETH0.0002860210
Init Game Team68434342018-12-07 15:49:412199 days ago1544197781IN
0x14b2e653...563c5E167
0.01 ETH0.0005707620
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
82583082019-07-31 12:04:031964 days ago1564574643
0x14b2e653...563c5E167
1.4643 ETH
67343352018-11-19 15:46:212217 days ago1542642381
0x14b2e653...563c5E167
0.01 ETH
67096032018-11-15 14:44:012221 days ago1542293041
0x14b2e653...563c5E167
0.016 ETH
67095952018-11-15 14:41:282221 days ago1542292888
0x14b2e653...563c5E167
0.016 ETH
67095852018-11-15 14:39:152221 days ago1542292755
0x14b2e653...563c5E167
0.016 ETH
67095722018-11-15 14:36:592221 days ago1542292619
0x14b2e653...563c5E167
0.016 ETH
67095632018-11-15 14:34:442221 days ago1542292484
0x14b2e653...563c5E167
0.016 ETH
67095482018-11-15 14:31:132221 days ago1542292273
0x14b2e653...563c5E167
0.016 ETH
67095412018-11-15 14:29:522221 days ago1542292192
0x14b2e653...563c5E167
0.016 ETH
67095322018-11-15 14:27:122221 days ago1542292032
0x14b2e653...563c5E167
0.016 ETH
67069932018-11-15 4:32:332222 days ago1542256353
0x14b2e653...563c5E167
0.01 ETH
67016372018-11-14 7:23:062223 days ago1542180186
0x14b2e653...563c5E167
0.01 ETH
67014632018-11-14 6:40:472223 days ago1542177647
0x14b2e653...563c5E167
0.01 ETH
66977092018-11-13 16:07:252223 days ago1542125245
0x14b2e653...563c5E167
0.017 ETH
66976962018-11-13 16:05:162223 days ago1542125116
0x14b2e653...563c5E167
0.016 ETH
66976852018-11-13 16:02:172223 days ago1542124937
0x14b2e653...563c5E167
0.017 ETH
66976852018-11-13 16:02:172223 days ago1542124937
0x14b2e653...563c5E167
0.024 ETH
66975972018-11-13 15:41:292223 days ago1542123689
0x14b2e653...563c5E167
0.016 ETH
66975662018-11-13 15:33:422223 days ago1542123222
0x14b2e653...563c5E167
0.16 ETH
66975432018-11-13 15:26:362223 days ago1542122796
0x14b2e653...563c5E167
0.017 ETH
66847182018-11-11 12:56:232225 days ago1541940983
0x14b2e653...563c5E167
0.017 ETH
66847072018-11-11 12:53:412225 days ago1541940821
0x14b2e653...563c5E167
0.017 ETH
66846942018-11-11 12:50:362226 days ago1541940636
0x14b2e653...563c5E167
0.017 ETH
66846722018-11-11 12:46:332226 days ago1541940393
0x14b2e653...563c5E167
0.016 ETH
66846612018-11-11 12:44:532226 days ago1541940293
0x14b2e653...563c5E167
0.017 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Etherman

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.23;

contract Ownable {
  address public owner;

  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(address _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}


contract Mortal is Ownable{
    uint public stopTS;
    uint public minimumWait = 1 hours;
    bool public killed;

    /**
     * keep people from joining games or initiating new ones
     * */
    function stopPlaying() public onlyOwner{
        stopTS = now;
    }

    /**
     * kills the contract if enough time has passed. time to pass = twice the waiting time for withdrawal of funds of a running game.
     * */
    function kill() public onlyOwner{
        require(stopTS > 0 && stopTS + 2 * minimumWait <= now, "before killing, playing needs to be stopped and sufficient time has to pass");
        selfdestruct(owner);
    }

    /**
     * like killing, because playing will no longer be possible and funds are withdrawn, but keeps the data available on the blockchain
     * (especially scores)
     * */
    function permaStop() public onlyOwner{
        require(stopTS > 0 && stopTS + 2 * minimumWait <= now, "before killing, playing needs to be stopped and sufficient time has to pass");
        killed = true;
        owner.transfer(address(this).balance);
    }

    /**
     * resume playing. stops the killing preparation.
     * */
    function resumePlaying() public onlyOwner{
        require(!killed, "killed contract cannot be reactivated");
        stopTS = 0;
    }

    /**
     * don't allow certain functions if playing has been stopped
     * */
    modifier active(){
        require(stopTS == 0, "playing has been stopped by the owner");
        _;
    }
}

contract Administrable is Mortal{
    /** the different pots */
    uint public charityPot;
    uint public highscorePot;
    uint public affiliatePot;
    uint public surprisePot;
    uint public developerPot;
    /** the Percentage of the game stake which go into a pot with one decimal (25 => 2.5%) */
    uint public charityPercent = 25;
    uint public highscorePercent = 50;
    uint public affiliatePercent = 50;
    uint public surprisePercent = 25;
    uint public developerPercent = 50;
    uint public winnerPercent = 800;
    /** the current highscore holder **/
    address public highscoreHolder;
    address public signer;
    /** balance of affiliate partners */
    mapping (address => uint) public affiliateBalance;
    /** tells if a hash has already been used for withdrawal **/
    mapping (bytes32 => bool) public used;
    event Withdrawal(uint8 pot, address receiver, uint value);

    modifier validAddress(address receiver){
        require(receiver != 0x0, "invalid receiver");
        _;
    }


    /**
     * set the minimum waiting time for withdrawal of funds of a started but not-finished game
     * */
    function setMinimumWait(uint newMin) public onlyOwner{
        minimumWait = newMin;
    }

    /**
     * withdraw from the developer pot
     * */
    function withdrawDeveloperPot(address receiver) public onlyOwner validAddress(receiver){
        uint value = developerPot;
        developerPot = 0;
        receiver.transfer(value);
        emit Withdrawal(0, receiver, value);
    }

    /**
     * withdraw from the charity pot
     * */
    function donate(address charity) public onlyOwner validAddress(charity){
        uint value = charityPot;
        charityPot = 0;
        charity.transfer(value);
        emit Withdrawal(1, charity, value);
    }

    /**
     * withdraw from the highscorePot
     * */
    function withdrawHighscorePot(address receiver) public validAddress(receiver){
        require(msg.sender == highscoreHolder);
        uint value = highscorePot;
        highscorePot = 0;
        receiver.transfer(value);
        emit Withdrawal(2, receiver, value);
    }

    /**
     * withdraw from the affiliate pot
     * */
    function withdrawAffiliateBalance(address receiver) public validAddress(receiver){
        uint value = affiliateBalance[msg.sender];
        require(value > 0);
        affiliateBalance[msg.sender] = 0;
        receiver.transfer(value);
        emit Withdrawal(3, receiver, value);
    }

    /**
     * withdraw from the surprise pot
     * */
    function withdrawSurprisePot(address receiver) public onlyOwner validAddress(receiver){
        uint value = surprisePot;
        surprisePot = 0;
        receiver.transfer(value);
        emit Withdrawal(4, receiver, value);
    }

    /**
     * allows an user to withdraw from the surprise pot with a valid signature
     * */
    function withdrawSurprisePotUser(uint value, uint expiry, uint8 v, bytes32 r, bytes32 s) public{
        require(expiry >= now, "signature expired");
        bytes32 hash = keccak256(abi.encodePacked(msg.sender, value, expiry));
        require(!used[hash], "same signature was used before");
        require(ecrecover(hash, v, r, s) == signer, "invalid signer");
        require(value <= surprisePot, "not enough in the pot");
        surprisePot -= value;
        used[hash] = true;
        msg.sender.transfer(value);
        emit Withdrawal(4, msg.sender, value);
    }

    /**
     * sets the signing address
     * */
    function setSigner(address signingAddress) public onlyOwner{
        signer = signingAddress;
    }

    /**
     * sets the pot Percentages
     * */
    function setPercentages(uint affiliate, uint charity, uint dev, uint highscore, uint surprise) public onlyOwner{
        uint sum =  affiliate + charity + highscore + surprise + dev;
        require(sum < 500, "winner should not lose money");
        charityPercent = charity;
        affiliatePercent = affiliate;
        highscorePercent = highscore;
        surprisePercent = surprise;
        developerPercent = dev;
        winnerPercent = 1000 - sum;
    }
}

contract Etherman is Administrable{

    struct game{
        uint32 timestamp;
        uint128 stake;
        address player1;
        address player2;
    }

    struct player{
        uint8 team;
        uint64 score;
        address referrer;
    }

    mapping (bytes32 => game) public games;
    mapping (address => player) public players;

    event NewGame(bytes32 gameId, address player1, uint stake);
    event GameStarted(bytes32 gameId, address player1, address player2, uint stake);
    event GameDestroyed(bytes32 gameId);
    event GameEnd(bytes32 gameId, address winner, uint value);
    event NewHighscore(address holder, uint score, uint lastPot);

    modifier onlyHuman(){
        require(msg.sender == tx.origin, "contract calling");
        _;
    }

    constructor(address signingAddress) public{
        setSigner(signingAddress);
    }

    /**
     * sets the referrer for the lifetime affiliate program and initiates a new game
     * */
    function initGameReferred(address referrer, uint8 team) public payable active onlyHuman validAddress(referrer){
        //new player which does not have a referrer set yet
        if(players[msg.sender].referrer == 0x0 && players[msg.sender].score == 0)
            players[msg.sender] = player(team, 0, referrer);
        initGame();
    }

    /**
     * sets the team and initiates a game
     * */
    function initGameTeam(uint8 team) public payable active onlyHuman{
        if(players[msg.sender].score == 0)
            players[msg.sender].team = team;
        initGame();
    }

    /**
     * initiates a new game
     * */
    function initGame() public payable active onlyHuman{
        require(msg.value <= 10 ether, "stake needs to be lower than or equal to 10 ether");
        require(msg.value > 1 finney, "stake needs to be at least 1 finney");
        bytes32 gameId = keccak256(abi.encodePacked(msg.sender, block.number));
        games[gameId] = game(uint32(now), uint128(msg.value), msg.sender, 0x0);
        emit NewGame(gameId, msg.sender, msg.value);
    }

    /**
     * sets the referrer for the lifetime affiliate program and joins a game
     * */
    function joinGameReferred(bytes32 gameId, address referrer, uint8 team) public payable active onlyHuman validAddress(referrer){
        //new player which does not have a referrer set yet
        if(players[msg.sender].referrer == 0x0 && players[msg.sender].score == 0)
            players[msg.sender] = player(team, 0, referrer);
        joinGame(gameId);
    }

    /**
     * sets the team and joins a game
     * */
    function joinGameTeam(bytes32 gameId, uint8 team) public payable active onlyHuman{
        if(players[msg.sender].score == 0)
            players[msg.sender].team = team;
        joinGame(gameId);
    }

    /**
     * join a game
     * */
    function joinGame(bytes32 gameId) public payable active onlyHuman{
        game storage cGame = games[gameId];
        require(cGame.player1!=0x0, "game id unknown");
        require(cGame.player1 != msg.sender, "cannot play with one self");
        require(msg.value >= cGame.stake, "value does not suffice to join the game");
        cGame.player2 = msg.sender;
        cGame.timestamp = uint32(now);
        emit GameStarted(gameId, cGame.player1, msg.sender, cGame.stake);
        if(msg.value > cGame.stake) developerPot += msg.value - cGame.stake;
    }

    /**
     * withdraw from the game stake in case no second player joined or the game was not ended within the
     * minimum waiting time
     * */
    function withdraw(bytes32 gameId) public onlyHuman{
        game storage cGame = games[gameId];
        uint128 value = cGame.stake;
        if(msg.sender == cGame.player1){
            if(cGame.player2 == 0x0){
                delete games[gameId];
                msg.sender.transfer(value);
            }
            else if(cGame.timestamp + minimumWait <= now){
                address player2 = cGame.player2;
                delete games[gameId];
                msg.sender.transfer(value);
                player2.transfer(value);
            }
            else{
                revert("minimum waiting time has not yet passed");
            }
        }
        else if(msg.sender == cGame.player2){
            if(cGame.timestamp + minimumWait <= now){
                address player1 = cGame.player1;
                delete games[gameId];
                msg.sender.transfer(value);
                player1.transfer(value);
            }
            else{
                revert("minimum waiting time has not yet passed");
            }
        }
        else{
            revert("sender is not a player in this game");
        }
        emit GameDestroyed(gameId);
    }

    /**
     * The winner can claim his winnings, only with a signature from the contract owner.
     * the pot is distributed amongst the winner, the developers, the affiliate partner, a charity and the surprise pot
     * */
    function claimWin(bytes32 gameId, uint8 v, bytes32 r, bytes32 s) public onlyHuman{
        game storage cGame = games[gameId];
        require(cGame.player2!=0x0, "game has not started yet");
        require(msg.sender == cGame.player1 || msg.sender == cGame.player2, "sender is not a player in this game");
        require(ecrecover(keccak256(abi.encodePacked(gameId, msg.sender)), v, r, s) == signer, "invalid signature");
        uint256 value = 2*cGame.stake;
        uint256 win = winnerPercent * value / 1000;
        addScore(msg.sender, cGame.stake);
        delete games[gameId];
        charityPot += value * charityPercent / 1000;
        //players of the leading team do not pay tributes
        if(players[highscoreHolder].team == players[msg.sender].team){
            win += value * highscorePercent / 1000;
        }
        else{
            highscorePot += value * highscorePercent / 1000;
        }
        surprisePot += value * surprisePercent / 1000;
        if(players[msg.sender].referrer == 0x0){
            developerPot += value * (developerPercent + affiliatePercent) / 1000;
        }
        else{
            developerPot += value * developerPercent / 1000;
            affiliateBalance[players[msg.sender].referrer] += value * affiliatePercent / 1000;
        }
        msg.sender.transfer(win);//no overflow possible because stake is <= max uint128, but now we have 256 bit
        emit GameEnd(gameId, msg.sender, win);
    }

    function addScore(address receiver, uint stake) private{
        player storage rec = players[receiver];
        player storage hsh = players[highscoreHolder];
        if(rec.team == hsh.team){
            if(stake < 0.05 ether) rec.score += 1;
            else if(stake < 0.5 ether) rec.score += 5;
            else rec.score += 10;
        }
        else{//extra points if not belonging to the highscore team
            if(stake < 0.05 ether) rec.score += 2;
            else if(stake < 0.5 ether) rec.score += 7;
            else rec.score += 13;
        }
        if(rec.score > hsh.score){
            uint pot = highscorePot;
            if(pot > 0){
                highscorePot = 0;
                highscoreHolder.transfer(pot);
            }
            highscoreHolder = receiver;
            emit NewHighscore(receiver, rec.score, pot);
        }
    }

    /**
     * any directly sent ETH are considered a donation for development
     * */
    function() public payable{
        developerPot+=msg.value;
    }
    
    function doNothing(){
        
    }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"charity","type":"address"}],"name":"donate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"affiliatePot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"winnerPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumWait","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"highscorePot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"killed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"signer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"developerPot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"highscoreHolder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"charityPot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumePlaying","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"bytes32"},{"name":"referrer","type":"address"},{"name":"team","type":"uint8"}],"name":"joinGameReferred","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"doNothing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"developerPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"initGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"charityPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"surprisePot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"highscorePercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"signingAddress","type":"address"}],"name":"setSigner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"},{"name":"expiry","type":"uint256"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"withdrawSurprisePotUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"}],"name":"withdrawHighscorePot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"affiliate","type":"uint256"},{"name":"charity","type":"uint256"},{"name":"dev","type":"uint256"},{"name":"highscore","type":"uint256"},{"name":"surprise","type":"uint256"}],"name":"setPercentages","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"permaStop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"bytes32"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"claimWin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"affiliateBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newMin","type":"uint256"}],"name":"setMinimumWait","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"team","type":"uint8"}],"name":"initGameTeam","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"bytes32"},{"name":"team","type":"uint8"}],"name":"joinGameTeam","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"used","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"bytes32"}],"name":"joinGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"}],"name":"withdrawAffiliateBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"surprisePercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"}],"name":"withdrawDeveloperPot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"}],"name":"withdrawSurprisePot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"referrer","type":"address"},{"name":"team","type":"uint8"}],"name":"initGameReferred","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"players","outputs":[{"name":"team","type":"uint8"},{"name":"score","type":"uint64"},{"name":"referrer","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopPlaying","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stopTS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"affiliatePercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"games","outputs":[{"name":"timestamp","type":"uint32"},{"name":"stake","type":"uint128"},{"name":"player1","type":"address"},{"name":"player2","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"signingAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"gameId","type":"bytes32"},{"indexed":false,"name":"player1","type":"address"},{"indexed":false,"name":"stake","type":"uint256"}],"name":"NewGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"gameId","type":"bytes32"},{"indexed":false,"name":"player1","type":"address"},{"indexed":false,"name":"player2","type":"address"},{"indexed":false,"name":"stake","type":"uint256"}],"name":"GameStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"gameId","type":"bytes32"}],"name":"GameDestroyed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"gameId","type":"bytes32"},{"indexed":false,"name":"winner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"GameEnd","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"holder","type":"address"},{"indexed":false,"name":"score","type":"uint256"},{"indexed":false,"name":"lastPot","type":"uint256"}],"name":"NewHighscore","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"pot","type":"uint8"},{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Withdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

6080604052610e1060025560196009556032600a556032600b556019600c556032600d55610320600e553480156200003657600080fd5b5060405160208062002c5f833981016040525160008054600160a060020a031916331790556200006f8164010000000062000076810204565b50620000b0565b600054600160a060020a031633146200008e57600080fd5b60108054600160a060020a031916600160a060020a0392909216919091179055565b612b9f80620000c06000396000f3006080604052600436106102185763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662362a9581146102225780630b2b26cc146102455780630baebca41461026c57806312c1c1d6146102815780631e31cee9146102965780631f3a0e41146102ab578063238ac933146102d457806323a347f21461030557806326dd1bd01461031a5780632b2b32fc1461032f5780632e466373146103445780632e519ad5146103595780632f576f2014610376578063300bf2e11461038b57806332eb2564146103a057806341c0e1b5146103a85780634a8cbae1146103bd5780636149e668146103d257806368e27690146103e75780636c19e783146103fc5780637d3bfaee1461041d57806380a738bf1461044457806383e06ead146104655780638da5cb5b146104895780638e1876ee1461049e5780638e19899e146104b357806395199b24146104cb578063978a4509146104ef57806397b5144214610510578063aab52c3314610528578063ae200c7314610536578063b07c411f14610547578063bf4747661461055f578063bf56ac811461056a578063cba22f171461058b578063d22341a9146105a0578063d43c45b8146105c1578063db1227da146105e2578063e2eb41ff146105fc578063ef5fbdb214610651578063f2d8d09914610666578063f2fde38b1461067b578063f4239eec1461069c578063f579f882146106b1575b6008805434019055005b34801561022e57600080fd5b50610243600160a060020a0360043516610707565b005b34801561025157600080fd5b5061025a6107ec565b60408051918252519081900360200190f35b34801561027857600080fd5b5061025a6107f2565b34801561028d57600080fd5b5061025a6107f8565b3480156102a257600080fd5b5061025a6107fe565b3480156102b757600080fd5b506102c0610804565b604080519115158252519081900360200190f35b3480156102e057600080fd5b506102e961080d565b60408051600160a060020a039092168252519081900360200190f35b34801561031157600080fd5b5061025a61081c565b34801561032657600080fd5b506102e9610822565b34801561033b57600080fd5b5061025a610831565b34801561035057600080fd5b50610243610837565b610243600435600160a060020a036024351660ff604435166108d6565b34801561038257600080fd5b50610243610aca565b34801561039757600080fd5b5061025a610acc565b610243610ad2565b3480156103b457600080fd5b50610243610e17565b3480156103c957600080fd5b5061025a610ef9565b3480156103de57600080fd5b5061025a610eff565b3480156103f357600080fd5b5061025a610f05565b34801561040857600080fd5b50610243600160a060020a0360043516610f0b565b34801561042957600080fd5b5061024360043560243560ff60443516606435608435610f44565b34801561045057600080fd5b50610243600160a060020a0360043516611250565b34801561047157600080fd5b50610243600435602435604435606435608435611336565b34801561049557600080fd5b506102e96113d5565b3480156104aa57600080fd5b506102436113e4565b3480156104bf57600080fd5b50610243600435611503565b3480156104d757600080fd5b5061024360043560ff602435166044356064356118e9565b3480156104fb57600080fd5b5061025a600160a060020a0360043516611da4565b34801561051c57600080fd5b50610243600435611db6565b61024360ff60043516611dd2565b61024360043560ff60243516611eb8565b34801561055357600080fd5b506102c0600435611fa3565b610243600435611fb8565b34801561057657600080fd5b50610243600160a060020a036004351661228d565b34801561059757600080fd5b5061025a61237d565b3480156105ac57600080fd5b50610243600160a060020a0360043516612383565b3480156105cd57600080fd5b50610243600160a060020a0360043516612468565b610243600160a060020a036004351660ff6024351661254d565b34801561060857600080fd5b5061061d600160a060020a036004351661273f565b6040805160ff909416845267ffffffffffffffff9092166020840152600160a060020a031682820152519081900360600190f35b34801561065d57600080fd5b5061024361277c565b34801561067257600080fd5b5061025a612799565b34801561068757600080fd5b50610243600160a060020a036004351661279f565b3480156106a857600080fd5b5061025a6127bf565b3480156106bd57600080fd5b506106c96004356127c5565b6040805163ffffffff90951685526001608060020a039093166020850152600160a060020a0391821684840152166060830152519081900360800190f35b60008054600160a060020a0316331461071f57600080fd5b81600160a060020a038116151561076e576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b60048054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f193505050501580156107af573d6000803e3d6000fd5b506040805160018152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b60065481565b600e5481565b60025481565b60055481565b60035460ff1681565b601054600160a060020a031681565b60085481565b600f54600160a060020a031681565b60045481565b600054600160a060020a0316331461084e57600080fd5b60035460ff16156108cf576040805160e560020a62461bcd02815260206004820152602560248201527f6b696c6c656420636f6e74726163742063616e6e6f742062652072656163746960448201527f7661746564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000600155565b6001541561092d576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214610972576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b81600160a060020a03811615156109c1576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b3360009081526014602052604090205469010000000000000000009004600160a060020a0316158015610a10575033600090815260146020526040902054610100900467ffffffffffffffff16155b15610abb576040805160608101825260ff848116825260006020808401828152600160a060020a03898116868801908152338552601490935295909220935184549251915160ff1990931693169290921768ffffffffffffffff00191661010067ffffffffffffffff90931692909202919091177cffffffffffffffffffffffffffffffffffffffff0000000000000000001916690100000000000000000091909316029190911790555b610ac484611fb8565b50505050565b565b600d5481565b60015460009015610b2c576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214610b71576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b678ac7230489e80000341115610bf7576040805160e560020a62461bcd02815260206004820152603160248201527f7374616b65206e6565647320746f206265206c6f776572207468616e206f722060448201527f657175616c20746f203130206574686572000000000000000000000000000000606482015290519081900360840190fd5b66038d7ea4c680003411610c7b576040805160e560020a62461bcd02815260206004820152602360248201527f7374616b65206e6565647320746f206265206174206c6561737420312066696e60448201527f6e65790000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b33436040516020018083600160a060020a0316600160a060020a03166c01000000000000000000000000028152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310610cf35780518252601f199092019160209182019101610cd4565b51815160209384036101000a6000190180199092169116179052604080519290940182900382206080830185524263ffffffff9081168452346001608060020a0381811686860190815233878a0181815260006060808b0182815289835260138b52918d90209a518b54955163ffffffff1990961698169790971773ffffffffffffffffffffffffffffffff00000000191664010000000094909516939093029390931788559151600188018054600160a060020a0319908116600160a060020a03938416179091559151600290980180549092169716969096179095558651838152938401949094528286019390935293519396507f4126b7370effe88fef27c6093280d30b5465f0deb4d54f94aaf0231be0913705955083900301925050a150565b600054600160a060020a03163314610e2e57600080fd5b6000600154118015610e495750426002546002026001540111155b1515610eeb576040805160e560020a62461bcd02815260206004820152604b60248201527f6265666f7265206b696c6c696e672c20706c6179696e67206e6565647320746f60448201527f2062652073746f7070656420616e642073756666696369656e742074696d652060648201527f68617320746f2070617373000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600054600160a060020a0316ff5b60095481565b60075481565b600a5481565b600054600160a060020a03163314610f2257600080fd5b60108054600160a060020a031916600160a060020a0392909216919091179055565b600042851015610f9e576040805160e560020a62461bcd02815260206004820152601160248201527f7369676e61747572652065787069726564000000000000000000000000000000604482015290519081900360640190fd5b604080516c01000000000000000000000000330260208083019190915260348201899052605480830189905283518084039091018152607490920192839052815191929182918401908083835b6020831061100a5780518252601f199092019160209182019101610feb565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526012909252929020549194505060ff161591506110a09050576040805160e560020a62461bcd02815260206004820152601e60248201527f73616d65207369676e6174757265207761732075736564206265666f72650000604482015290519081900360640190fd5b601054604080516000808252602080830180855286905260ff89168385015260608301889052608083018790529251600160a060020a039094169360019360a0808501949193601f19840193928390039091019190865af1158015611109573d6000803e3d6000fd5b50505060206040510351600160a060020a0316141515611173576040805160e560020a62461bcd02815260206004820152600e60248201527f696e76616c6964207369676e6572000000000000000000000000000000000000604482015290519081900360640190fd5b6007548611156111cd576040805160e560020a62461bcd02815260206004820152601560248201527f6e6f7420656e6f75676820696e2074686520706f740000000000000000000000604482015290519081900360640190fd5b600780548790039055600081815260126020526040808220805460ff1916600117905551339188156108fc02918991818181858888f19350505050158015611219573d6000803e3d6000fd5b5060408051600481523360208201528082018890529051600080516020612af48339815191529181900360600190a1505050505050565b600081600160a060020a03811615156112a1576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b600f54600160a060020a031633146112b857600080fd5b60058054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f193505050501580156112f9573d6000803e3d6000fd5b506040805160028152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b60008054600160a060020a0316331461134e57600080fd5b508484018201810183016101f481106113b1576040805160e560020a62461bcd02815260206004820152601c60248201527f77696e6e65722073686f756c64206e6f74206c6f7365206d6f6e657900000000604482015290519081900360640190fd5b600994909455600b94909455600a55600c92909255600d919091556103e803600e55565b600054600160a060020a031681565b600054600160a060020a031633146113fb57600080fd5b60006001541180156114165750426002546002026001540111155b15156114b8576040805160e560020a62461bcd02815260206004820152604b60248201527f6265666f7265206b696c6c696e672c20706c6179696e67206e6565647320746f60448201527f2062652073746f7070656420616e642073756666696369656e742074696d652060648201527f68617320746f2070617373000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6003805460ff1916600117905560008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015611500573d6000803e3d6000fd5b50565b600080808033321461154d576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b60008581526013602052604090208054600182015491955064010000000090046001608060020a03169350600160a060020a0316331415611754576002840154600160a060020a0316151561160a576000858152601360205260408082208054600160a060020a03199081168255600182018054821690556002909101805490911690555133916001608060020a03861680156108fc02929091818181858888f19350505050158015611604573d6000803e3d6000fd5b5061174f565b60025484544263ffffffff909116909101116116d9576002808501546000878152601360205260408082208054600160a060020a0319908116825560018201805482169055940180549094169093559151600160a060020a03909116935033916001608060020a03861680156108fc02929091818181858888f1935050505015801561169a573d6000803e3d6000fd5b50604051600160a060020a038316906001608060020a03851680156108fc02916000818181858888f19350505050158015611604573d6000803e3d6000fd5b6040805160e560020a62461bcd02815260206004820152602760248201527f6d696e696d756d2077616974696e672074696d6520686173206e6f742079657460448201527f2070617373656400000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6118af565b6002840154600160a060020a03163314156118395760025484544263ffffffff909116909101116116d957506001808401546000868152601360205260408082208054600160a060020a0319908116825594810180548616905560020180549094169093559151600160a060020a039091169133916001608060020a03861680156108fc0292909190818181858888f193505050501580156117fa573d6000803e3d6000fd5b50604051600160a060020a038216906001608060020a03851680156108fc02916000818181858888f19350505050158015611604573d6000803e3d6000fd5b6040805160e560020a62461bcd02815260206004820152602360248201527f73656e646572206973206e6f74206120706c6179657220696e2074686973206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805186815290517f59294a5afbc06d52df3c4e22551f3296d86d0146606b4b0a849b241d8e0a7e019181900360200190a15050505050565b60008080333214611932576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b60008781526013602052604090206002810154909350600160a060020a031615156119a7576040805160e560020a62461bcd02815260206004820152601860248201527f67616d6520686173206e6f742073746172746564207965740000000000000000604482015290519081900360640190fd5b6001830154600160a060020a03163314806119ce57506002830154600160a060020a031633145b1515611a4a576040805160e560020a62461bcd02815260206004820152602360248201527f73656e646572206973206e6f74206120706c6179657220696e2074686973206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6010546040805160208082018b90526c01000000000000000000000000330282840152825160348184030181526054909201928390528151600160a060020a0390941693600193918291908401908083835b60208310611abb5780518252601f199092019160209182019101611a9c565b51815160209384036101000a60001901801990921691161790526040805192909401829003822060008084528383018087529190915260ff8f1683860152606083018e9052608083018d9052935160a08084019750919550601f1981019492819003909101925090865af1158015611b37573d6000803e3d6000fd5b50505060206040510351600160a060020a0316141515611ba1576040805160e560020a62461bcd02815260206004820152601160248201527f696e76616c6964207369676e6174757265000000000000000000000000000000604482015290519081900360640190fd5b50508054600e546401000000009091046001608060020a0390811660028102909116916103e89083020490611bd790339061280b565b60008781526013602052604090208054600160a060020a03199081168255600182018054821690556002909101805490911690556009546103e8908302600480549290910490910190553360009081526014602052604080822054600f54600160a060020a0316835291205460ff91821691161415611c6057600a546103e89083020401611c77565b600a546103e8908302600580549290910490910190555b600c546103e890830260078054929091049190910190553360009081526014602052604090205469010000000000000000009004600160a060020a03161515611cd957600b54600d546103e89101830260088054929091049091019055611d2e565b600d54600880546103e8928502839004019055600b543360009081526014602090815260408083205469010000000000000000009004600160a060020a03168352601190915290208054918502929092040190555b604051339082156108fc029083906000818181858888f19350505050158015611d5b573d6000803e3d6000fd5b506040805188815233602082015280820183905290517f4ef4d496039319a17ccaef46726f518346390d83279cefad28e147b3eb04509f9181900360600190a150505050505050565b60116020526000908152604090205481565b600054600160a060020a03163314611dcd57600080fd5b600255565b60015415611e29576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214611e6e576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b33600090815260146020526040902054610100900467ffffffffffffffff161515611eb057336000908152601460205260409020805460ff191660ff83161790555b611500610ad2565b60015415611f0f576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214611f54576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b33600090815260146020526040902054610100900467ffffffffffffffff161515611f9657336000908152601460205260409020805460ff191660ff83161790555b611f9f82611fb8565b5050565b60126020526000908152604090205460ff1681565b60015460009015612012576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214612057576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b5060008181526013602052604090206001810154600160a060020a031615156120ca576040805160e560020a62461bcd02815260206004820152600f60248201527f67616d6520696420756e6b6e6f776e0000000000000000000000000000000000604482015290519081900360640190fd5b6001810154600160a060020a031633141561212f576040805160e560020a62461bcd02815260206004820152601960248201527f63616e6e6f7420706c61792077697468206f6e652073656c6600000000000000604482015290519081900360640190fd5b805464010000000090046001608060020a03163410156121bf576040805160e560020a62461bcd02815260206004820152602760248201527f76616c756520646f6573206e6f74207375666669636520746f206a6f696e207460448201527f68652067616d6500000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60028101805433600160a060020a03199091168117909155815463ffffffff19164263ffffffff1617808355600183015460408051868152600160a060020a039092166020830152818101939093526401000000009091046001608060020a0316606082015290517fca5be7d622fe97529270450062762f9bac7e27828ef7b8658af85234f44146cd916080908290030190a1805464010000000090046001608060020a0316341115611f9f5754600880546401000000009092046001608060020a03163403909101905550565b600081600160a060020a03811615156122de576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b33600090815260116020526040812054925082116122fb57600080fd5b3360009081526011602052604080822082905551600160a060020a0385169184156108fc02918591818181858888f19350505050158015612340573d6000803e3d6000fd5b506040805160038152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b600c5481565b60008054600160a060020a0316331461239b57600080fd5b81600160a060020a03811615156123ea576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b60088054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f1935050505015801561242b573d6000803e3d6000fd5b506040805160008152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b60008054600160a060020a0316331461248057600080fd5b81600160a060020a03811615156124cf576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b60078054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f19350505050158015612510573d6000803e3d6000fd5b506040805160048152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b600154156125a4576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b3332146125e9576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b81600160a060020a0381161515612638576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b3360009081526014602052604090205469010000000000000000009004600160a060020a0316158015612687575033600090815260146020526040902054610100900467ffffffffffffffff16155b15612732576040805160608101825260ff848116825260006020808401828152600160a060020a03898116868801908152338552601490935295909220935184549251915160ff1990931693169290921768ffffffffffffffff00191661010067ffffffffffffffff90931692909202919091177cffffffffffffffffffffffffffffffffffffffff0000000000000000001916690100000000000000000091909316029190911790555b61273a610ad2565b505050565b60146020526000908152604090205460ff811690610100810467ffffffffffffffff169069010000000000000000009004600160a060020a031683565b600054600160a060020a0316331461279357600080fd5b42600155565b60015481565b600054600160a060020a031633146127b657600080fd5b61150081612a83565b600b5481565b60136020526000908152604090208054600182015460029092015463ffffffff8216926401000000009092046001608060020a031691600160a060020a03908116911684565b600160a060020a03808316600090815260146020526040808220600f54909316825281208054835491929160ff908116911614156128f35766b1a2bc2ec5000084101561288257825467ffffffffffffffff61010080830482166001019091160268ffffffffffffffff00199091161783556128ee565b6706f05b59d3b200008410156128c257825467ffffffffffffffff61010080830482166005019091160268ffffffffffffffff00199091161783556128ee565b825467ffffffffffffffff6101008083048216600a019091160268ffffffffffffffff00199091161783555b61299e565b66b1a2bc2ec5000084101561293257825467ffffffffffffffff61010080830482166002019091160268ffffffffffffffff001990911617835561299e565b6706f05b59d3b2000084101561297257825467ffffffffffffffff61010080830482166007019091160268ffffffffffffffff001990911617835561299e565b825467ffffffffffffffff6101008083048216600d019091160268ffffffffffffffff00199091161783555b8154835467ffffffffffffffff61010092839004811692909104161115612a7c57506005546000811115612a0d5760006005819055600f54604051600160a060020a039091169183156108fc02918491818181858888f19350505050158015612a0b573d6000803e3d6000fd5b505b600f8054600160a060020a031916600160a060020a03871690811790915583546040805192835261010090910467ffffffffffffffff166020830152818101839052517f44902cefd1b33a89a824758dc244c24d96e8e78b7c5ecec13f6b5ed614f3bc66916060908290030190a15b5050505050565b600160a060020a0381161515612a9857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a03929092169190911790555600f8e30dbf1118fc6e5d75ebae65199193b14ec45bae8eedc935f31458e399bcf8706c6179696e6720686173206265656e2073746f707065642062792074686520696e76616c696420726563656976657200000000000000000000000000000000636f6e74726163742063616c6c696e6700000000000000000000000000000000a165627a7a72305820be51506e0ade0138b41c7336a8177198bd567a1604d60f6bcfd2beda28e3e92700290000000000000000000000001c797356d91563699e7d7599cc1e0e2efa186e92

Deployed Bytecode

0x6080604052600436106102185763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662362a9581146102225780630b2b26cc146102455780630baebca41461026c57806312c1c1d6146102815780631e31cee9146102965780631f3a0e41146102ab578063238ac933146102d457806323a347f21461030557806326dd1bd01461031a5780632b2b32fc1461032f5780632e466373146103445780632e519ad5146103595780632f576f2014610376578063300bf2e11461038b57806332eb2564146103a057806341c0e1b5146103a85780634a8cbae1146103bd5780636149e668146103d257806368e27690146103e75780636c19e783146103fc5780637d3bfaee1461041d57806380a738bf1461044457806383e06ead146104655780638da5cb5b146104895780638e1876ee1461049e5780638e19899e146104b357806395199b24146104cb578063978a4509146104ef57806397b5144214610510578063aab52c3314610528578063ae200c7314610536578063b07c411f14610547578063bf4747661461055f578063bf56ac811461056a578063cba22f171461058b578063d22341a9146105a0578063d43c45b8146105c1578063db1227da146105e2578063e2eb41ff146105fc578063ef5fbdb214610651578063f2d8d09914610666578063f2fde38b1461067b578063f4239eec1461069c578063f579f882146106b1575b6008805434019055005b34801561022e57600080fd5b50610243600160a060020a0360043516610707565b005b34801561025157600080fd5b5061025a6107ec565b60408051918252519081900360200190f35b34801561027857600080fd5b5061025a6107f2565b34801561028d57600080fd5b5061025a6107f8565b3480156102a257600080fd5b5061025a6107fe565b3480156102b757600080fd5b506102c0610804565b604080519115158252519081900360200190f35b3480156102e057600080fd5b506102e961080d565b60408051600160a060020a039092168252519081900360200190f35b34801561031157600080fd5b5061025a61081c565b34801561032657600080fd5b506102e9610822565b34801561033b57600080fd5b5061025a610831565b34801561035057600080fd5b50610243610837565b610243600435600160a060020a036024351660ff604435166108d6565b34801561038257600080fd5b50610243610aca565b34801561039757600080fd5b5061025a610acc565b610243610ad2565b3480156103b457600080fd5b50610243610e17565b3480156103c957600080fd5b5061025a610ef9565b3480156103de57600080fd5b5061025a610eff565b3480156103f357600080fd5b5061025a610f05565b34801561040857600080fd5b50610243600160a060020a0360043516610f0b565b34801561042957600080fd5b5061024360043560243560ff60443516606435608435610f44565b34801561045057600080fd5b50610243600160a060020a0360043516611250565b34801561047157600080fd5b50610243600435602435604435606435608435611336565b34801561049557600080fd5b506102e96113d5565b3480156104aa57600080fd5b506102436113e4565b3480156104bf57600080fd5b50610243600435611503565b3480156104d757600080fd5b5061024360043560ff602435166044356064356118e9565b3480156104fb57600080fd5b5061025a600160a060020a0360043516611da4565b34801561051c57600080fd5b50610243600435611db6565b61024360ff60043516611dd2565b61024360043560ff60243516611eb8565b34801561055357600080fd5b506102c0600435611fa3565b610243600435611fb8565b34801561057657600080fd5b50610243600160a060020a036004351661228d565b34801561059757600080fd5b5061025a61237d565b3480156105ac57600080fd5b50610243600160a060020a0360043516612383565b3480156105cd57600080fd5b50610243600160a060020a0360043516612468565b610243600160a060020a036004351660ff6024351661254d565b34801561060857600080fd5b5061061d600160a060020a036004351661273f565b6040805160ff909416845267ffffffffffffffff9092166020840152600160a060020a031682820152519081900360600190f35b34801561065d57600080fd5b5061024361277c565b34801561067257600080fd5b5061025a612799565b34801561068757600080fd5b50610243600160a060020a036004351661279f565b3480156106a857600080fd5b5061025a6127bf565b3480156106bd57600080fd5b506106c96004356127c5565b6040805163ffffffff90951685526001608060020a039093166020850152600160a060020a0391821684840152166060830152519081900360800190f35b60008054600160a060020a0316331461071f57600080fd5b81600160a060020a038116151561076e576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b60048054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f193505050501580156107af573d6000803e3d6000fd5b506040805160018152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b60065481565b600e5481565b60025481565b60055481565b60035460ff1681565b601054600160a060020a031681565b60085481565b600f54600160a060020a031681565b60045481565b600054600160a060020a0316331461084e57600080fd5b60035460ff16156108cf576040805160e560020a62461bcd02815260206004820152602560248201527f6b696c6c656420636f6e74726163742063616e6e6f742062652072656163746960448201527f7661746564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000600155565b6001541561092d576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214610972576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b81600160a060020a03811615156109c1576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b3360009081526014602052604090205469010000000000000000009004600160a060020a0316158015610a10575033600090815260146020526040902054610100900467ffffffffffffffff16155b15610abb576040805160608101825260ff848116825260006020808401828152600160a060020a03898116868801908152338552601490935295909220935184549251915160ff1990931693169290921768ffffffffffffffff00191661010067ffffffffffffffff90931692909202919091177cffffffffffffffffffffffffffffffffffffffff0000000000000000001916690100000000000000000091909316029190911790555b610ac484611fb8565b50505050565b565b600d5481565b60015460009015610b2c576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214610b71576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b678ac7230489e80000341115610bf7576040805160e560020a62461bcd02815260206004820152603160248201527f7374616b65206e6565647320746f206265206c6f776572207468616e206f722060448201527f657175616c20746f203130206574686572000000000000000000000000000000606482015290519081900360840190fd5b66038d7ea4c680003411610c7b576040805160e560020a62461bcd02815260206004820152602360248201527f7374616b65206e6565647320746f206265206174206c6561737420312066696e60448201527f6e65790000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b33436040516020018083600160a060020a0316600160a060020a03166c01000000000000000000000000028152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310610cf35780518252601f199092019160209182019101610cd4565b51815160209384036101000a6000190180199092169116179052604080519290940182900382206080830185524263ffffffff9081168452346001608060020a0381811686860190815233878a0181815260006060808b0182815289835260138b52918d90209a518b54955163ffffffff1990961698169790971773ffffffffffffffffffffffffffffffff00000000191664010000000094909516939093029390931788559151600188018054600160a060020a0319908116600160a060020a03938416179091559151600290980180549092169716969096179095558651838152938401949094528286019390935293519396507f4126b7370effe88fef27c6093280d30b5465f0deb4d54f94aaf0231be0913705955083900301925050a150565b600054600160a060020a03163314610e2e57600080fd5b6000600154118015610e495750426002546002026001540111155b1515610eeb576040805160e560020a62461bcd02815260206004820152604b60248201527f6265666f7265206b696c6c696e672c20706c6179696e67206e6565647320746f60448201527f2062652073746f7070656420616e642073756666696369656e742074696d652060648201527f68617320746f2070617373000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600054600160a060020a0316ff5b60095481565b60075481565b600a5481565b600054600160a060020a03163314610f2257600080fd5b60108054600160a060020a031916600160a060020a0392909216919091179055565b600042851015610f9e576040805160e560020a62461bcd02815260206004820152601160248201527f7369676e61747572652065787069726564000000000000000000000000000000604482015290519081900360640190fd5b604080516c01000000000000000000000000330260208083019190915260348201899052605480830189905283518084039091018152607490920192839052815191929182918401908083835b6020831061100a5780518252601f199092019160209182019101610feb565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526012909252929020549194505060ff161591506110a09050576040805160e560020a62461bcd02815260206004820152601e60248201527f73616d65207369676e6174757265207761732075736564206265666f72650000604482015290519081900360640190fd5b601054604080516000808252602080830180855286905260ff89168385015260608301889052608083018790529251600160a060020a039094169360019360a0808501949193601f19840193928390039091019190865af1158015611109573d6000803e3d6000fd5b50505060206040510351600160a060020a0316141515611173576040805160e560020a62461bcd02815260206004820152600e60248201527f696e76616c6964207369676e6572000000000000000000000000000000000000604482015290519081900360640190fd5b6007548611156111cd576040805160e560020a62461bcd02815260206004820152601560248201527f6e6f7420656e6f75676820696e2074686520706f740000000000000000000000604482015290519081900360640190fd5b600780548790039055600081815260126020526040808220805460ff1916600117905551339188156108fc02918991818181858888f19350505050158015611219573d6000803e3d6000fd5b5060408051600481523360208201528082018890529051600080516020612af48339815191529181900360600190a1505050505050565b600081600160a060020a03811615156112a1576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b600f54600160a060020a031633146112b857600080fd5b60058054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f193505050501580156112f9573d6000803e3d6000fd5b506040805160028152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b60008054600160a060020a0316331461134e57600080fd5b508484018201810183016101f481106113b1576040805160e560020a62461bcd02815260206004820152601c60248201527f77696e6e65722073686f756c64206e6f74206c6f7365206d6f6e657900000000604482015290519081900360640190fd5b600994909455600b94909455600a55600c92909255600d919091556103e803600e55565b600054600160a060020a031681565b600054600160a060020a031633146113fb57600080fd5b60006001541180156114165750426002546002026001540111155b15156114b8576040805160e560020a62461bcd02815260206004820152604b60248201527f6265666f7265206b696c6c696e672c20706c6179696e67206e6565647320746f60448201527f2062652073746f7070656420616e642073756666696369656e742074696d652060648201527f68617320746f2070617373000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6003805460ff1916600117905560008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015611500573d6000803e3d6000fd5b50565b600080808033321461154d576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b60008581526013602052604090208054600182015491955064010000000090046001608060020a03169350600160a060020a0316331415611754576002840154600160a060020a0316151561160a576000858152601360205260408082208054600160a060020a03199081168255600182018054821690556002909101805490911690555133916001608060020a03861680156108fc02929091818181858888f19350505050158015611604573d6000803e3d6000fd5b5061174f565b60025484544263ffffffff909116909101116116d9576002808501546000878152601360205260408082208054600160a060020a0319908116825560018201805482169055940180549094169093559151600160a060020a03909116935033916001608060020a03861680156108fc02929091818181858888f1935050505015801561169a573d6000803e3d6000fd5b50604051600160a060020a038316906001608060020a03851680156108fc02916000818181858888f19350505050158015611604573d6000803e3d6000fd5b6040805160e560020a62461bcd02815260206004820152602760248201527f6d696e696d756d2077616974696e672074696d6520686173206e6f742079657460448201527f2070617373656400000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6118af565b6002840154600160a060020a03163314156118395760025484544263ffffffff909116909101116116d957506001808401546000868152601360205260408082208054600160a060020a0319908116825594810180548616905560020180549094169093559151600160a060020a039091169133916001608060020a03861680156108fc0292909190818181858888f193505050501580156117fa573d6000803e3d6000fd5b50604051600160a060020a038216906001608060020a03851680156108fc02916000818181858888f19350505050158015611604573d6000803e3d6000fd5b6040805160e560020a62461bcd02815260206004820152602360248201527f73656e646572206973206e6f74206120706c6179657220696e2074686973206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805186815290517f59294a5afbc06d52df3c4e22551f3296d86d0146606b4b0a849b241d8e0a7e019181900360200190a15050505050565b60008080333214611932576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b60008781526013602052604090206002810154909350600160a060020a031615156119a7576040805160e560020a62461bcd02815260206004820152601860248201527f67616d6520686173206e6f742073746172746564207965740000000000000000604482015290519081900360640190fd5b6001830154600160a060020a03163314806119ce57506002830154600160a060020a031633145b1515611a4a576040805160e560020a62461bcd02815260206004820152602360248201527f73656e646572206973206e6f74206120706c6179657220696e2074686973206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6010546040805160208082018b90526c01000000000000000000000000330282840152825160348184030181526054909201928390528151600160a060020a0390941693600193918291908401908083835b60208310611abb5780518252601f199092019160209182019101611a9c565b51815160209384036101000a60001901801990921691161790526040805192909401829003822060008084528383018087529190915260ff8f1683860152606083018e9052608083018d9052935160a08084019750919550601f1981019492819003909101925090865af1158015611b37573d6000803e3d6000fd5b50505060206040510351600160a060020a0316141515611ba1576040805160e560020a62461bcd02815260206004820152601160248201527f696e76616c6964207369676e6174757265000000000000000000000000000000604482015290519081900360640190fd5b50508054600e546401000000009091046001608060020a0390811660028102909116916103e89083020490611bd790339061280b565b60008781526013602052604090208054600160a060020a03199081168255600182018054821690556002909101805490911690556009546103e8908302600480549290910490910190553360009081526014602052604080822054600f54600160a060020a0316835291205460ff91821691161415611c6057600a546103e89083020401611c77565b600a546103e8908302600580549290910490910190555b600c546103e890830260078054929091049190910190553360009081526014602052604090205469010000000000000000009004600160a060020a03161515611cd957600b54600d546103e89101830260088054929091049091019055611d2e565b600d54600880546103e8928502839004019055600b543360009081526014602090815260408083205469010000000000000000009004600160a060020a03168352601190915290208054918502929092040190555b604051339082156108fc029083906000818181858888f19350505050158015611d5b573d6000803e3d6000fd5b506040805188815233602082015280820183905290517f4ef4d496039319a17ccaef46726f518346390d83279cefad28e147b3eb04509f9181900360600190a150505050505050565b60116020526000908152604090205481565b600054600160a060020a03163314611dcd57600080fd5b600255565b60015415611e29576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214611e6e576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b33600090815260146020526040902054610100900467ffffffffffffffff161515611eb057336000908152601460205260409020805460ff191660ff83161790555b611500610ad2565b60015415611f0f576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214611f54576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b33600090815260146020526040902054610100900467ffffffffffffffff161515611f9657336000908152601460205260409020805460ff191660ff83161790555b611f9f82611fb8565b5050565b60126020526000908152604090205460ff1681565b60015460009015612012576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b333214612057576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b5060008181526013602052604090206001810154600160a060020a031615156120ca576040805160e560020a62461bcd02815260206004820152600f60248201527f67616d6520696420756e6b6e6f776e0000000000000000000000000000000000604482015290519081900360640190fd5b6001810154600160a060020a031633141561212f576040805160e560020a62461bcd02815260206004820152601960248201527f63616e6e6f7420706c61792077697468206f6e652073656c6600000000000000604482015290519081900360640190fd5b805464010000000090046001608060020a03163410156121bf576040805160e560020a62461bcd02815260206004820152602760248201527f76616c756520646f6573206e6f74207375666669636520746f206a6f696e207460448201527f68652067616d6500000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60028101805433600160a060020a03199091168117909155815463ffffffff19164263ffffffff1617808355600183015460408051868152600160a060020a039092166020830152818101939093526401000000009091046001608060020a0316606082015290517fca5be7d622fe97529270450062762f9bac7e27828ef7b8658af85234f44146cd916080908290030190a1805464010000000090046001608060020a0316341115611f9f5754600880546401000000009092046001608060020a03163403909101905550565b600081600160a060020a03811615156122de576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b33600090815260116020526040812054925082116122fb57600080fd5b3360009081526011602052604080822082905551600160a060020a0385169184156108fc02918591818181858888f19350505050158015612340573d6000803e3d6000fd5b506040805160038152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b600c5481565b60008054600160a060020a0316331461239b57600080fd5b81600160a060020a03811615156123ea576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b60088054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f1935050505015801561242b573d6000803e3d6000fd5b506040805160008152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b60008054600160a060020a0316331461248057600080fd5b81600160a060020a03811615156124cf576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b60078054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f19350505050158015612510573d6000803e3d6000fd5b506040805160048152600160a060020a03851660208201528082018490529051600080516020612af48339815191529181900360600190a1505050565b600154156125a4576040805160e560020a62461bcd0281526020600482015260256024820152600080516020612b14833981519152604482015260d960020a6437bbb732b902606482015290519081900360840190fd5b3332146125e9576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b54833981519152604482015290519081900360640190fd5b81600160a060020a0381161515612638576040805160e560020a62461bcd0281526020600482015260106024820152600080516020612b34833981519152604482015290519081900360640190fd5b3360009081526014602052604090205469010000000000000000009004600160a060020a0316158015612687575033600090815260146020526040902054610100900467ffffffffffffffff16155b15612732576040805160608101825260ff848116825260006020808401828152600160a060020a03898116868801908152338552601490935295909220935184549251915160ff1990931693169290921768ffffffffffffffff00191661010067ffffffffffffffff90931692909202919091177cffffffffffffffffffffffffffffffffffffffff0000000000000000001916690100000000000000000091909316029190911790555b61273a610ad2565b505050565b60146020526000908152604090205460ff811690610100810467ffffffffffffffff169069010000000000000000009004600160a060020a031683565b600054600160a060020a0316331461279357600080fd5b42600155565b60015481565b600054600160a060020a031633146127b657600080fd5b61150081612a83565b600b5481565b60136020526000908152604090208054600182015460029092015463ffffffff8216926401000000009092046001608060020a031691600160a060020a03908116911684565b600160a060020a03808316600090815260146020526040808220600f54909316825281208054835491929160ff908116911614156128f35766b1a2bc2ec5000084101561288257825467ffffffffffffffff61010080830482166001019091160268ffffffffffffffff00199091161783556128ee565b6706f05b59d3b200008410156128c257825467ffffffffffffffff61010080830482166005019091160268ffffffffffffffff00199091161783556128ee565b825467ffffffffffffffff6101008083048216600a019091160268ffffffffffffffff00199091161783555b61299e565b66b1a2bc2ec5000084101561293257825467ffffffffffffffff61010080830482166002019091160268ffffffffffffffff001990911617835561299e565b6706f05b59d3b2000084101561297257825467ffffffffffffffff61010080830482166007019091160268ffffffffffffffff001990911617835561299e565b825467ffffffffffffffff6101008083048216600d019091160268ffffffffffffffff00199091161783555b8154835467ffffffffffffffff61010092839004811692909104161115612a7c57506005546000811115612a0d5760006005819055600f54604051600160a060020a039091169183156108fc02918491818181858888f19350505050158015612a0b573d6000803e3d6000fd5b505b600f8054600160a060020a031916600160a060020a03871690811790915583546040805192835261010090910467ffffffffffffffff166020830152818101839052517f44902cefd1b33a89a824758dc244c24d96e8e78b7c5ecec13f6b5ed614f3bc66916060908290030190a15b5050505050565b600160a060020a0381161515612a9857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a03929092169190911790555600f8e30dbf1118fc6e5d75ebae65199193b14ec45bae8eedc935f31458e399bcf8706c6179696e6720686173206265656e2073746f707065642062792074686520696e76616c696420726563656976657200000000000000000000000000000000636f6e74726163742063616c6c696e6700000000000000000000000000000000a165627a7a72305820be51506e0ade0138b41c7336a8177198bd567a1604d60f6bcfd2beda28e3e9270029

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

0000000000000000000000001c797356d91563699e7d7599cc1e0e2efa186e92

-----Decoded View---------------
Arg [0] : signingAddress (address): 0x1c797356d91563699E7d7599cc1e0E2EFA186E92

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001c797356d91563699e7d7599cc1e0e2efa186e92


Swarm Source

bzzr://be51506e0ade0138b41c7336a8177198bd567a1604d60f6bcfd2beda28e3e927

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.