ETH Price: $3,336.92 (-0.15%)
 

Overview

Max Total Supply

106 EMONF

Holders

23

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
EmontFrenzy

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-06-05
*/

pragma solidity ^0.4.19;

// copyright [email protected]

contract BasicAccessControl {
    address public owner;
    // address[] public moderators;
    uint16 public totalModerators = 0;
    mapping (address => bool) public moderators;
    bool public isMaintaining = false;

    function BasicAccessControl() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    modifier onlyModerators() {
        require(msg.sender == owner || moderators[msg.sender] == true);
        _;
    }

    modifier isActive {
        require(!isMaintaining);
        _;
    }

    function ChangeOwner(address _newOwner) onlyOwner public {
        if (_newOwner != address(0)) {
            owner = _newOwner;
        }
    }


    function AddModerator(address _newModerator) onlyOwner public {
        if (moderators[_newModerator] == false) {
            moderators[_newModerator] = true;
            totalModerators += 1;
        }
    }
    
    function RemoveModerator(address _oldModerator) onlyOwner public {
        if (moderators[_oldModerator] == true) {
            moderators[_oldModerator] = false;
            totalModerators -= 1;
        }
    }

    function UpdateMaintaining(bool _isMaintaining) onlyOwner public {
        isMaintaining = _isMaintaining;
    }
}

contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);
}


