ETH Price: $2,397.05 (-4.27%)

Contract

0xf4f41D98a8d7a079d1508833d2177Fa405380D95
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Perma Stop96884672020-03-17 10:25:051631 days ago1584440705IN
0xf4f41D98...405380D95
0 ETH0.000495959
Stop Playing96844952020-03-16 19:30:471632 days ago1584387047IN
0xf4f41D98...405380D95
0 ETH0.000215275
Kill96844862020-03-16 19:27:241632 days ago1584386844IN
0xf4f41D98...405380D95
0 ETH0.000117645
Join Game86529452019-09-30 23:13:181800 days ago1569885198IN
0xf4f41D98...405380D95
0.001 ETH0.000052221
Join Game86529452019-09-30 23:13:181800 days ago1569885198IN
0xf4f41D98...405380D95
0.001 ETH0.000052221
Claim Win86529452019-09-30 23:13:181800 days ago1569885198IN
0xf4f41D98...405380D95
0 ETH0.000028471
Claim Win86529452019-09-30 23:13:181800 days ago1569885198IN
0xf4f41D98...405380D95
0 ETH0.000044681
Join Game86529452019-09-30 23:13:181800 days ago1569885198IN
0xf4f41D98...405380D95
0.001 ETH0.000052221
Claim Win86529452019-09-30 23:13:181800 days ago1569885198IN
0xf4f41D98...405380D95
0 ETH0.000044711
Join Game86408622019-09-29 1:48:411802 days ago1569721721IN
0xf4f41D98...405380D95
0.001 ETH0.000052221
Join Game86408622019-09-29 1:48:411802 days ago1569721721IN
0xf4f41D98...405380D95
0.001 ETH0.000052221
Claim Win86408622019-09-29 1:48:411802 days ago1569721721IN
0xf4f41D98...405380D95
0 ETH0.000044711
Join Game84737062019-09-02 23:17:081828 days ago1567466228IN
0xf4f41D98...405380D95
0.001 ETH0.000074442
Join Game84737042019-09-02 23:16:541828 days ago1567466214IN
0xf4f41D98...405380D95
0.001 ETH0.000052221
Claim Win84736892019-09-02 23:13:181828 days ago1567465998IN
0xf4f41D98...405380D95
0 ETH0.000028471
Claim Win84736872019-09-02 23:13:091828 days ago1567465989IN
0xf4f41D98...405380D95
0 ETH0.000044681
Join Game84736562019-09-02 23:07:301828 days ago1567465650IN
0xf4f41D98...405380D95
0.001 ETH0.000052221
Claim Win84736202019-09-02 22:59:321828 days ago1567465172IN
0xf4f41D98...405380D95
0 ETH0.000074431
Join Game84736202019-09-02 22:59:321828 days ago1567465172IN
0xf4f41D98...405380D95
0.001 ETH0.000052221
Claim Win84716292019-09-02 15:49:001828 days ago1567439340IN
0xf4f41D98...405380D95
0 ETH0.000113884
Init Game Team84661302019-09-01 19:18:001829 days ago1567365480IN
0xf4f41D98...405380D95
0.001 ETH0.000474966
Withdraw Affilia...82704542019-08-02 9:29:591860 days ago1564738199IN
0xf4f41D98...405380D95
0 ETH0.000072463
Withdraw Surpris...82703872019-08-02 9:14:341860 days ago1564737274IN
0xf4f41D98...405380D95
0 ETH0.000071093
Withdraw Develop...82703802019-08-02 9:13:181860 days ago1564737198IN
0xf4f41D98...405380D95
0 ETH0.000071033
Init Game Team82254132019-07-26 9:44:121867 days ago1564134252IN
0xf4f41D98...405380D95
0.001 ETH0.000565346
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
96884672020-03-17 10:25:051631 days ago1584440705
0xf4f41D98...405380D95
0.51215 ETH
86529452019-09-30 23:13:181800 days ago1569885198
0xf4f41D98...405380D95
0.0016 ETH
86529452019-09-30 23:13:181800 days ago1569885198
0xf4f41D98...405380D95
0.0016 ETH
86408622019-09-29 1:48:411802 days ago1569721721
0xf4f41D98...405380D95
0.0016 ETH
84736872019-09-02 23:13:091828 days ago1567465989
0xf4f41D98...405380D95
0.0016 ETH
84736202019-09-02 22:59:321828 days ago1567465172
0xf4f41D98...405380D95
0.0016 ETH
82703872019-08-02 9:14:341860 days ago1564737274
0xf4f41D98...405380D95
0.02895 ETH
82703802019-08-02 9:13:181860 days ago1564737198
0xf4f41D98...405380D95
0.1158 ETH
82070862019-07-23 13:01:221869 days ago1563886882
0xf4f41D98...405380D95
0.0017 ETH
82070772019-07-23 12:58:421869 days ago1563886722
0xf4f41D98...405380D95
0.0016 ETH
82070742019-07-23 12:57:591869 days ago1563886679
0xf4f41D98...405380D95
0.0016 ETH
81827212019-07-19 18:40:271873 days ago1563561627
0xf4f41D98...405380D95
0.001 ETH
81374412019-07-12 16:53:031880 days ago1562950383
0xf4f41D98...405380D95
0.001 ETH
80403612019-06-27 13:54:451895 days ago1561643685
0xf4f41D98...405380D95
0.001 ETH
79264452019-06-09 18:56:101913 days ago1560106570
0xf4f41D98...405380D95
0.001 ETH
79246822019-06-09 12:17:041913 days ago1560082624
0xf4f41D98...405380D95
0.001 ETH
79200842019-06-08 18:52:111914 days ago1560019931
0xf4f41D98...405380D95
0.001 ETH
79197042019-06-08 17:27:431914 days ago1560014863
0xf4f41D98...405380D95
0.001 ETH
79168862019-06-08 6:54:561915 days ago1559976896
0xf4f41D98...405380D95
0.0017 ETH
79137152019-06-07 18:47:041915 days ago1559933224
0xf4f41D98...405380D95
0.001 ETH
79116992019-06-07 11:12:441915 days ago1559905964
0xf4f41D98...405380D95
0.001 ETH
79108162019-06-07 7:55:091916 days ago1559894109
0xf4f41D98...405380D95
0.0017 ETH
79076172019-06-06 19:41:101916 days ago1559850070
0xf4f41D98...405380D95
0.001 ETH
79058062019-06-06 13:00:121916 days ago1559826012
0xf4f41D98...405380D95
0.001 ETH
79056132019-06-06 12:21:391916 days ago1559823699
0xf4f41D98...405380D95
0.001 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Etherman

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-02-14
*/

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;

    uint public minStake;
    uint public maxStake;

    /** 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;
    }

    function setMinMax(uint newMin, uint newMax) public onlyOwner{
        minStake = newMin;
        maxStake = newMax;
    }
}

contract Etherman is Administrable{

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

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

    mapping (bytes12 => 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, uint min, uint max) public{
        setSigner(signingAddress);
        minStake = min;
        maxStake = max;
    }

    /**
     * sets the referrer for the lifetime affiliate program and initiates a new game
     * */
    function initGameReferred(bytes12 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);
        initGame(gameId);
    }

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

    /**
     * initiates a new game
     * */
    function initGame(bytes12 gameId) public payable active onlyHuman {
        game storage cGame = games[gameId];
        if(cGame.player1==0x0) _initGame(gameId);
        else _joinGame(gameId);
    }

    function _initGame(bytes12 gameId) internal {
        require(msg.value <= maxStake, "stake needs to be lower than or equal to the max stake");
        require(msg.value >= minStake, "stake needs to be at least the min stake");
        require(games[gameId].stake == 0, "game with the given id already exists");
        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(bytes12 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(bytes12 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(bytes12 gameId) public payable active onlyHuman{
        game storage cGame = games[gameId];
        if(cGame.player1==0x0) _initGame(gameId);
        else _joinGame(gameId);

    }

    function _joinGame(bytes12 gameId) internal {
        game storage cGame = games[gameId];
        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(bytes12 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 a contract owners allowed address.
     * the pot is distributed amongst the winner, the developers, the affiliate partner, a charity and the surprise pot
     * */
    function claimWin(bytes12 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);
    }

    /**
     * adds the score to the player.
     * computed by ceiling(60x/(x+100))
     * 20% bonus points if the winner does not belong to the leading team. minimum 1 point extra.
     * */
    function addScore(address receiver, uint stake) private{
        player storage rec = players[receiver];
        player storage hsh = players[highscoreHolder];
        uint64 x = uint64(stake/(10 finney));
        uint64 score = (61 * x + 100) / ( x + 100); //adding +1 to the formula above to be able to round up
        if(rec.team != hsh.team){
            uint64 extra = score * 25 / 100;
            if (extra == 0) extra = 1;
            score += extra;
        }
        rec.score += score;
        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;
    }

    /**
     * sets the score of an user. only after contract update.
     * */
     function setScore(address user, uint64 score, uint8 team) public onlyOwner{
          players[user].score = score;
          players[user].team = team;
      }

}

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":false,"inputs":[{"name":"gameId","type":"bytes12"}],"name":"joinGame","outputs":[],"payable":true,"stateMutability":"payable","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":false,"inputs":[{"name":"gameId","type":"bytes12"},{"name":"referrer","type":"address"},{"name":"team","type":"uint8"}],"name":"joinGameReferred","outputs":[],"payable":true,"stateMutability":"payable","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":false,"inputs":[{"name":"gameId","type":"bytes12"}],"name":"initGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"bytes12"},{"name":"referrer","type":"address"},{"name":"team","type":"uint8"}],"name":"initGameReferred","outputs":[],"payable":true,"stateMutability":"payable","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":true,"inputs":[],"name":"developerPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minStake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"user","type":"address"},{"name":"score","type":"uint64"},{"name":"team","type":"uint8"}],"name":"setScore","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"gameId","type":"bytes12"}],"name":"withdraw","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":true,"inputs":[{"name":"","type":"bytes12"}],"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"},{"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":"gameId","type":"bytes12"},{"name":"team","type":"uint8"}],"name":"joinGameTeam","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newMin","type":"uint256"},{"name":"newMax","type":"uint256"}],"name":"setMinMax","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"bytes12"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"claimWin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"}],"name":"withdrawAffiliateBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"bytes12"},{"name":"team","type":"uint8"}],"name":"initGameTeam","outputs":[],"payable":true,"stateMutability":"payable","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":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":true,"inputs":[],"name":"maxStake","outputs":[{"name":"","type":"uint256"}],"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"},{"inputs":[{"name":"signingAddress","type":"address"},{"name":"min","type":"uint256"},{"name":"max","type":"uint256"}],"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"}]