contract EmontFrenzy is BasicAccessControl {
    uint constant public HIGH = 20;
    uint constant public BASE_POS = 510;
    uint constant public ONE_EMONT = 10 ** 8;

    struct Fish {
        address player;
        uint weight;
        bool active; // location != 0
    }

    // private
    uint private seed;

     // address
    address public tokenContract;
    
    // variable
    uint public addFee = 0.01 ether;
    uint public addWeight = 5 * 10 ** 8; // emont
    uint public moveCharge = 5; // percentage
    uint public cashOutRate = 100; // to EMONT rate
    uint public cashInRate = 50; // from EMONT to fish weight 
    uint public width = 50;
    uint public minJump = 2 * 2;
    uint public maxPos = HIGH * width; // valid pos (0 -> maxPos - 1)
    uint public minCashout = 20 * 10 ** 8;
    uint public minEatable = 1 * 10 ** 8;
    
    mapping(uint => Fish) fishMap;
    mapping(uint => uint) ocean; // pos => fish id
    mapping(uint => uint) bonus; // pos => emont amount
    mapping(address => uint) players;
    
    mapping(uint => uint) maxJumps; // weight in EMONT => square length
    
    uint public totalFish = 0;
    
    // event
    event Transfer(address indexed _from, address indexed _to, uint256 _tokenId);

    event EventCashout(address indexed player, uint fishId, uint weight);
    event EventBonus(uint pos, uint value);
    event EventMove(address indexed player, uint fishId, uint fromPos, uint toPos, uint weight);
    event EventEat(address indexed player, address indexed defender, uint playerFishId, uint defenderFishId, uint fromPos, uint toPos, uint playerWeight);
    event EventFight(address indexed player, address indexed defender, uint playerFishId, uint defenderFishId, uint fromPos, uint toPos, uint playerWeight);
    event EventSuicide(address indexed player, address indexed defender, uint playerFishId, uint defenderFishId, uint fromPos, uint toPos, uint defenderWeight);
    
    
    // modifier
    modifier requireTokenContract {
        require(tokenContract != address(0));
        _;
    }
    
    function EmontFrenzy(address _tokenContract) public {
        tokenContract = _tokenContract;
        seed = getRandom(0);
    }
    
    function setConfig(uint _addFee, uint _addWeight, uint _moveCharge, uint _cashOutRate, uint _cashInRate, uint _width) onlyModerators external {
        addFee = _addFee;
        addWeight = _addWeight;
        moveCharge = _moveCharge;
        cashOutRate = _cashOutRate;
        cashInRate = _cashInRate;
        width = _width;
        maxPos = HIGH * width;
    }
    
    function setExtraConfig(uint _minCashout, uint _minEatable) onlyModerators external {
        minCashout = _minCashout;
        minEatable = _minEatable;
    }
    
    // weight in emont, x*x
    function updateMaxJump(uint _weight, uint _squareLength) onlyModerators external {
        maxJumps[_weight] = _squareLength;
    }
    
    function setDefaultMaxJump() onlyModerators external {
        maxJumps[0] = 50 * 50;
        maxJumps[1] = 30 * 30;
        maxJumps[2] = 20 * 20;
        maxJumps[3] = 15 * 15;
        maxJumps[4] = 12 * 12;
        maxJumps[5] = 9 * 9;
        maxJumps[6] = 7 * 7;
        maxJumps[7] = 7 * 7;
        maxJumps[8] = 6 * 6;
        maxJumps[9] = 6 * 6;
        maxJumps[10] = 6 * 6;
        maxJumps[11] = 5 * 5;
        maxJumps[12] = 5 * 5;
        maxJumps[13] = 5 * 5;
        maxJumps[14] = 5 * 5;
        maxJumps[15] = 4 * 4;
        maxJumps[16] = 4 * 4;
        maxJumps[17] = 4 * 4;
        maxJumps[18] = 4 * 4;
        maxJumps[19] = 4 * 4;
        maxJumps[20] = 3 * 3;
        maxJumps[21] = 3 * 3;
        maxJumps[22] = 3 * 3;
        maxJumps[23] = 3 * 3;
        maxJumps[24] = 3 * 3;
        maxJumps[25] = 3 * 3;
    }
    
    function updateMinJump(uint _minJump) onlyModerators external {
        minJump = _minJump;
    }
    
    // moderators
    
    function withdrawEther(address _sendTo, uint _amount) onlyModerators external {
        // no user money is kept in this contract, only trasaction fee
        if (_amount > address(this).balance) {
            revert();
        }
        _sendTo.transfer(_amount);
    }
    
    function withdrawToken(address _sendTo, uint _amount) onlyModerators requireTokenContract external {
        ERC20Interface token = ERC20Interface(tokenContract);
        if (_amount > token.balanceOf(address(this))) {
            revert();
        }
        token.transfer(_sendTo, _amount);
    }
    
    function addBonus(uint _pos, uint _amount) onlyModerators external {
        bonus[_pos] += _amount;
        EventBonus(_pos, _amount);
    }
    
    // for payment contract to call
    function AddFishByToken(address _player, uint tokens) onlyModerators external {
        uint weight = tokens * cashInRate / 100;
        if (weight != addWeight) 
            revert();
        
         // max: one fish per address
        if (fishMap[players[_player]].weight > 0)
            revert();
        
        totalFish += 1;
        Fish storage fish = fishMap[totalFish];
        fish.player = _player;
        fish.weight = addWeight;
        fish.active = false;
        players[_player] = totalFish;
        
        seed = getRandom(seed);
        Transfer(address(0), _player, totalFish);
    }
    
    // public functions
    function getRandom(uint _seed) constant public returns(uint) {
        return uint(keccak256(block.timestamp, block.difficulty)) ^ _seed;
    }
    
    function AddFish() isActive payable external {
        if (msg.value != addFee) revert();
        
        // max: one fish per address
        if (fishMap[players[msg.sender]].weight > 0)
            revert();
        
        totalFish += 1;
        Fish storage fish = fishMap[totalFish];
        fish.player = msg.sender;
        fish.weight = addWeight;
        fish.active = false;
        players[msg.sender] = totalFish;
        
        seed = getRandom(seed);
        Transfer(address(0), msg.sender, totalFish);
    }
    
    function DeductABS(uint _a, uint _b) pure public returns(uint) {
        if (_a > _b) 
            return (_a - _b);
        return (_b - _a);
    }
    
    function MoveFish(uint _fromPos, uint _toPos) isActive external {
        // check valid _x, _y
        if (_toPos >= maxPos && _fromPos != _toPos)
            revert();
        
        uint fishId = players[msg.sender];
        Fish storage fish = fishMap[fishId];
        if (fish.weight == 0)
            revert();
        if (!fish.active && _fromPos != BASE_POS)
            revert();
        if (fish.active && ocean[_fromPos] != fishId)
            revert();
        
        // check valid move
        uint tempX = DeductABS(_fromPos / HIGH, _toPos / HIGH);
        uint tempY = DeductABS(_fromPos % HIGH, _toPos % HIGH);
        uint squareLength = maxJumps[fish.weight / ONE_EMONT];
        if (squareLength == 0) squareLength = minJump;
        
        if (tempX * tempX + tempY * tempY > squareLength)
            revert();
        
        // move 
        ocean[_fromPos] = 0;
        // charge when swiming except from the base
        if (_fromPos != BASE_POS) {
            tempX = (moveCharge * fish.weight) / 100;
            bonus[_fromPos] += tempX;
            fish.weight -= tempX;
        } else {
            fish.active = true;
        }

        // go back to base
        if (_toPos == BASE_POS) {
            fish.active = false;
            EventMove(msg.sender, fishId, _fromPos, _toPos, fish.weight);
            return;
        }

        tempX = ocean[_toPos]; // target fish id
        // no fish at that location
        if (tempX == 0) {
            if (bonus[_toPos] > 0) {
                fish.weight += bonus[_toPos];
                bonus[_toPos] = 0;
            }
            
            // update location
            EventMove(msg.sender, fishId, _fromPos, _toPos, fish.weight);
            ocean[_toPos] = fishId;
        } else {
            // can not attack from the base
            if (_fromPos == BASE_POS) revert();
            
            Fish storage targetFish = fishMap[tempX];
            if (targetFish.weight + minEatable <= fish.weight) {
                // eat the target fish
                fish.weight += targetFish.weight;
                targetFish.weight = 0;
                
                // update location
                ocean[_toPos] = fishId;
                
                EventEat(msg.sender, targetFish.player, fishId, tempX, _fromPos, _toPos, fish.weight);
                Transfer(targetFish.player, address(0), tempX);
            } else if (targetFish.weight <= fish.weight) {
                // fight and win
                // bonus to others
                seed = getRandom(seed);
                tempY = seed % (maxPos - 1);
                if (tempY == BASE_POS) tempY += 1;
                bonus[tempY] = targetFish.weight * 2;
                
                EventBonus(tempY, targetFish.weight * 2);
                
                // fight 
                fish.weight -= targetFish.weight;
                targetFish.weight = 0;
                
                // update location
                if (fish.weight > 0) {
                    ocean[_toPos] = fishId;
                } else {
                    ocean[_toPos] = 0;
                    Transfer(msg.sender, address(0), fishId);
                }
                
                EventFight(msg.sender, targetFish.player, fishId, tempX, _fromPos, _toPos, fish.weight);
                Transfer(targetFish.player, address(0), tempX);
            } else {
                // bonus to others
                seed = getRandom(seed);
                tempY = seed % (maxPos - 1);
                if (tempY == BASE_POS) tempY += 1;
                bonus[tempY] = fish.weight * 2;
                
                EventBonus(tempY, fish.weight * 2);
                
                // suicide
                targetFish.weight -= fish.weight;
                fish.weight = 0;
                
                EventSuicide(msg.sender, targetFish.player, fishId, tempX, _fromPos, _toPos, targetFish.weight);
                Transfer(msg.sender, address(0), fishId);
            }
        }
    }
    
    function CashOut() isActive external {
        uint fishId = players[msg.sender];
        Fish storage fish = fishMap[fishId];
        
        if (fish.weight < minCashout)
            revert();
        
        if (fish.weight < addWeight) 
            revert();
        
        uint _amount = fish.weight - addWeight;
        fish.weight = addWeight;
        
        ERC20Interface token = ERC20Interface(tokenContract);
        if (_amount > token.balanceOf(address(this))) {
            revert();
        }
        token.transfer(msg.sender, (_amount * cashOutRate) / 100);
        EventCashout(msg.sender, fishId, fish.weight);
    }
    
    // public get 
    function getFish(uint32 _fishId) constant public returns(address player, uint weight, bool active) {
        Fish storage fish = fishMap[_fishId];
        return (fish.player, fish.weight, fish.active);
    }
    
    function getFishByAddress(address _player) constant public returns(uint fishId, address player, uint weight, bool active) {
        fishId = players[_player];
        Fish storage fish = fishMap[fishId];
        player = fish.player;
        weight =fish.weight;
        active = fish.active;
    }
    
    function getFishIdByAddress(address _player) constant public returns(uint fishId) {
        return players[_player];
    }
    
    function getFishIdByPos(uint _pos) constant public returns(uint fishId) {
        return ocean[_pos];
    }
    
    function getFishByPos(uint _pos) constant public returns(uint fishId, address player, uint weight) {
        fishId = ocean[_pos];
        Fish storage fish = fishMap[fishId];
        return (fishId, fish.player, fish.weight);
    }
    
    // cell has valid fish or bonus
    function findTargetCell(uint _fromPos, uint _toPos) constant public returns(uint pos, uint fishId, address player, uint weight) {
        for (uint index = _fromPos; index <= _toPos; index+=1) {
            if (ocean[index] > 0) {
                fishId = ocean[index];
                Fish storage fish = fishMap[fishId];
                return (index, fishId, fish.player, fish.weight);
            }
            if (bonus[index] > 0) {
                return (index, 0, address(0), bonus[index]);
            }
        }
    }
    
    function getStats() constant public returns(uint countFish, uint countBonus) {
        countFish = 0;
        countBonus = 0;
        for (uint index = 0; index < width * HIGH; index++) {
            if (ocean[index] > 0) {
                countFish += 1; 
            } else if (bonus[index] > 0) {
                countBonus += 1;
            }
        }
    }
    
    function getFishAtBase(uint _fishId) constant public returns(uint fishId, address player, uint weight) {
        for (uint id = _fishId; id <= totalFish; id++) {
            Fish storage fish = fishMap[id];
            if (fish.weight > 0 && !fish.active) {
                return (id, fish.player, fish.weight);
            }
        }
        
        return (0, address(0), 0);
    }
    
    function getMaxJump(uint _weight) constant public returns(uint) {
        return maxJumps[_weight];
    }
    
    // some meta data
    string public constant name = "EmontFrenzy";
    string public constant symbol = "EMONF";

    function totalSupply() public view returns (uint256) {
        return totalFish;
    }
    
    function balanceOf(address _owner) public view returns (uint256 _balance) {
        if (fishMap[players[_owner]].weight > 0)
            return 1;
        return 0;
    }
    
    function ownerOf(uint256 _tokenId) public view returns (address _owner) {
        Fish storage fish = fishMap[_tokenId];
        if (fish.weight > 0)
            return fish.player;
        return address(0);
    }
    
    function transfer(address _to, uint256 _tokenId) public{
        require(_to != address(0));
        
        uint fishId = players[msg.sender];
        Fish storage fish = fishMap[fishId];
        if (fishId == 0 || fish.weight == 0 || fishId != _tokenId)
            revert();
        
        if (balanceOf(_to) > 0)
            revert();
        
        fish.player = _to;
        players[msg.sender] = 0;
        players[_to] = fishId;
        
        Transfer(msg.sender, _to, _tokenId);
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"maxPos","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addFee","type":"uint256"},{"name":"_addWeight","type":"uint256"},{"name":"_moveCharge","type":"uint256"},{"name":"_cashOutRate","type":"uint256"},{"name":"_cashInRate","type":"uint256"},{"name":"_width","type":"uint256"}],"name":"setConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_minCashout","type":"uint256"},{"name":"_minEatable","type":"uint256"}],"name":"setExtraConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minCashout","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_isMaintaining","type":"bool"}],"name":"UpdateMaintaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_weight","type":"uint256"}],"name":"getMaxJump","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalModerators","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_fishId","type":"uint32"}],"name":"getFish","outputs":[{"name":"player","type":"address"},{"name":"weight","type":"uint256"},{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cashOutRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ONE_EMONT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_player","type":"address"},{"name":"tokens","type":"uint256"}],"name":"AddFishByToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"BASE_POS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFish","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cashInRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minEatable","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_fromPos","type":"uint256"},{"name":"_toPos","type":"uint256"}],"name":"MoveFish","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_fromPos","type":"uint256"},{"name":"_toPos","type":"uint256"}],"name":"findTargetCell","outputs":[{"name":"pos","type":"uint256"},{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"AddFish","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_weight","type":"uint256"},{"name":"_squareLength","type":"uint256"}],"name":"updateMaxJump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_player","type":"address"}],"name":"getFishIdByAddress","outputs":[{"name":"fishId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"width","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"CashOut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_pos","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"addBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_fishId","type":"uint256"}],"name":"getFishAtBase","outputs":[{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"HIGH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_pos","type":"uint256"}],"name":"getFishIdByPos","outputs":[{"name":"fishId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"moveCharge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStats","outputs":[{"name":"countFish","type":"uint256"},{"name":"countBonus","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_seed","type":"uint256"}],"name":"getRandom","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minJump","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minJump","type":"uint256"}],"name":"updateMinJump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_a","type":"uint256"},{"name":"_b","type":"uint256"}],"name":"DeductABS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_pos","type":"uint256"}],"name":"getFishByPos","outputs":[{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMaintaining","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setDefaultMaxJump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_player","type":"address"}],"name":"getFishByAddress","outputs":[{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"},{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addWeight","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":false,"name":"fishId","type":"uint256"},{"indexed":false,"name":"weight","type":"uint256"}],"name":"EventCashout","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"pos","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"EventBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":false,"name":"fishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"weight","type":"uint256"}],"name":"EventMove","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"defender","type":"address"},{"indexed":false,"name":"playerFishId","type":"uint256"},{"indexed":false,"name":"defenderFishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"playerWeight","type":"uint256"}],"name":"EventEat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"defender","type":"address"},{"indexed":false,"name":"playerFishId","type":"uint256"},{"indexed":false,"name":"defenderFishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"playerWeight","type":"uint256"}],"name":"EventFight","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"defender","type":"address"},{"indexed":false,"name":"playerFishId","type":"uint256"},{"indexed":false,"name":"defenderFishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"defenderWeight","type":"uint256"}],"name":"EventSuicide","type":"event"}]