6080604052610e1060025560196009556032600a556032600b556019600c556032600d55610320600e5534801561003557600080fd5b5060405160608062002b1483398101604090815281516020830151919092015160008054600160a060020a03191633600160a060020a031617905561008283640100000000610091810204565b601291909155601355506100ce565b60005433600160a060020a039081169116146100ac57600080fd5b60108054600160a060020a031916600160a060020a0392909216919091179055565b612a3680620000de6000396000f3006080604052600436106102395763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662362a9581146102435780630b2b26cc146102665780630baebca41461028d5780630dcbd807146102a257806312c1c1d6146102b75780631e31cee9146102cc5780631f3a0e41146102e15780632209463c1461030a578063238ac9331461033157806323a347f214610362578063259b3997146102a257806325c4c96d1461030a57806326dd1bd0146103775780632b2b32fc1461038c5780632e466373146103a1578063300bf2e1146103b6578063375b3c0a146103cb57806341c0e1b5146103e05780634a8cbae1146103f55780634e910ec31461040a5780636149e6681461043e57806368e27690146104535780636c19e783146104685780637d3bfaee1461048957806380a738bf146104b057806383bd14ff146104d157806383e06ead146104f35780638da5cb5b146105175780638e1876ee1461052c578063926df00914610541578063978a4509146105a157806397b51442146105c2578063a0781276146105da578063a681f950146105f5578063b07c411f14610610578063b8784ae514610628578063bf56ac8114610656578063c74bc920146105da578063cba22f1714610677578063d22341a91461068c578063d43c45b8146106ad578063e2eb41ff146106ce578063ea1b28e014610723578063ef5fbdb214610738578063f2d8d0991461074d578063f2fde38b14610762578063f4239eec14610783575b6008805434019055005b34801561024f57600080fd5b50610264600160a060020a0360043516610798565b005b34801561027257600080fd5b5061027b610881565b60408051918252519081900360200190f35b34801561029957600080fd5b5061027b610887565b610264600160a060020a03196004351661088d565b3480156102c357600080fd5b5061027b6109b0565b3480156102d857600080fd5b5061027b6109b6565b3480156102ed57600080fd5b506102f66109bc565b604080519115158252519081900360200190f35b610264600160a060020a031960043516602435600160a060020a031660ff604435166109c5565b34801561033d57600080fd5b50610346610c03565b60408051600160a060020a039092168252519081900360200190f35b34801561036e57600080fd5b5061027b610c12565b34801561038357600080fd5b50610346610c18565b34801561039857600080fd5b5061027b610c27565b3480156103ad57600080fd5b50610264610c2d565b3480156103c257600080fd5b5061027b610cd0565b3480156103d757600080fd5b5061027b610cd6565b3480156103ec57600080fd5b50610264610cdc565b34801561040157600080fd5b5061027b610dc2565b34801561041657600080fd5b50610264600160a060020a036004351667ffffffffffffffff6024351660ff60443516610dc8565b34801561044a57600080fd5b5061027b610e34565b34801561045f57600080fd5b5061027b610e3a565b34801561047457600080fd5b50610264600160a060020a0360043516610e40565b34801561049557600080fd5b5061026460043560243560ff60443516606435608435610e7d565b3480156104bc57600080fd5b50610264600160a060020a03600435166111af565b3480156104dd57600080fd5b50610264600160a060020a031960043516611299565b3480156104ff57600080fd5b506102646004356024356044356064356084356116c9565b34801561052357600080fd5b5061034661176c565b34801561053857600080fd5b5061026461177b565b34801561054d57600080fd5b50610563600160a060020a0319600435166118a2565b6040805163ffffffff90951685526001608060020a039093166020850152600160a060020a0391821684840152166060830152519081900360800190f35b3480156105ad57600080fd5b5061027b600160a060020a03600435166118e8565b3480156105ce57600080fd5b506102646004356118fa565b610264600160a060020a03196004351660ff6024351661191a565b34801561060157600080fd5b50610264600435602435611a4e565b34801561061c57600080fd5b506102f6600435611a74565b34801561063457600080fd5b50610264600160a060020a03196004351660ff60243516604435606435611a89565b34801561066257600080fd5b50610264600160a060020a0360043516611f9c565b34801561068357600080fd5b5061027b612099565b34801561069857600080fd5b50610264600160a060020a036004351661209f565b3480156106b957600080fd5b50610264600160a060020a0360043516612188565b3480156106da57600080fd5b506106ef600160a060020a0360043516612271565b6040805160ff909416845267ffffffffffffffff9092166020840152600160a060020a031682820152519081900360600190f35b34801561072f57600080fd5b5061027b6122ae565b34801561074457600080fd5b506102646122b4565b34801561075957600080fd5b5061027b6122d5565b34801561076e57600080fd5b50610264600160a060020a03600435166122db565b34801561078f57600080fd5b5061027b6122ff565b6000805433600160a060020a039081169116146107b457600080fd5b81600160a060020a0381161515610803576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b60048054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f19350505050158015610844573d6000803e3d6000fd5b506040805160018152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b60065481565b600e5481565b6001546000901561090e576040805160e560020a62461bcd02815260206004820152602560248201527f706c6179696e6720686173206265656e2073746f70706564206279207468652060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b32600160a060020a031633600160a060020a0316141515610967576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b50600160a060020a0319811660009081526015602052604090206001810154600160a060020a031615156109a35761099e82612305565b6109ac565b6109ac826125b0565b5050565b60025481565b60055481565b60035460ff1681565b60015415610a43576040805160e560020a62461bcd02815260206004820152602560248201527f706c6179696e6720686173206265656e2073746f70706564206279207468652060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b32600160a060020a031633600160a060020a0316141515610a9c576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b81600160a060020a0381161515610aeb576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b600160a060020a033381166000908152601660205260409020546901000000000000000000900416158015610b45575033600160a060020a0316600090815260166020526040902054610100900467ffffffffffffffff16155b15610bf4576040805160608101825260ff848116825260006020808401828152600160a060020a038981168688019081523382168552601690935295909220935184549251915160ff1990931693169290921768ffffffffffffffff00191661010067ffffffffffffffff90931692909202919091177fffffff0000000000000000000000000000000000000000ffffffffffffffffff16690100000000000000000091909316029190911790555b610bfd8461088d565b50505050565b601054600160a060020a031681565b60085481565b600f54600160a060020a031681565b60045481565b60005433600160a060020a03908116911614610c4857600080fd5b60035460ff1615610cc9576040805160e560020a62461bcd02815260206004820152602560248201527f6b696c6c656420636f6e74726163742063616e6e6f742062652072656163746960448201527f7661746564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000600155565b600d5481565b60125481565b60005433600160a060020a03908116911614610cf757600080fd5b6000600154118015610d125750426002546002026001540111155b1515610db4576040805160e560020a62461bcd02815260206004820152604b60248201527f6265666f7265206b696c6c696e672c20706c6179696e67206e6565647320746f60448201527f2062652073746f7070656420616e642073756666696369656e742074696d652060648201527f68617320746f2070617373000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600054600160a060020a0316ff5b60095481565b60005433600160a060020a03908116911614610de357600080fd5b600160a060020a039092166000908152601660205260409020805460ff90931660ff1967ffffffffffffffff9093166101000268ffffffffffffffff00199094169390931791909116919091179055565b60075481565b600a5481565b60005433600160a060020a03908116911614610e5b57600080fd5b60108054600160a060020a031916600160a060020a0392909216919091179055565b600042851015610ed7576040805160e560020a62461bcd02815260206004820152601160248201527f7369676e61747572652065787069726564000000000000000000000000000000604482015290519081900360640190fd5b3386866040516020018084600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140183815260200182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310610f575780518252601f199092019160209182019101610f38565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526014909252929020549194505060ff16159150610fed9050576040805160e560020a62461bcd02815260206004820152601e60248201527f73616d65207369676e6174757265207761732075736564206265666f72650000604482015290519081900360640190fd5b601054604080516000808252602080830180855286905260ff89168385015260608301889052608083018790529251600160a060020a039094169360019360a0808501949193601f19840193928390039091019190865af1158015611056573d6000803e3d6000fd5b50505060206040510351600160a060020a03161415156110c0576040805160e560020a62461bcd02815260206004820152600e60248201527f696e76616c6964207369676e6572000000000000000000000000000000000000604482015290519081900360640190fd5b60075486111561111a576040805160e560020a62461bcd02815260206004820152601560248201527f6e6f7420656e6f75676820696e2074686520706f740000000000000000000000604482015290519081900360640190fd5b600780548790039055600081815260146020526040808220805460ff1916600117905551600160a060020a0333169188156108fc02918991818181858888f1935050505015801561116f573d6000803e3d6000fd5b506040805160048152600160a060020a033316602082015280820188905290516000805160206129ab8339815191529181900360600190a1505050505050565b600081600160a060020a0381161515611200576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b600f5433600160a060020a0390811691161461121b57600080fd5b60058054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f1935050505015801561125c573d6000803e3d6000fd5b506040805160028152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b60008060008032600160a060020a031633600160a060020a03161415156112f8576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b600160a060020a031985166000908152601560205260409020805460018201549195506001608060020a0364010000000090910416935033600160a060020a0390811691161415611520576002840154600160a060020a031615156113d057600160a060020a0319808616600090815260156020526040808220805484168155600181018054851690556002018054909316909255905133600160a060020a0316916001608060020a03861680156108fc02929091818181858888f193505050501580156113ca573d6000803e3d6000fd5b5061151b565b60025484544263ffffffff909116909101116114a557600280850154600160a060020a03198088166000908152601560205260408082208054841681556001810180548516905590940180549092169091559151600160a060020a03918216945033909116916001608060020a03861680156108fc02929091818181858888f19350505050158015611466573d6000803e3d6000fd5b50604051600160a060020a038316906001608060020a03851680156108fc02916000818181858888f193505050501580156113ca573d6000803e3d6000fd5b6040805160e560020a62461bcd02815260206004820152602760248201527f6d696e696d756d2077616974696e672074696d6520686173206e6f742079657460448201527f2070617373656400000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611685565b600284015433600160a060020a039081169116141561160f5760025484544263ffffffff909116909101116114a55750600180840154600160a060020a0319808716600090815260156020526040808220805484168155948501805484169055600290940180549092169091559151600160a060020a039182169233909216916001608060020a03861680156108fc02929091818181858888f193505050501580156115d0573d6000803e3d6000fd5b50604051600160a060020a038216906001608060020a03851680156108fc02916000818181858888f193505050501580156113ca573d6000803e3d6000fd5b6040805160e560020a62461bcd02815260206004820152602360248201527f73656e646572206973206e6f74206120706c6179657220696e2074686973206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051600160a060020a03198716815290517f59294a5afbc06d52df3c4e22551f3296d86d0146606b4b0a849b241d8e0a7e019181900360200190a15050505050565b6000805433600160a060020a039081169116146116e557600080fd5b508484018201810183016101f48110611748576040805160e560020a62461bcd02815260206004820152601c60248201527f77696e6e65722073686f756c64206e6f74206c6f7365206d6f6e657900000000604482015290519081900360640190fd5b600994909455600b94909455600a55600c92909255600d919091556103e803600e55565b600054600160a060020a031681565b60005433600160a060020a0390811691161461179657600080fd5b60006001541180156117b15750426002546002026001540111155b1515611853576040805160e560020a62461bcd02815260206004820152604b60248201527f6265666f7265206b696c6c696e672c20706c6179696e67206e6565647320746f60448201527f2062652073746f7070656420616e642073756666696369656e742074696d652060648201527f68617320746f2070617373000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6003805460ff1916600117905560008054604051600160a060020a0391821692309092163180156108fc0292909190818181858888f1935050505015801561189f573d6000803e3d6000fd5b50565b60156020526000908152604090208054600182015460029092015463ffffffff8216926401000000009092046001608060020a031691600160a060020a03908116911684565b60116020526000908152604090205481565b60005433600160a060020a0390811691161461191557600080fd5b600255565b60015415611998576040805160e560020a62461bcd02815260206004820152602560248201527f706c6179696e6720686173206265656e2073746f70706564206279207468652060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b32600160a060020a031633600160a060020a03161415156119f1576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b33600160a060020a0316600090815260166020526040902054610100900467ffffffffffffffff161515611a455733600160a060020a03166000908152601660205260409020805460ff191660ff83161790555b6109ac8261088d565b60005433600160a060020a03908116911614611a6957600080fd5b601291909155601355565b60146020526000908152604090205460ff1681565b600080600032600160a060020a031633600160a060020a0316141515611ae7576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b600160a060020a0319871660009081526015602052604090206002810154909350600160a060020a03161515611b67576040805160e560020a62461bcd02815260206004820152601860248201527f67616d6520686173206e6f742073746172746564207965740000000000000000604482015290519081900360640190fd5b600183015433600160a060020a0390811691161480611b965750600283015433600160a060020a039081169116145b1515611c12576040805160e560020a62461bcd02815260206004820152602360248201527f73656e646572206973206e6f74206120706c6179657220696e2074686973206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60105460408051600160a060020a03198a16602080830191909152600160a060020a033381166c0100000000000000000000000002602c840152835180840383018152928401938490528251941693600193918291908401908083835b60208310611c8e5780518252601f199092019160209182019101611c6f565b51815160209384036101000a60001901801990921691161790526040805192909401829003822060008084528383018087529190915260ff8f1683860152606083018e9052608083018d9052935160a08084019750919550601f1981019492819003909101925090865af1158015611d0a573d6000803e3d6000fd5b50505060206040510351600160a060020a0316141515611d74576040805160e560020a62461bcd02815260206004820152601160248201527f696e76616c6964207369676e6174757265000000000000000000000000000000604482015290519081900360640190fd5b50508054600e546401000000009091046001608060020a0390811660028102909116916103e89083020490611daa903390612794565b600160a060020a0319808816600090815260156020526040902080548216815560018101805483169055600201805490911690556009546103e89083026004805492909104919091019055600160a060020a0333811660009081526016602052604080822054600f54909316825290205460ff90811691161415611e3857600a546103e89083020401611e4f565b600a546103e8908302600580549290910490910190555b600c546103e89083026007805492909104919091019055600160a060020a0333811660009081526016602052604090205469010000000000000000009004161515611eb357600b54600d546103e89101830260088054929091049091019055611f0a565b600d54600880546103e8928502839004019055600b54600160a060020a0333811660009081526016602090815260408083205469010000000000000000009004909316825260119052208054918502929092040190555b604051600160a060020a0333169082156108fc029083906000818181858888f19350505050158015611f40573d6000803e3d6000fd5b5060408051600160a060020a031989168152600160a060020a033316602082015280820183905290517f4ef4d496039319a17ccaef46726f518346390d83279cefad28e147b3eb04509f9181900360600190a150505050505050565b600081600160a060020a0381161515611fed576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b600160a060020a0333166000908152601160205260408120549250821161201357600080fd5b600160a060020a03338116600090815260116020526040808220829055519185169184156108fc0291859190818181858888f1935050505015801561205c573d6000803e3d6000fd5b506040805160038152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b600c5481565b6000805433600160a060020a039081169116146120bb57600080fd5b81600160a060020a038116151561210a576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b60088054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f1935050505015801561214b573d6000803e3d6000fd5b506040805160008152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b6000805433600160a060020a039081169116146121a457600080fd5b81600160a060020a03811615156121f3576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b60078054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f19350505050158015612234573d6000803e3d6000fd5b506040805160048152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b60166020526000908152604090205460ff811690610100810467ffffffffffffffff169069010000000000000000009004600160a060020a031683565b60135481565b60005433600160a060020a039081169116146122cf57600080fd5b42600155565b60015481565b60005433600160a060020a039081169116146122f657600080fd5b61189f8161293a565b600b5481565b601354341115612385576040805160e560020a62461bcd02815260206004820152603660248201527f7374616b65206e6565647320746f206265206c6f776572207468616e206f722060448201527f657175616c20746f20746865206d6178207374616b6500000000000000000000606482015290519081900360840190fd5b601254341015612405576040805160e560020a62461bcd02815260206004820152602860248201527f7374616b65206e6565647320746f206265206174206c6561737420746865206d60448201527f696e207374616b65000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0319811660009081526015602052604090205464010000000090046001608060020a0316156124ab576040805160e560020a62461bcd02815260206004820152602560248201527f67616d6520776974682074686520676976656e20696420616c7265616479206560448201527f7869737473000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080516080810182524263ffffffff9081168252346001608060020a03818116602080860191825233600160a060020a0390811687890181815260006060808b01828152600160a060020a03198e811680855260158952938e90209c518d54995163ffffffff19909a169c169b909b1773ffffffffffffffffffffffffffffffff0000000019166401000000009890991697909702979097178a55905160018a0180548a1691851691909117905593516002909801805490971697909116969096179094558551908152928301939093528184015291517f4126b7370effe88fef27c6093280d30b5465f0deb4d54f94aaf0231be09137059281900390910190a150565b600160a060020a031981166000908152601560205260409020600181015433600160a060020a0390811691161415612632576040805160e560020a62461bcd02815260206004820152601960248201527f63616e6e6f7420706c61792077697468206f6e652073656c6600000000000000604482015290519081900360640190fd5b805464010000000090046001608060020a03163410156126c2576040805160e560020a62461bcd02815260206004820152602760248201527f76616c756520646f6573206e6f74207375666669636520746f206a6f696e207460448201527f68652067616d6500000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600281018054600160a060020a031990811633600160a060020a03908116918217909355835463ffffffff19164263ffffffff16178085556001850154604080519488168552941660208401528284019190915264010000000090046001608060020a0316606082015290517fca5be7d622fe97529270450062762f9bac7e27828ef7b8658af85234f44146cd916080908290030190a1805464010000000090046001608060020a03163411156109ac5754600880546401000000009092046001608060020a03163403909101905550565b600160a060020a03808316600090815260166020526040808220600f549093168252812090808080662386f26fc10000870493508360640167ffffffffffffffff1684603d0260640167ffffffffffffffff168115156127f057fe5b8654885492909104945060ff91821691161461283457606467ffffffffffffffff601985021604915067ffffffffffffffff8216151561282f57600191505b918101915b855467ffffffffffffffff610100808304821686018216810268ffffffffffffffff00199093169290921780895587548390048216929004161115612930575060055460008111156128c15760006005819055600f54604051600160a060020a039091169183156108fc02918491818181858888f193505050501580156128bf573d6000803e3d6000fd5b505b600f8054600160a060020a031916600160a060020a038a1690811790915586546040805192835261010090910467ffffffffffffffff166020830152818101839052517f44902cefd1b33a89a824758dc244c24d96e8e78b7c5ecec13f6b5ed614f3bc66916060908290030190a15b5050505050505050565b600160a060020a038116151561294f57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a03929092169190911790555600f8e30dbf1118fc6e5d75ebae65199193b14ec45bae8eedc935f31458e399bcf8696e76616c696420726563656976657200000000000000000000000000000000636f6e74726163742063616c6c696e6700000000000000000000000000000000a165627a7a7230582009a7f183633422c36ce48e6c9cb2d3b4ab2daa74f54a1fc4b3166b16e35ed17700290000000000000000000000007cdcc837b3a12ed4daf1337cb96a3fadeb443a8c00000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000056bc75e2d63100000