606060405260008060146101000a81548161ffff021916908361ffff1602179055506000600260006101000a81548160ff021916908315150217905550662386f26fc10000600555631dcd65006006556005600755606460085560326009556032600a556004600b55600a54601402600c556377359400600d556305f5e100600e55600060145534156200009257600080fd5b60405160208062003a5583398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200015060006200015d640100000000026200321d176401000000009004565b600381905550506200018a565b60008142446040518083815260200182815260200192505050604051809103902060019004189050919050565b6138bb806200019a6000396000f300606060405260043610610272576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301239adf1461027757806306fdde03146102a057806314d0f1ba1461032e57806318160ddd1461037f5780632f48f151146103a857806333835161146103d1578063354e10631461042157806345408a8a1461044d57806348ef5aa8146104765780634db77d9d1461049b5780634efb023e146104d25780634fbf6e9f14610503578063503c849e1461057e578063522f6815146105a757806354f60aea146105e957806355a373d61461061257806359b62658146106675780635c7b9ccf146106a957806362b26f95146106d25780636352211e146106fb578063672324ac1461075e5780636c81fd6d146107875780636d07f295146107c057806370a08231146107e9578063754ad9811461083657806378761590146108625780637c17dc02146108e35780638da5cb5b146108ed578063905473cf1461094257806395d89b411461096e5780639b01c7ac146109fc5780639e281a9814610a495780639ededf7714610a8b578063a1e564b114610ab4578063a9059cbb14610ac9578063b02b69d614610b0b578063b60868be14610b37578063b73974a114610ba8578063b85d627514610bd1578063be32eeba14610c0a578063c0b332c114610c41578063c59d484714610c6a578063cd4b691414610c9a578063cf2d03ae14610cd1578063d398806d14610cfa578063d4fa902114610d1d578063ecd747de14610d5d578063ee4e441614610dce578063f285329214610dfb578063f838ea1a14610e34578063f8ecb55814610e49578063fbe3549c14610edb575b600080fd5b341561028257600080fd5b61028a610f04565b6040518082815260200191505060405180910390f35b34156102ab57600080fd5b6102b3610f0a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f35780820151818401526020810190506102d8565b50505050905090810190601f1680156103205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561033957600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f43565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b610392610f63565b6040518082815260200191505060405180910390f35b34156103b357600080fd5b6103bb610f6d565b6040518082815260200191505060405180910390f35b34156103dc57600080fd5b61041f6004808035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050610f73565b005b341561042c57600080fd5b61044b6004808035906020019091908035906020019091905050611067565b005b341561045857600080fd5b61046061112f565b6040518082815260200191505060405180910390f35b341561048157600080fd5b61049960048080351515906020019091905050611135565b005b34156104a657600080fd5b6104bc60048080359060200190919050506111ad565b6040518082815260200191505060405180910390f35b34156104dd57600080fd5b6104e56111ca565b604051808261ffff1661ffff16815260200191505060405180910390f35b341561050e57600080fd5b61052a600480803563ffffffff169060200190919050506111de565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001935050505060405180910390f35b341561058957600080fd5b610591611249565b6040518082815260200191505060405180910390f35b34156105b257600080fd5b6105e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061124f565b005b34156105f457600080fd5b6105fc61136d565b6040518082815260200191505060405180910390f35b341561061d57600080fd5b610625611375565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067257600080fd5b6106a7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061139b565b005b34156106b457600080fd5b6106bc611632565b6040518082815260200191505060405180910390f35b34156106dd57600080fd5b6106e5611638565b6040518082815260200191505060405180910390f35b341561070657600080fd5b61071c600480803590602001909190505061163e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561076957600080fd5b61077161169a565b6040518082815260200191505060405180910390f35b341561079257600080fd5b6107be600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116a0565b005b34156107cb57600080fd5b6107d36117e0565b6040518082815260200191505060405180910390f35b34156107f457600080fd5b610820600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117e6565b6040518082815260200191505060405180910390f35b341561084157600080fd5b6108606004808035906020019091908035906020019091905050611858565b005b341561086d57600080fd5b61088c6004808035906020019091908035906020019091905050612260565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b6108eb612351565b005b34156108f857600080fd5b610900612537565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561094d57600080fd5b61096c600480803590602001909190803590602001909190505061255c565b005b341561097957600080fd5b61098161262e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109c15780820151818401526020810190506109a6565b50505050905090810190601f1680156109ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a0757600080fd5b610a33600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612667565b6040518082815260200191505060405180910390f35b3415610a5457600080fd5b610a89600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506126b0565b005b3415610a9657600080fd5b610a9e612981565b6040518082815260200191505060405180910390f35b3415610abf57600080fd5b610ac7612987565b005b3415610ad457600080fd5b610b09600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612c62565b005b3415610b1657600080fd5b610b356004808035906020019091908035906020019091905050612e6d565b005b3415610b4257600080fd5b610b586004808035906020019091905050612f87565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3415610bb357600080fd5b610bbb613039565b6040518082815260200191505060405180910390f35b3415610bdc57600080fd5b610c08600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061303e565b005b3415610c1557600080fd5b610c2b600480803590602001909190505061317f565b6040518082815260200191505060405180910390f35b3415610c4c57600080fd5b610c5461319c565b6040518082815260200191505060405180910390f35b3415610c7557600080fd5b610c7d6131a2565b604051808381526020018281526020019250505060405180910390f35b3415610ca557600080fd5b610cbb600480803590602001909190505061321d565b6040518082815260200191505060405180910390f35b3415610cdc57600080fd5b610ce461324a565b6040518082815260200191505060405180910390f35b3415610d0557600080fd5b610d1b6004808035906020019091905050613250565b005b3415610d2857600080fd5b610d476004808035906020019091908035906020019091905050613310565b6040518082815260200191505060405180910390f35b3415610d6857600080fd5b610d7e6004808035906020019091905050613330565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3415610dd957600080fd5b610de161339a565b604051808215151515815260200191505060405180910390f35b3415610e0657600080fd5b610e32600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506133ad565b005b3415610e3f57600080fd5b610e47613482565b005b3415610e5457600080fd5b610e80600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506137e0565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200194505050505060405180910390f35b3415610ee657600080fd5b610eee613889565b6040518082815260200191505060405180910390f35b600c5481565b6040805190810160405280600b81526020017f456d6f6e744672656e7a7900000000000000000000000000000000000000000081525081565b60016020528060005260406000206000915054906101000a900460ff1681565b6000601454905090565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061101e575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561102957600080fd5b856005819055508460068190555083600781905550826008819055508160098190555080600a81905550600a54601402600c81905550505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611112575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561111d57600080fd5b81600d8190555080600e819055505050565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119057600080fd5b80600260006101000a81548160ff02191690831515021790555050565b600060136000838152602001908152602001600020549050919050565b600060149054906101000a900461ffff1681565b600080600080600f60008663ffffffff16815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600101548260020160009054906101000a900460ff16935093509350509193909250565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112fa575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561130557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163181111561132957600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561136957600080fd5b5050565b6305f5e10081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611449575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561145457600080fd5b6064600954840281151561146457fe5b0491506006548214151561147757600080fd5b6000600f6000601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206001015411156114da57600080fd5b6001601460008282540192505081905550600f600060145481526020019081526020016000209050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018190555060008160020160006101000a81548160ff021916908315150217905550601454601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115be60035461321d565b6003819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6014546040518082815260200191505060405180910390a350505050565b6101fe81565b60145481565b600080600f6000848152602001908152602001600020905060008160010154111561168f578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611694565b600091505b50919050565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116fb57600080fd5b60001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156117dd5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160192506101000a81548161ffff021916908361ffff1602179055505b50565b600e5481565b600080600f6000601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002060010154111561184e5760019050611853565b600090505b919050565b600080600080600080600260009054906101000a900460ff1615151561187d57600080fd5b600c54871015801561188f5750868814155b1561189957600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550600f6000878152602001908152602001600020945060008560010154141561190257600080fd5b8460020160009054906101000a900460ff1615801561192357506101fe8814155b1561192d57600080fd5b8460020160009054906101000a900460ff16801561195e575085601060008a81526020019081526020016000205414155b1561196857600080fd5b61198a60148981151561197757fe5b0460148981151561198457fe5b04613310565b93506119ae60148981151561199b57fe5b066014898115156119a857fe5b06613310565b9250601360006305f5e10087600101548115156119c757fe5b04815260200190815260200160002054915060008214156119e857600b5491505b818384028586020111156119fb57600080fd5b6000601060008a8152602001908152602001600020819055506101fe88141515611a6e576064856001015460075402811515611a3357fe5b04935083601160008a815260200190815260200160002060008282540192505081905550838560010160008282540392505081905550611a8c565b60018560020160006101000a81548160ff0219169083151502179055505b6101fe871415611b225760008560020160006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a2612256565b601060008881526020019081526020016000205493506000841415611c2357600060116000898152602001908152602001600020541115611b9c5760116000888152602001908152602001600020548560010160008282540192505081905550600060116000898152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a2856010600089815260200190815260200160002081905550612255565b6101fe881415611c3257600080fd5b600f600085815260200190815260200160002090508460010154600e54826001015401111515611dd05780600101548560010160008282540192505081905550600081600101819055508560106000898152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc15f52570a93e125c446dad9d62b70661ca12a0f34b6b4fe6375284706576c4f88878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3612254565b8460010154816001015411151561208357611dec60035461321d565b6003819055506001600c5403600354811515611e0457fe5b0692506101fe831415611e18576001830192505b600281600101540260116000858152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836002836001015402604051808381526020018281526020019250505060405180910390a18060010154856001016000828254039250508190555060008160010181905550600085600101541115611ec757856010600089815260200190815260200160002081905550611f47565b60006010600089815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff33ea0d9449fd6e15735c140f51c1e01bacda12ea866ebd8c8f8c5a7009af4f388878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3612253565b61208e60035461321d565b6003819055506001600c54036003548115156120a657fe5b0692506101fe8314156120ba576001830192505b600285600101540260116000858152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836002876001015402604051808381526020018281526020019250505060405180910390a184600101548160010160008282540392505081905550600085600101819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fca1dfeb0fb285992538d0b85b07f749d9c530b608237c5aca0726b3ee383509f88878c8c8760010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b5b5b5b5050505050505050565b6000806000806000808791505b8682111515612345576000601060008481526020019081526020016000205411156122f65760106000838152602001908152602001600020549450600f6000868152602001908152602001600020905081858260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101549550955095509550612346565b60006011600084815260200190815260200160002054111561233a578160008060116000868152602001908152602001600020548292509550955095509550612346565b60018201915061226d565b5b505092959194509250565b6000600260009054906101000a900460ff1615151561236f57600080fd5b6005543414151561237f57600080fd5b6000600f6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206001015411156123e257600080fd5b6001601460008282540192505081905550600f600060145481526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018190555060008160020160006101000a81548160ff021916908315150217905550601454601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c660035461321d565b6003819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6014546040518082815260200191505060405180910390a350565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612607575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561261257600080fd5b8060136000848152602001908152602001600020819055505050565b6040805190810160405280600581526020017f454d4f4e4600000000000000000000000000000000000000000000000000000081525081565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061275d575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561276857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156127c657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561288e57600080fd5b6102c65a03f1151561289f57600080fd5b505050604051805190508211156128b557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561296057600080fd5b6102c65a03f1151561297157600080fd5b5050506040518051905050505050565b600a5481565b600080600080600260009054906101000a900460ff161515156129a957600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350600f60008581526020019081526020016000209250600d5483600101541015612a1357600080fd5b60065483600101541015612a2657600080fd5b60065483600101540391506006548360010181905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515612b0457600080fd5b6102c65a03f11515612b1557600080fd5b50505060405180519050821115612b2b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3360646008548602811515612b5857fe5b046000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612be657600080fd5b6102c65a03f11515612bf757600080fd5b50505060405180519050503373ffffffffffffffffffffffffffffffffffffffff167f34f1b4b50ab1fe8066f90e4b650517b54750c5450d115a4ca83183ba27d69b48858560010154604051808381526020018281526020019250505060405180910390a250505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515612ca157600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600f600083815260200190815260200160002090506000821480612d0b575060008160010154145b80612d165750828214155b15612d2057600080fd5b6000612d2b856117e6565b1115612d3657600080fd5b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612f18575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515612f2357600080fd5b8060116000848152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e28282604051808381526020018281526020019250505060405180910390a15050565b60008060008060008591505b6014548211151561301e57600f6000838152602001908152602001600020905060008160010154118015612fd657508060020160009054906101000a900460ff16155b1561301157818160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154945094509450613030565b8180600101925050612f93565b60008060008292508090509450945094505b50509193909250565b601481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561309957600080fd5b60011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561317c576000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160392506101000a81548161ffff021916908361ffff1602179055505b50565b600060106000838152602001908152602001600020549050919050565b60075481565b600080600080925060009150600090505b6014600a5402811015613218576000601060008381526020019081526020016000205411156131e75760018301925061320b565b60006011600083815260200190815260200160002054111561320a576001820191505b5b80806001019150506131b3565b509091565b60008142446040518083815260200182815260200192505050604051809103902060019004189050919050565b600b5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806132fb575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561330657600080fd5b80600b8190555050565b60008183111561332457818303905061332a565b82820390505b92915050565b60008060008060106000868152602001908152602001600020549350600f60008581526020019081526020016000209050838160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154935093509350509193909250565b600260009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561340857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561347f57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061352d575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561353857600080fd5b6109c4601360008081526020019081526020016000208190555061038460136000600181526020019081526020016000208190555061019060136000600281526020019081526020016000208190555060e1601360006003815260200190815260200160002081905550609060136000600481526020019081526020016000208190555060516013600060058152602001908152602001600020819055506031601360006006815260200190815260200160002081905550603160136000600781526020019081526020016000208190555060246013600060088152602001908152602001600020819055506024601360006009815260200190815260200160002081905550602460136000600a815260200190815260200160002081905550601960136000600b815260200190815260200160002081905550601960136000600c815260200190815260200160002081905550601960136000600d815260200190815260200160002081905550601960136000600e815260200190815260200160002081905550601060136000600f8152602001908152602001600020819055506010601360006010815260200190815260200160002081905550601060136000601181526020019081526020016000208190555060106013600060128152602001908152602001600020819055506010601360006013815260200190815260200160002081905550600960136000601481526020019081526020016000208190555060096013600060158152602001908152602001600020819055506009601360006016815260200190815260200160002081905550600960136000601781526020019081526020016000208190555060096013600060188152602001908152602001600020819055506009601360006019815260200190815260200160002081905550565b6000806000806000601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549450600f600086815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350806001015492508060020160009054906101000a900460ff169150509193509193565b600654815600a165627a7a72305820e0f3c2171323990080f46fe13657bb247c560f925e117e248bd9df8b24e9e4ee002900000000000000000000000095daaab98046846bf4b2853e23cba236fa394a31