Deployed Bytecode

0x6080604052600436106102395763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662362a9581146102435780630b2b26cc146102665780630baebca41461028d5780630dcbd807146102a257806312c1c1d6146102b75780631e31cee9146102cc5780631f3a0e41146102e15780632209463c1461030a578063238ac9331461033157806323a347f214610362578063259b3997146102a257806325c4c96d1461030a57806326dd1bd0146103775780632b2b32fc1461038c5780632e466373146103a1578063300bf2e1146103b6578063375b3c0a146103cb57806341c0e1b5146103e05780634a8cbae1146103f55780634e910ec31461040a5780636149e6681461043e57806368e27690146104535780636c19e783146104685780637d3bfaee1461048957806380a738bf146104b057806383bd14ff146104d157806383e06ead146104f35780638da5cb5b146105175780638e1876ee1461052c578063926df00914610541578063978a4509146105a157806397b51442146105c2578063a0781276146105da578063a681f950146105f5578063b07c411f14610610578063b8784ae514610628578063bf56ac8114610656578063c74bc920146105da578063cba22f1714610677578063d22341a91461068c578063d43c45b8146106ad578063e2eb41ff146106ce578063ea1b28e014610723578063ef5fbdb214610738578063f2d8d0991461074d578063f2fde38b14610762578063f4239eec14610783575b6008805434019055005b34801561024f57600080fd5b50610264600160a060020a0360043516610798565b005b34801561027257600080fd5b5061027b610881565b60408051918252519081900360200190f35b34801561029957600080fd5b5061027b610887565b610264600160a060020a03196004351661088d565b3480156102c357600080fd5b5061027b6109b0565b3480156102d857600080fd5b5061027b6109b6565b3480156102ed57600080fd5b506102f66109bc565b604080519115158252519081900360200190f35b610264600160a060020a031960043516602435600160a060020a031660ff604435166109c5565b34801561033d57600080fd5b50610346610c03565b60408051600160a060020a039092168252519081900360200190f35b34801561036e57600080fd5b5061027b610c12565b34801561038357600080fd5b50610346610c18565b34801561039857600080fd5b5061027b610c27565b3480156103ad57600080fd5b50610264610c2d565b3480156103c257600080fd5b5061027b610cd0565b3480156103d757600080fd5b5061027b610cd6565b3480156103ec57600080fd5b50610264610cdc565b34801561040157600080fd5b5061027b610dc2565b34801561041657600080fd5b50610264600160a060020a036004351667ffffffffffffffff6024351660ff60443516610dc8565b34801561044a57600080fd5b5061027b610e34565b34801561045f57600080fd5b5061027b610e3a565b34801561047457600080fd5b50610264600160a060020a0360043516610e40565b34801561049557600080fd5b5061026460043560243560ff60443516606435608435610e7d565b3480156104bc57600080fd5b50610264600160a060020a03600435166111af565b3480156104dd57600080fd5b50610264600160a060020a031960043516611299565b3480156104ff57600080fd5b506102646004356024356044356064356084356116c9565b34801561052357600080fd5b5061034661176c565b34801561053857600080fd5b5061026461177b565b34801561054d57600080fd5b50610563600160a060020a0319600435166118a2565b6040805163ffffffff90951685526001608060020a039093166020850152600160a060020a0391821684840152166060830152519081900360800190f35b3480156105ad57600080fd5b5061027b600160a060020a03600435166118e8565b3480156105ce57600080fd5b506102646004356118fa565b610264600160a060020a03196004351660ff6024351661191a565b34801561060157600080fd5b50610264600435602435611a4e565b34801561061c57600080fd5b506102f6600435611a74565b34801561063457600080fd5b50610264600160a060020a03196004351660ff60243516604435606435611a89565b34801561066257600080fd5b50610264600160a060020a0360043516611f9c565b34801561068357600080fd5b5061027b612099565b34801561069857600080fd5b50610264600160a060020a036004351661209f565b3480156106b957600080fd5b50610264600160a060020a0360043516612188565b3480156106da57600080fd5b506106ef600160a060020a0360043516612271565b6040805160ff909416845267ffffffffffffffff9092166020840152600160a060020a031682820152519081900360600190f35b34801561072f57600080fd5b5061027b6122ae565b34801561074457600080fd5b506102646122b4565b34801561075957600080fd5b5061027b6122d5565b34801561076e57600080fd5b50610264600160a060020a03600435166122db565b34801561078f57600080fd5b5061027b6122ff565b6000805433600160a060020a039081169116146107b457600080fd5b81600160a060020a0381161515610803576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b60048054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f19350505050158015610844573d6000803e3d6000fd5b506040805160018152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b60065481565b600e5481565b6001546000901561090e576040805160e560020a62461bcd02815260206004820152602560248201527f706c6179696e6720686173206265656e2073746f70706564206279207468652060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b32600160a060020a031633600160a060020a0316141515610967576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b50600160a060020a0319811660009081526015602052604090206001810154600160a060020a031615156109a35761099e82612305565b6109ac565b6109ac826125b0565b5050565b60025481565b60055481565b60035460ff1681565b60015415610a43576040805160e560020a62461bcd02815260206004820152602560248201527f706c6179696e6720686173206265656e2073746f70706564206279207468652060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b32600160a060020a031633600160a060020a0316141515610a9c576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b81600160a060020a0381161515610aeb576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b600160a060020a033381166000908152601660205260409020546901000000000000000000900416158015610b45575033600160a060020a0316600090815260166020526040902054610100900467ffffffffffffffff16155b15610bf4576040805160608101825260ff848116825260006020808401828152600160a060020a038981168688019081523382168552601690935295909220935184549251915160ff1990931693169290921768ffffffffffffffff00191661010067ffffffffffffffff90931692909202919091177fffffff0000000000000000000000000000000000000000ffffffffffffffffff16690100000000000000000091909316029190911790555b610bfd8461088d565b50505050565b601054600160a060020a031681565b60085481565b600f54600160a060020a031681565b60045481565b60005433600160a060020a03908116911614610c4857600080fd5b60035460ff1615610cc9576040805160e560020a62461bcd02815260206004820152602560248201527f6b696c6c656420636f6e74726163742063616e6e6f742062652072656163746960448201527f7661746564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000600155565b600d5481565b60125481565b60005433600160a060020a03908116911614610cf757600080fd5b6000600154118015610d125750426002546002026001540111155b1515610db4576040805160e560020a62461bcd02815260206004820152604b60248201527f6265666f7265206b696c6c696e672c20706c6179696e67206e6565647320746f60448201527f2062652073746f7070656420616e642073756666696369656e742074696d652060648201527f68617320746f2070617373000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600054600160a060020a0316ff5b60095481565b60005433600160a060020a03908116911614610de357600080fd5b600160a060020a039092166000908152601660205260409020805460ff90931660ff1967ffffffffffffffff9093166101000268ffffffffffffffff00199094169390931791909116919091179055565b60075481565b600a5481565b60005433600160a060020a03908116911614610e5b57600080fd5b60108054600160a060020a031916600160a060020a0392909216919091179055565b600042851015610ed7576040805160e560020a62461bcd02815260206004820152601160248201527f7369676e61747572652065787069726564000000000000000000000000000000604482015290519081900360640190fd5b3386866040516020018084600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140183815260200182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310610f575780518252601f199092019160209182019101610f38565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526014909252929020549194505060ff16159150610fed9050576040805160e560020a62461bcd02815260206004820152601e60248201527f73616d65207369676e6174757265207761732075736564206265666f72650000604482015290519081900360640190fd5b601054604080516000808252602080830180855286905260ff89168385015260608301889052608083018790529251600160a060020a039094169360019360a0808501949193601f19840193928390039091019190865af1158015611056573d6000803e3d6000fd5b50505060206040510351600160a060020a03161415156110c0576040805160e560020a62461bcd02815260206004820152600e60248201527f696e76616c6964207369676e6572000000000000000000000000000000000000604482015290519081900360640190fd5b60075486111561111a576040805160e560020a62461bcd02815260206004820152601560248201527f6e6f7420656e6f75676820696e2074686520706f740000000000000000000000604482015290519081900360640190fd5b600780548790039055600081815260146020526040808220805460ff1916600117905551600160a060020a0333169188156108fc02918991818181858888f1935050505015801561116f573d6000803e3d6000fd5b506040805160048152600160a060020a033316602082015280820188905290516000805160206129ab8339815191529181900360600190a1505050505050565b600081600160a060020a0381161515611200576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b600f5433600160a060020a0390811691161461121b57600080fd5b60058054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f1935050505015801561125c573d6000803e3d6000fd5b506040805160028152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b60008060008032600160a060020a031633600160a060020a03161415156112f8576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b600160a060020a031985166000908152601560205260409020805460018201549195506001608060020a0364010000000090910416935033600160a060020a0390811691161415611520576002840154600160a060020a031615156113d057600160a060020a0319808616600090815260156020526040808220805484168155600181018054851690556002018054909316909255905133600160a060020a0316916001608060020a03861680156108fc02929091818181858888f193505050501580156113ca573d6000803e3d6000fd5b5061151b565b60025484544263ffffffff909116909101116114a557600280850154600160a060020a03198088166000908152601560205260408082208054841681556001810180548516905590940180549092169091559151600160a060020a03918216945033909116916001608060020a03861680156108fc02929091818181858888f19350505050158015611466573d6000803e3d6000fd5b50604051600160a060020a038316906001608060020a03851680156108fc02916000818181858888f193505050501580156113ca573d6000803e3d6000fd5b6040805160e560020a62461bcd02815260206004820152602760248201527f6d696e696d756d2077616974696e672074696d6520686173206e6f742079657460448201527f2070617373656400000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611685565b600284015433600160a060020a039081169116141561160f5760025484544263ffffffff909116909101116114a55750600180840154600160a060020a0319808716600090815260156020526040808220805484168155948501805484169055600290940180549092169091559151600160a060020a039182169233909216916001608060020a03861680156108fc02929091818181858888f193505050501580156115d0573d6000803e3d6000fd5b50604051600160a060020a038216906001608060020a03851680156108fc02916000818181858888f193505050501580156113ca573d6000803e3d6000fd5b6040805160e560020a62461bcd02815260206004820152602360248201527f73656e646572206973206e6f74206120706c6179657220696e2074686973206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051600160a060020a03198716815290517f59294a5afbc06d52df3c4e22551f3296d86d0146606b4b0a849b241d8e0a7e019181900360200190a15050505050565b6000805433600160a060020a039081169116146116e557600080fd5b508484018201810183016101f48110611748576040805160e560020a62461bcd02815260206004820152601c60248201527f77696e6e65722073686f756c64206e6f74206c6f7365206d6f6e657900000000604482015290519081900360640190fd5b600994909455600b94909455600a55600c92909255600d919091556103e803600e55565b600054600160a060020a031681565b60005433600160a060020a0390811691161461179657600080fd5b60006001541180156117b15750426002546002026001540111155b1515611853576040805160e560020a62461bcd02815260206004820152604b60248201527f6265666f7265206b696c6c696e672c20706c6179696e67206e6565647320746f60448201527f2062652073746f7070656420616e642073756666696369656e742074696d652060648201527f68617320746f2070617373000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6003805460ff1916600117905560008054604051600160a060020a0391821692309092163180156108fc0292909190818181858888f1935050505015801561189f573d6000803e3d6000fd5b50565b60156020526000908152604090208054600182015460029092015463ffffffff8216926401000000009092046001608060020a031691600160a060020a03908116911684565b60116020526000908152604090205481565b60005433600160a060020a0390811691161461191557600080fd5b600255565b60015415611998576040805160e560020a62461bcd02815260206004820152602560248201527f706c6179696e6720686173206265656e2073746f70706564206279207468652060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b32600160a060020a031633600160a060020a03161415156119f1576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b33600160a060020a0316600090815260166020526040902054610100900467ffffffffffffffff161515611a455733600160a060020a03166000908152601660205260409020805460ff191660ff83161790555b6109ac8261088d565b60005433600160a060020a03908116911614611a6957600080fd5b601291909155601355565b60146020526000908152604090205460ff1681565b600080600032600160a060020a031633600160a060020a0316141515611ae7576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129eb833981519152604482015290519081900360640190fd5b600160a060020a0319871660009081526015602052604090206002810154909350600160a060020a03161515611b67576040805160e560020a62461bcd02815260206004820152601860248201527f67616d6520686173206e6f742073746172746564207965740000000000000000604482015290519081900360640190fd5b600183015433600160a060020a0390811691161480611b965750600283015433600160a060020a039081169116145b1515611c12576040805160e560020a62461bcd02815260206004820152602360248201527f73656e646572206973206e6f74206120706c6179657220696e2074686973206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60105460408051600160a060020a03198a16602080830191909152600160a060020a033381166c0100000000000000000000000002602c840152835180840383018152928401938490528251941693600193918291908401908083835b60208310611c8e5780518252601f199092019160209182019101611c6f565b51815160209384036101000a60001901801990921691161790526040805192909401829003822060008084528383018087529190915260ff8f1683860152606083018e9052608083018d9052935160a08084019750919550601f1981019492819003909101925090865af1158015611d0a573d6000803e3d6000fd5b50505060206040510351600160a060020a0316141515611d74576040805160e560020a62461bcd02815260206004820152601160248201527f696e76616c6964207369676e6174757265000000000000000000000000000000604482015290519081900360640190fd5b50508054600e546401000000009091046001608060020a0390811660028102909116916103e89083020490611daa903390612794565b600160a060020a0319808816600090815260156020526040902080548216815560018101805483169055600201805490911690556009546103e89083026004805492909104919091019055600160a060020a0333811660009081526016602052604080822054600f54909316825290205460ff90811691161415611e3857600a546103e89083020401611e4f565b600a546103e8908302600580549290910490910190555b600c546103e89083026007805492909104919091019055600160a060020a0333811660009081526016602052604090205469010000000000000000009004161515611eb357600b54600d546103e89101830260088054929091049091019055611f0a565b600d54600880546103e8928502839004019055600b54600160a060020a0333811660009081526016602090815260408083205469010000000000000000009004909316825260119052208054918502929092040190555b604051600160a060020a0333169082156108fc029083906000818181858888f19350505050158015611f40573d6000803e3d6000fd5b5060408051600160a060020a031989168152600160a060020a033316602082015280820183905290517f4ef4d496039319a17ccaef46726f518346390d83279cefad28e147b3eb04509f9181900360600190a150505050505050565b600081600160a060020a0381161515611fed576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b600160a060020a0333166000908152601160205260408120549250821161201357600080fd5b600160a060020a03338116600090815260116020526040808220829055519185169184156108fc0291859190818181858888f1935050505015801561205c573d6000803e3d6000fd5b506040805160038152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b600c5481565b6000805433600160a060020a039081169116146120bb57600080fd5b81600160a060020a038116151561210a576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b60088054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f1935050505015801561214b573d6000803e3d6000fd5b506040805160008152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b6000805433600160a060020a039081169116146121a457600080fd5b81600160a060020a03811615156121f3576040805160e560020a62461bcd02815260206004820152601060248201526000805160206129cb833981519152604482015290519081900360640190fd5b60078054600091829055604051909350600160a060020a0385169184156108fc02918591818181858888f19350505050158015612234573d6000803e3d6000fd5b506040805160048152600160a060020a038516602082015280820184905290516000805160206129ab8339815191529181900360600190a1505050565b60166020526000908152604090205460ff811690610100810467ffffffffffffffff169069010000000000000000009004600160a060020a031683565b60135481565b60005433600160a060020a039081169116146122cf57600080fd5b42600155565b60015481565b60005433600160a060020a039081169116146122f657600080fd5b61189f8161293a565b600b5481565b601354341115612385576040805160e560020a62461bcd02815260206004820152603660248201527f7374616b65206e6565647320746f206265206c6f776572207468616e206f722060448201527f657175616c20746f20746865206d6178207374616b6500000000000000000000606482015290519081900360840190fd5b601254341015612405576040805160e560020a62461bcd02815260206004820152602860248201527f7374616b65206e6565647320746f206265206174206c6561737420746865206d60448201527f696e207374616b65000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0319811660009081526015602052604090205464010000000090046001608060020a0316156124ab576040805160e560020a62461bcd02815260206004820152602560248201527f67616d6520776974682074686520676976656e20696420616c7265616479206560448201527f7869737473000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080516080810182524263ffffffff9081168252346001608060020a03818116602080860191825233600160a060020a0390811687890181815260006060808b01828152600160a060020a03198e811680855260158952938e90209c518d54995163ffffffff19909a169c169b909b1773ffffffffffffffffffffffffffffffff0000000019166401000000009890991697909702979097178a55905160018a0180548a1691851691909117905593516002909801805490971697909116969096179094558551908152928301939093528184015291517f4126b7370effe88fef27c6093280d30b5465f0deb4d54f94aaf0231be09137059281900390910190a150565b600160a060020a031981166000908152601560205260409020600181015433600160a060020a0390811691161415612632576040805160e560020a62461bcd02815260206004820152601960248201527f63616e6e6f7420706c61792077697468206f6e652073656c6600000000000000604482015290519081900360640190fd5b805464010000000090046001608060020a03163410156126c2576040805160e560020a62461bcd02815260206004820152602760248201527f76616c756520646f6573206e6f74207375666669636520746f206a6f696e207460448201527f68652067616d6500000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600281018054600160a060020a031990811633600160a060020a03908116918217909355835463ffffffff19164263ffffffff16178085556001850154604080519488168552941660208401528284019190915264010000000090046001608060020a0316606082015290517fca5be7d622fe97529270450062762f9bac7e27828ef7b8658af85234f44146cd916080908290030190a1805464010000000090046001608060020a03163411156109ac5754600880546401000000009092046001608060020a03163403909101905550565b600160a060020a03808316600090815260166020526040808220600f549093168252812090808080662386f26fc10000870493508360640167ffffffffffffffff1684603d0260640167ffffffffffffffff168115156127f057fe5b8654885492909104945060ff91821691161461283457606467ffffffffffffffff601985021604915067ffffffffffffffff8216151561282f57600191505b918101915b855467ffffffffffffffff610100808304821686018216810268ffffffffffffffff00199093169290921780895587548390048216929004161115612930575060055460008111156128c15760006005819055600f54604051600160a060020a039091169183156108fc02918491818181858888f193505050501580156128bf573d6000803e3d6000fd5b505b600f8054600160a060020a031916600160a060020a038a1690811790915586546040805192835261010090910467ffffffffffffffff166020830152818101839052517f44902cefd1b33a89a824758dc244c24d96e8e78b7c5ecec13f6b5ed614f3bc66916060908290030190a15b5050505050505050565b600160a060020a038116151561294f57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a03929092169190911790555600f8e30dbf1118fc6e5d75ebae65199193b14ec45bae8eedc935f31458e399bcf8696e76616c696420726563656976657200000000000000000000000000000000636f6e74726163742063616c6c696e6700000000000000000000000000000000a165627a7a7230582009a7f183633422c36ce48e6c9cb2d3b4ab2daa74f54a1fc4b3166b16e35ed1770029

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

0000000000000000000000007cdcc837b3a12ed4daf1337cb96a3fadeb443a8c00000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000056bc75e2d63100000

-----Decoded View---------------
Arg [0] : signingAddress (address): 0x7cDcC837B3a12ED4Daf1337Cb96a3fAdeB443A8c
Arg [1] : min (uint256): 1000000000000000
Arg [2] : max (uint256): 100000000000000000000

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000007cdcc837b3a12ed4daf1337cb96a3fadeb443a8c
Arg [1] : 00000000000000000000000000000000000000000000000000038d7ea4c68000
Arg [2] : 0000000000000000000000000000000000000000000000056bc75e2d63100000


Swarm Source

bzzr://09a7f183633422c36ce48e6c9cb2d3b4ab2daa74f54a1fc4b3166b16e35ed177

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.