Deployed Bytecode

0x606060405260043610610272576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301239adf1461027757806306fdde03146102a057806314d0f1ba1461032e57806318160ddd1461037f5780632f48f151146103a857806333835161146103d1578063354e10631461042157806345408a8a1461044d57806348ef5aa8146104765780634db77d9d1461049b5780634efb023e146104d25780634fbf6e9f14610503578063503c849e1461057e578063522f6815146105a757806354f60aea146105e957806355a373d61461061257806359b62658146106675780635c7b9ccf146106a957806362b26f95146106d25780636352211e146106fb578063672324ac1461075e5780636c81fd6d146107875780636d07f295146107c057806370a08231146107e9578063754ad9811461083657806378761590146108625780637c17dc02146108e35780638da5cb5b146108ed578063905473cf1461094257806395d89b411461096e5780639b01c7ac146109fc5780639e281a9814610a495780639ededf7714610a8b578063a1e564b114610ab4578063a9059cbb14610ac9578063b02b69d614610b0b578063b60868be14610b37578063b73974a114610ba8578063b85d627514610bd1578063be32eeba14610c0a578063c0b332c114610c41578063c59d484714610c6a578063cd4b691414610c9a578063cf2d03ae14610cd1578063d398806d14610cfa578063d4fa902114610d1d578063ecd747de14610d5d578063ee4e441614610dce578063f285329214610dfb578063f838ea1a14610e34578063f8ecb55814610e49578063fbe3549c14610edb575b600080fd5b341561028257600080fd5b61028a610f04565b6040518082815260200191505060405180910390f35b34156102ab57600080fd5b6102b3610f0a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f35780820151818401526020810190506102d8565b50505050905090810190601f1680156103205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561033957600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f43565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b610392610f63565b6040518082815260200191505060405180910390f35b34156103b357600080fd5b6103bb610f6d565b6040518082815260200191505060405180910390f35b34156103dc57600080fd5b61041f6004808035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050610f73565b005b341561042c57600080fd5b61044b6004808035906020019091908035906020019091905050611067565b005b341561045857600080fd5b61046061112f565b6040518082815260200191505060405180910390f35b341561048157600080fd5b61049960048080351515906020019091905050611135565b005b34156104a657600080fd5b6104bc60048080359060200190919050506111ad565b6040518082815260200191505060405180910390f35b34156104dd57600080fd5b6104e56111ca565b604051808261ffff1661ffff16815260200191505060405180910390f35b341561050e57600080fd5b61052a600480803563ffffffff169060200190919050506111de565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001935050505060405180910390f35b341561058957600080fd5b610591611249565b6040518082815260200191505060405180910390f35b34156105b257600080fd5b6105e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061124f565b005b34156105f457600080fd5b6105fc61136d565b6040518082815260200191505060405180910390f35b341561061d57600080fd5b610625611375565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067257600080fd5b6106a7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061139b565b005b34156106b457600080fd5b6106bc611632565b6040518082815260200191505060405180910390f35b34156106dd57600080fd5b6106e5611638565b6040518082815260200191505060405180910390f35b341561070657600080fd5b61071c600480803590602001909190505061163e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561076957600080fd5b61077161169a565b6040518082815260200191505060405180910390f35b341561079257600080fd5b6107be600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116a0565b005b34156107cb57600080fd5b6107d36117e0565b6040518082815260200191505060405180910390f35b34156107f457600080fd5b610820600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117e6565b6040518082815260200191505060405180910390f35b341561084157600080fd5b6108606004808035906020019091908035906020019091905050611858565b005b341561086d57600080fd5b61088c6004808035906020019091908035906020019091905050612260565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b6108eb612351565b005b34156108f857600080fd5b610900612537565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561094d57600080fd5b61096c600480803590602001909190803590602001909190505061255c565b005b341561097957600080fd5b61098161262e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109c15780820151818401526020810190506109a6565b50505050905090810190601f1680156109ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a0757600080fd5b610a33600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612667565b6040518082815260200191505060405180910390f35b3415610a5457600080fd5b610a89600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506126b0565b005b3415610a9657600080fd5b610a9e612981565b6040518082815260200191505060405180910390f35b3415610abf57600080fd5b610ac7612987565b005b3415610ad457600080fd5b610b09600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612c62565b005b3415610b1657600080fd5b610b356004808035906020019091908035906020019091905050612e6d565b005b3415610b4257600080fd5b610b586004808035906020019091905050612f87565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3415610bb357600080fd5b610bbb613039565b6040518082815260200191505060405180910390f35b3415610bdc57600080fd5b610c08600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061303e565b005b3415610c1557600080fd5b610c2b600480803590602001909190505061317f565b6040518082815260200191505060405180910390f35b3415610c4c57600080fd5b610c5461319c565b6040518082815260200191505060405180910390f35b3415610c7557600080fd5b610c7d6131a2565b604051808381526020018281526020019250505060405180910390f35b3415610ca557600080fd5b610cbb600480803590602001909190505061321d565b6040518082815260200191505060405180910390f35b3415610cdc57600080fd5b610ce461324a565b6040518082815260200191505060405180910390f35b3415610d0557600080fd5b610d1b6004808035906020019091905050613250565b005b3415610d2857600080fd5b610d476004808035906020019091908035906020019091905050613310565b6040518082815260200191505060405180910390f35b3415610d6857600080fd5b610d7e6004808035906020019091905050613330565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3415610dd957600080fd5b610de161339a565b604051808215151515815260200191505060405180910390f35b3415610e0657600080fd5b610e32600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506133ad565b005b3415610e3f57600080fd5b610e47613482565b005b3415610e5457600080fd5b610e80600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506137e0565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200194505050505060405180910390f35b3415610ee657600080fd5b610eee613889565b6040518082815260200191505060405180910390f35b600c5481565b6040805190810160405280600b81526020017f456d6f6e744672656e7a7900000000000000000000000000000000000000000081525081565b60016020528060005260406000206000915054906101000a900460ff1681565b6000601454905090565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061101e575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561102957600080fd5b856005819055508460068190555083600781905550826008819055508160098190555080600a81905550600a54601402600c81905550505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611112575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561111d57600080fd5b81600d8190555080600e819055505050565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119057600080fd5b80600260006101000a81548160ff02191690831515021790555050565b600060136000838152602001908152602001600020549050919050565b600060149054906101000a900461ffff1681565b600080600080600f60008663ffffffff16815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600101548260020160009054906101000a900460ff16935093509350509193909250565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112fa575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561130557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163181111561132957600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561136957600080fd5b5050565b6305f5e10081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611449575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561145457600080fd5b6064600954840281151561146457fe5b0491506006548214151561147757600080fd5b6000600f6000601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206001015411156114da57600080fd5b6001601460008282540192505081905550600f600060145481526020019081526020016000209050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018190555060008160020160006101000a81548160ff021916908315150217905550601454601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115be60035461321d565b6003819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6014546040518082815260200191505060405180910390a350505050565b6101fe81565b60145481565b600080600f6000848152602001908152602001600020905060008160010154111561168f578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611694565b600091505b50919050565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116fb57600080fd5b60001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156117dd5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160192506101000a81548161ffff021916908361ffff1602179055505b50565b600e5481565b600080600f6000601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002060010154111561184e5760019050611853565b600090505b919050565b600080600080600080600260009054906101000a900460ff1615151561187d57600080fd5b600c54871015801561188f5750868814155b1561189957600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550600f6000878152602001908152602001600020945060008560010154141561190257600080fd5b8460020160009054906101000a900460ff1615801561192357506101fe8814155b1561192d57600080fd5b8460020160009054906101000a900460ff16801561195e575085601060008a81526020019081526020016000205414155b1561196857600080fd5b61198a60148981151561197757fe5b0460148981151561198457fe5b04613310565b93506119ae60148981151561199b57fe5b066014898115156119a857fe5b06613310565b9250601360006305f5e10087600101548115156119c757fe5b04815260200190815260200160002054915060008214156119e857600b5491505b818384028586020111156119fb57600080fd5b6000601060008a8152602001908152602001600020819055506101fe88141515611a6e576064856001015460075402811515611a3357fe5b04935083601160008a815260200190815260200160002060008282540192505081905550838560010160008282540392505081905550611a8c565b60018560020160006101000a81548160ff0219169083151502179055505b6101fe871415611b225760008560020160006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a2612256565b601060008881526020019081526020016000205493506000841415611c2357600060116000898152602001908152602001600020541115611b9c5760116000888152602001908152602001600020548560010160008282540192505081905550600060116000898152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a2856010600089815260200190815260200160002081905550612255565b6101fe881415611c3257600080fd5b600f600085815260200190815260200160002090508460010154600e54826001015401111515611dd05780600101548560010160008282540192505081905550600081600101819055508560106000898152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc15f52570a93e125c446dad9d62b70661ca12a0f34b6b4fe6375284706576c4f88878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3612254565b8460010154816001015411151561208357611dec60035461321d565b6003819055506001600c5403600354811515611e0457fe5b0692506101fe831415611e18576001830192505b600281600101540260116000858152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836002836001015402604051808381526020018281526020019250505060405180910390a18060010154856001016000828254039250508190555060008160010181905550600085600101541115611ec757856010600089815260200190815260200160002081905550611f47565b60006010600089815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff33ea0d9449fd6e15735c140f51c1e01bacda12ea866ebd8c8f8c5a7009af4f388878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3612253565b61208e60035461321d565b6003819055506001600c54036003548115156120a657fe5b0692506101fe8314156120ba576001830192505b600285600101540260116000858152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836002876001015402604051808381526020018281526020019250505060405180910390a184600101548160010160008282540392505081905550600085600101819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fca1dfeb0fb285992538d0b85b07f749d9c530b608237c5aca0726b3ee383509f88878c8c8760010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b5b5b5b5050505050505050565b6000806000806000808791505b8682111515612345576000601060008481526020019081526020016000205411156122f65760106000838152602001908152602001600020549450600f6000868152602001908152602001600020905081858260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101549550955095509550612346565b60006011600084815260200190815260200160002054111561233a578160008060116000868152602001908152602001600020548292509550955095509550612346565b60018201915061226d565b5b505092959194509250565b6000600260009054906101000a900460ff1615151561236f57600080fd5b6005543414151561237f57600080fd5b6000600f6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206001015411156123e257600080fd5b6001601460008282540192505081905550600f600060145481526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018190555060008160020160006101000a81548160ff021916908315150217905550601454601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c660035461321d565b6003819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6014546040518082815260200191505060405180910390a350565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612607575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561261257600080fd5b8060136000848152602001908152602001600020819055505050565b6040805190810160405280600581526020017f454d4f4e4600000000000000000000000000000000000000000000000000000081525081565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061275d575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561276857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156127c657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561288e57600080fd5b6102c65a03f1151561289f57600080fd5b505050604051805190508211156128b557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561296057600080fd5b6102c65a03f1151561297157600080fd5b5050506040518051905050505050565b600a5481565b600080600080600260009054906101000a900460ff161515156129a957600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350600f60008581526020019081526020016000209250600d5483600101541015612a1357600080fd5b60065483600101541015612a2657600080fd5b60065483600101540391506006548360010181905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515612b0457600080fd5b6102c65a03f11515612b1557600080fd5b50505060405180519050821115612b2b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3360646008548602811515612b5857fe5b046000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612be657600080fd5b6102c65a03f11515612bf757600080fd5b50505060405180519050503373ffffffffffffffffffffffffffffffffffffffff167f34f1b4b50ab1fe8066f90e4b650517b54750c5450d115a4ca83183ba27d69b48858560010154604051808381526020018281526020019250505060405180910390a250505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515612ca157600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600f600083815260200190815260200160002090506000821480612d0b575060008160010154145b80612d165750828214155b15612d2057600080fd5b6000612d2b856117e6565b1115612d3657600080fd5b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612f18575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515612f2357600080fd5b8060116000848152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e28282604051808381526020018281526020019250505060405180910390a15050565b60008060008060008591505b6014548211151561301e57600f6000838152602001908152602001600020905060008160010154118015612fd657508060020160009054906101000a900460ff16155b1561301157818160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154945094509450613030565b8180600101925050612f93565b60008060008292508090509450945094505b50509193909250565b601481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561309957600080fd5b60011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561317c576000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160392506101000a81548161ffff021916908361ffff1602179055505b50565b600060106000838152602001908152602001600020549050919050565b60075481565b600080600080925060009150600090505b6014600a5402811015613218576000601060008381526020019081526020016000205411156131e75760018301925061320b565b60006011600083815260200190815260200160002054111561320a576001820191505b5b80806001019150506131b3565b509091565b60008142446040518083815260200182815260200192505050604051809103902060019004189050919050565b600b5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806132fb575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561330657600080fd5b80600b8190555050565b60008183111561332457818303905061332a565b82820390505b92915050565b60008060008060106000868152602001908152602001600020549350600f60008581526020019081526020016000209050838160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154935093509350509193909250565b600260009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561340857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561347f57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061352d575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561353857600080fd5b6109c4601360008081526020019081526020016000208190555061038460136000600181526020019081526020016000208190555061019060136000600281526020019081526020016000208190555060e1601360006003815260200190815260200160002081905550609060136000600481526020019081526020016000208190555060516013600060058152602001908152602001600020819055506031601360006006815260200190815260200160002081905550603160136000600781526020019081526020016000208190555060246013600060088152602001908152602001600020819055506024601360006009815260200190815260200160002081905550602460136000600a815260200190815260200160002081905550601960136000600b815260200190815260200160002081905550601960136000600c815260200190815260200160002081905550601960136000600d815260200190815260200160002081905550601960136000600e815260200190815260200160002081905550601060136000600f8152602001908152602001600020819055506010601360006010815260200190815260200160002081905550601060136000601181526020019081526020016000208190555060106013600060128152602001908152602001600020819055506010601360006013815260200190815260200160002081905550600960136000601481526020019081526020016000208190555060096013600060158152602001908152602001600020819055506009601360006016815260200190815260200160002081905550600960136000601781526020019081526020016000208190555060096013600060188152602001908152602001600020819055506009601360006019815260200190815260200160002081905550565b6000806000806000601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549450600f600086815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350806001015492508060020160009054906101000a900460ff169150509193509193565b600654815600a165627a7a72305820e0f3c2171323990080f46fe13657bb247c560f925e117e248bd9df8b24e9e4ee0029

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

00000000000000000000000095daaab98046846bf4b2853e23cba236fa394a31

-----Decoded View---------------
Arg [0] : _tokenContract (address): 0x95dAaaB98046846bF4B2853e23cba236fa394A31

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000095daaab98046846bf4b2853e23cba236fa394a31


Swarm Source

bzzr://e0f3c2171323990080f46fe13657bb247c560f925e117e248bd9df8b24e9e4ee
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.