ETH Price: $3,085.66 (+0.78%)
Gas: 6 Gwei

Token

UnicornGO (UNG)
 

Overview

Max Total Supply

5,976 UNG

Holders

326

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
6 UNG

Value
$0.00
0xd4149907c84dea9a9b405c552f9446ac5660bbff
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

UnicornGO is a crypto collection game featuring advanced graphics and elements of full-scale gameplay. It also supports geolocation assets and augmented reality.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
UnicornToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-03-13
*/

pragma solidity ^0.4.21;

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

contract UnicornManagementInterface {

    function ownerAddress() external view returns (address);
    function managerAddress() external view returns (address);
    function communityAddress() external view returns (address);
    function dividendManagerAddress() external view returns (address);
    function walletAddress() external view returns (address);
    function blackBoxAddress() external view returns (address);
    function unicornBreedingAddress() external view returns (address);
    function geneLabAddress() external view returns (address);
    function unicornTokenAddress() external view returns (address);
    function candyToken() external view returns (address);
    function candyPowerToken() external view returns (address);

    function createDividendPercent() external view returns (uint);
    function sellDividendPercent() external view returns (uint);
    function subFreezingPrice() external view returns (uint);
    function subFreezingTime() external view returns (uint64);
    function subTourFreezingPrice() external view returns (uint);
    function subTourFreezingTime() external view returns (uint64);
    function createUnicornPrice() external view returns (uint);
    function createUnicornPriceInCandy() external view returns (uint);
    function oraclizeFee() external view returns (uint);

    function paused() external view returns (bool);
    //    function locked() external view returns (bool);

    function isTournament(address _tournamentAddress) external view returns (bool);

    function getCreateUnicornFullPrice() external view returns (uint);
    function getHybridizationFullPrice(uint _price) external view returns (uint);
    function getSellUnicornFullPrice(uint _price) external view returns (uint);
    function getCreateUnicornFullPriceInCandy() external view returns (uint);


    //service
    function registerInit(address _contract) external;

}

contract UnicornAccessControl {

    UnicornManagementInterface public unicornManagement;

    function UnicornAccessControl(address _unicornManagementAddress) public {
        unicornManagement = UnicornManagementInterface(_unicornManagementAddress);
        unicornManagement.registerInit(this);
    }

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

    modifier onlyManager() {
        require(msg.sender == unicornManagement.managerAddress());
        _;
    }

    modifier onlyCommunity() {
        require(msg.sender == unicornManagement.communityAddress());
        _;
    }

    modifier onlyTournament() {
        require(unicornManagement.isTournament(msg.sender));
        _;
    }

    modifier whenNotPaused() {
        require(!unicornManagement.paused());
        _;
    }

    modifier whenPaused {
        require(unicornManagement.paused());
        _;
    }


    modifier onlyManagement() {
        require(msg.sender == address(unicornManagement));
        _;
    }

    modifier onlyBreeding() {
        require(msg.sender == unicornManagement.unicornBreedingAddress());
        _;
    }

    modifier onlyGeneLab() {
        require(msg.sender == unicornManagement.geneLabAddress());
        _;
    }

    modifier onlyBlackBox() {
        require(msg.sender == unicornManagement.blackBoxAddress());
        _;
    }

    modifier onlyUnicornToken() {
        require(msg.sender == unicornManagement.unicornTokenAddress());
        _;
    }

    function isGamePaused() external view returns (bool) {
        return unicornManagement.paused();
    }
}

contract UnicornBreedingInterface {
    function deleteOffer(uint _unicornId) external;
    function deleteHybridization(uint _unicornId) external;
}


contract UnicornBase is UnicornAccessControl {
    using SafeMath for uint;
    UnicornBreedingInterface public unicornBreeding; //set on deploy

    event Transfer(address indexed from, address indexed to, uint256 unicornId);
    event Approval(address indexed owner, address indexed approved, uint256 unicornId);
    event UnicornGeneSet(uint indexed unicornId);
    event UnicornGeneUpdate(uint indexed unicornId);
    event UnicornFreezingTimeSet(uint indexed unicornId, uint time);
    event UnicornTourFreezingTimeSet(uint indexed unicornId, uint time);


    struct Unicorn {
        bytes gene;
        uint64 birthTime;
        uint64 freezingEndTime;
        uint64 freezingTourEndTime;
        string name;
    }

    uint8 maxFreezingIndex = 7;
    uint32[8] internal freezing = [
    uint32(1 hours),    //1 hour
    uint32(2 hours),    //2 - 4 hours
    uint32(8 hours),    //8 - 12 hours
    uint32(16 hours),   //16 - 24 hours
    uint32(36 hours),   //36 - 48 hours
    uint32(72 hours),   //72 - 96 hours
    uint32(120 hours),  //120 - 144 hours
    uint32(168 hours)   //168 hours
    ];

    //count for random plus from 0 to ..
    uint32[8] internal freezingPlusCount = [
    0, 3, 5, 9, 13, 25, 25, 0
    ];

    // Total amount of unicorns
    uint256 private totalUnicorns;

    // Incremental counter of unicorns Id
    uint256 private lastUnicornId;

    //Mapping from unicorn ID to Unicorn struct
    mapping(uint256 => Unicorn) public unicorns;

    // Mapping from unicorn ID to owner
    mapping(uint256 => address) private unicornOwner;

    // Mapping from unicorn ID to approved address
    mapping(uint256 => address) private unicornApprovals;

    // Mapping from owner to list of owned unicorn IDs
    mapping(address => uint256[]) private ownedUnicorns;

    // Mapping from unicorn ID to index of the owner unicorns list
    // т.е. ID уникорна => порядковый номер в списке владельца
    mapping(uint256 => uint256) private ownedUnicornsIndex;

    // Mapping from unicorn ID to approval for GeneLab
    mapping(uint256 => bool) private unicornApprovalsForGeneLab;

    modifier onlyOwnerOf(uint256 _unicornId) {
        require(owns(msg.sender, _unicornId));
        _;
    }

    /**
    * @dev Gets the owner of the specified unicorn ID
    * @param _unicornId uint256 ID of the unicorn to query the owner of
    * @return owner address currently marked as the owner of the given unicorn ID
    */
    function ownerOf(uint256 _unicornId) public view returns (address) {
        return unicornOwner[_unicornId];
        //        address owner = unicornOwner[_unicornId];
        //        require(owner != address(0));
        //        return owner;
    }

    function totalSupply() public view returns (uint256) {
        return totalUnicorns;
    }

    /**
    * @dev Gets the balance of the specified address
    * @param _owner address to query the balance of
    * @return uint256 representing the amount owned by the passed address
    */
    function balanceOf(address _owner) public view returns (uint256) {
        return ownedUnicorns[_owner].length;
    }

    /**
    * @dev Gets the list of unicorns owned by a given address
    * @param _owner address to query the unicorns of
    * @return uint256[] representing the list of unicorns owned by the passed address
    */
    function unicornsOf(address _owner) public view returns (uint256[]) {
        return ownedUnicorns[_owner];
    }

    /**
    * @dev Gets the approved address to take ownership of a given unicorn ID
    * @param _unicornId uint256 ID of the unicorn to query the approval of
    * @return address currently approved to take ownership of the given unicorn ID
    */
    function approvedFor(uint256 _unicornId) public view returns (address) {
        return unicornApprovals[_unicornId];
    }

    /**
    * @dev Tells whether the msg.sender is approved for the given unicorn ID or not
    * This function is not private so it can be extended in further implementations like the operatable ERC721
    * @param _owner address of the owner to query the approval of
    * @param _unicornId uint256 ID of the unicorn to query the approval of
    * @return bool whether the msg.sender is approved for the given unicorn ID or not
    */
    function allowance(address _owner, uint256 _unicornId) public view returns (bool) {
        return approvedFor(_unicornId) == _owner;
    }

    /**
    * @dev Approves another address to claim for the ownership of the given unicorn ID
    * @param _to address to be approved for the given unicorn ID
    * @param _unicornId uint256 ID of the unicorn to be approved
    */
    function approve(address _to, uint256 _unicornId) public onlyOwnerOf(_unicornId) {
        //модификатор onlyOwnerOf гарантирует, что owner = msg.sender
        //        address owner = ownerOf(_unicornId);
        require(_to != msg.sender);
        if (approvedFor(_unicornId) != address(0) || _to != address(0)) {
            unicornApprovals[_unicornId] = _to;
            emit Approval(msg.sender, _to, _unicornId);
        }
    }

    /**
    * @dev Claims the ownership of a given unicorn ID
    * @param _unicornId uint256 ID of the unicorn being claimed by the msg.sender
    */
    function takeOwnership(uint256 _unicornId) public {
        require(allowance(msg.sender, _unicornId));
        clearApprovalAndTransfer(ownerOf(_unicornId), msg.sender, _unicornId);
    }

    /**
    * @dev Transfers the ownership of a given unicorn ID to another address
    * @param _to address to receive the ownership of the given unicorn ID
    * @param _unicornId uint256 ID of the unicorn to be transferred
    */
    function transfer(address _to, uint256 _unicornId) public onlyOwnerOf(_unicornId) {
        clearApprovalAndTransfer(msg.sender, _to, _unicornId);
    }


    /**
    * @dev Internal function to clear current approval and transfer the ownership of a given unicorn ID
    * @param _from address which you want to send unicorns from
    * @param _to address which you want to transfer the unicorn to
    * @param _unicornId uint256 ID of the unicorn to be transferred
    */
    function clearApprovalAndTransfer(address _from, address _to, uint256 _unicornId) internal {
        require(owns(_from, _unicornId));
        require(_to != address(0));
        require(_to != ownerOf(_unicornId));

        clearApproval(_from, _unicornId);
        removeUnicorn(_from, _unicornId);
        addUnicorn(_to, _unicornId);
        emit Transfer(_from, _to, _unicornId);
    }

    /**
    * @dev Internal function to clear current approval of a given unicorn ID
    * @param _unicornId uint256 ID of the unicorn to be transferred
    */
    function clearApproval(address _owner, uint256 _unicornId) private {
        require(owns(_owner, _unicornId));
        unicornApprovals[_unicornId] = 0;
        emit Approval(_owner, 0, _unicornId);
    }

    /**
    * @dev Internal function to add a unicorn ID to the list of a given address
    * @param _to address representing the new owner of the given unicorn ID
    * @param _unicornId uint256 ID of the unicorn to be added to the unicorns list of the given address
    */
    function addUnicorn(address _to, uint256 _unicornId) private {
        require(unicornOwner[_unicornId] == address(0));
        unicornOwner[_unicornId] = _to;
        //        uint256 length = balanceOf(_to);
        uint256 length = ownedUnicorns[_to].length;
        ownedUnicorns[_to].push(_unicornId);
        ownedUnicornsIndex[_unicornId] = length;
        totalUnicorns = totalUnicorns.add(1);
    }

    /**
    * @dev Internal function to remove a unicorn ID from the list of a given address
    * @param _from address representing the previous owner of the given unicorn ID
    * @param _unicornId uint256 ID of the unicorn to be removed from the unicorns list of the given address
    */
    function removeUnicorn(address _from, uint256 _unicornId) private {
        require(owns(_from, _unicornId));

        uint256 unicornIndex = ownedUnicornsIndex[_unicornId];
        //        uint256 lastUnicornIndex = balanceOf(_from).sub(1);
        uint256 lastUnicornIndex = ownedUnicorns[_from].length.sub(1);
        uint256 lastUnicorn = ownedUnicorns[_from][lastUnicornIndex];

        unicornOwner[_unicornId] = 0;
        ownedUnicorns[_from][unicornIndex] = lastUnicorn;
        ownedUnicorns[_from][lastUnicornIndex] = 0;
        // Note that this will handle single-element arrays. In that case, both unicornIndex and lastUnicornIndex are going to
        // be zero. Then we can make sure that we will remove _unicornId from the ownedUnicorns list since we are first swapping
        // the lastUnicorn to the first position, and then dropping the element placed in the last position of the list

        ownedUnicorns[_from].length--;
        ownedUnicornsIndex[_unicornId] = 0;
        ownedUnicornsIndex[lastUnicorn] = unicornIndex;
        totalUnicorns = totalUnicorns.sub(1);

        //deleting sale offer, if exists
        //TODO check if contract exists?
        //        if (address(unicornBreeding) != address(0)) {
        unicornBreeding.deleteOffer(_unicornId);
        unicornBreeding.deleteHybridization(_unicornId);
        //        }
    }

    //specific
    //    function burnUnicorn(uint256 _unicornId) onlyOwnerOf(_unicornId) public  {
    //        if (approvedFor(_unicornId) != 0) {
    //            clearApproval(msg.sender, _unicornId);
    //        }
    //        removeUnicorn(msg.sender, _unicornId);
    //        //destroy unicorn data
    //        delete unicorns[_unicornId];
    //        emit Transfer(msg.sender, 0x0, _unicornId);
    //    }


    function createUnicorn(address _owner) onlyBreeding external returns (uint) {
        require(_owner != address(0));
        uint256 _unicornId = lastUnicornId++;
        addUnicorn(_owner, _unicornId);
        //store new unicorn data
        unicorns[_unicornId] = Unicorn({
            gene : new bytes(0),
            birthTime : uint64(now),
            freezingEndTime : 0,
            freezingTourEndTime: 0,
            name: ''
            });
        emit Transfer(0x0, _owner, _unicornId);
        return _unicornId;
    }


    function owns(address _claimant, uint256 _unicornId) public view returns (bool) {
        return ownerOf(_unicornId) == _claimant && ownerOf(_unicornId) != address(0);
    }


    function transferFrom(address _from, address _to, uint256 _unicornId) public {
        require(_to != address(this));
        require(allowance(msg.sender, _unicornId));
        clearApprovalAndTransfer(_from, _to, _unicornId);
    }


    function fromHexChar(uint8 _c) internal pure returns (uint8) {
        return _c - (_c < 58 ? 48 : (_c < 97 ? 55 : 87));
    }


    function getUnicornGenByte(uint _unicornId, uint _byteNo) public view returns (uint8) {
        uint n = _byteNo << 1; // = _byteNo * 2
        //        require(unicorns[_unicornId].gene.length >= n + 1);
        if (unicorns[_unicornId].gene.length < n + 1) {
            return 0;
        }
        return fromHexChar(uint8(unicorns[_unicornId].gene[n])) << 4 | fromHexChar(uint8(unicorns[_unicornId].gene[n + 1]));
    }


    function setName(uint256 _unicornId, string _name ) public onlyOwnerOf(_unicornId) returns (bool) {
        bytes memory tmp = bytes(unicorns[_unicornId].name);
        require(tmp.length == 0);

        unicorns[_unicornId].name = _name;
        return true;
    }


    function getGen(uint _unicornId) external view returns (bytes){
        return unicorns[_unicornId].gene;
    }

    function setGene(uint _unicornId, bytes _gene) onlyBlackBox external  {
        if (unicorns[_unicornId].gene.length == 0) {
            unicorns[_unicornId].gene = _gene;
            emit UnicornGeneSet(_unicornId);
        }
    }

    function updateGene(uint _unicornId, bytes _gene) onlyGeneLab public {
        require(unicornApprovalsForGeneLab[_unicornId]);
        delete unicornApprovalsForGeneLab[_unicornId];
        unicorns[_unicornId].gene = _gene;
        emit UnicornGeneUpdate(_unicornId);
    }

    function approveForGeneLab(uint256 _unicornId) public onlyOwnerOf(_unicornId) {
        unicornApprovalsForGeneLab[_unicornId] = true;
    }

    function clearApprovalForGeneLab(uint256 _unicornId) public onlyOwnerOf(_unicornId) {
        delete unicornApprovalsForGeneLab[_unicornId];
    }

    //transfer by market
    function marketTransfer(address _from, address _to, uint256 _unicornId) onlyBreeding external {
        clearApprovalAndTransfer(_from, _to, _unicornId);
    }

    function plusFreezingTime(uint _unicornId) onlyBreeding external  {
        unicorns[_unicornId].freezingEndTime = uint64(_getFreezeTime(getUnicornGenByte(_unicornId, 163)) + now);
        emit UnicornFreezingTimeSet(_unicornId, unicorns[_unicornId].freezingEndTime);
    }

    function plusTourFreezingTime(uint _unicornId) onlyBreeding external {
        unicorns[_unicornId].freezingTourEndTime = uint64(_getFreezeTime(getUnicornGenByte(_unicornId, 168)) + now);
        emit UnicornTourFreezingTimeSet(_unicornId, unicorns[_unicornId].freezingTourEndTime);
    }

    function _getFreezeTime(uint8 freezingIndex) internal view returns (uint time) {
        freezingIndex %= maxFreezingIndex;
        time = freezing[freezingIndex];
        if (freezingPlusCount[freezingIndex] != 0) {
            time += (uint(block.blockhash(block.number - 1)) % freezingPlusCount[freezingIndex]) * 1 hours;
        }
    }


    //change freezing time for candy
    function minusFreezingTime(uint _unicornId, uint64 _time) onlyBreeding public {
        //не минусуем на уже размороженных конях
        require(unicorns[_unicornId].freezingEndTime > now);
        //не используем safeMath, т.к. subFreezingTime в теории не должен быть больше now %)
        unicorns[_unicornId].freezingEndTime -= _time;
    }

    //change tour freezing time for candy
    function minusTourFreezingTime(uint _unicornId, uint64 _time) onlyBreeding public {
        //не минусуем на уже размороженных конях
        require(unicorns[_unicornId].freezingTourEndTime > now);
        //не используем safeMath, т.к. subTourFreezingTime в теории не должен быть больше now %)
        unicorns[_unicornId].freezingTourEndTime -= _time;
    }

    function isUnfreezed(uint _unicornId) public view returns (bool) {
        return (unicorns[_unicornId].birthTime > 0 && unicorns[_unicornId].freezingEndTime <= uint64(now));
    }

    function isTourUnfreezed(uint _unicornId) public view returns (bool) {
        return (unicorns[_unicornId].birthTime > 0 && unicorns[_unicornId].freezingTourEndTime <= uint64(now));
    }

}

contract UnicornToken is UnicornBase {
    string public constant name = "UnicornGO";
    string public constant symbol = "UNG";

    function UnicornToken(address _unicornManagementAddress) UnicornAccessControl(_unicornManagementAddress) public {

    }

    function init() onlyManagement whenPaused external {
        unicornBreeding = UnicornBreedingInterface(unicornManagement.unicornBreedingAddress());
    }

    function() public {

    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"isGamePaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_unicornId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_unicornId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"approvedFor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"getGen","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_gene","type":"bytes"}],"name":"setGene","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"plusFreezingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_time","type":"uint64"}],"name":"minusFreezingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_gene","type":"bytes"}],"name":"updateGene","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_byteNo","type":"uint256"}],"name":"getUnicornGenByte","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"unicorns","outputs":[{"name":"gene","type":"bytes"},{"name":"birthTime","type":"uint64"},{"name":"freezingEndTime","type":"uint64"},{"name":"freezingTourEndTime","type":"uint64"},{"name":"name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_claimant","type":"address"},{"name":"_unicornId","type":"uint256"}],"name":"owns","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"approveForGeneLab","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unicornManagement","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"unicornsOf","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_time","type":"uint64"}],"name":"minusTourFreezingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_unicornId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"clearApprovalForGeneLab","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_unicornId","type":"uint256"}],"name":"marketTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unicornBreeding","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"isTourUnfreezed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"isUnfreezed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"createUnicorn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"plusTourFreezingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_unicornId","type":"uint256"}],"name":"allowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"init","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_name","type":"string"}],"name":"setName","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_unicornManagementAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"unicornId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":false,"name":"unicornId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"unicornId","type":"uint256"}],"name":"UnicornGeneSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"unicornId","type":"uint256"}],"name":"UnicornGeneUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"unicornId","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"UnicornFreezingTimeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"unicornId","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"UnicornTourFreezingTimeSet","type":"event"}]

60606040526007600160146101000a81548160ff021916908360ff16021790555061010060405190810160405280610e1063ffffffff1663ffffffff168152602001611c2063ffffffff1663ffffffff16815260200161708063ffffffff1663ffffffff16815260200161e10063ffffffff1663ffffffff1681526020016201fa4063ffffffff1663ffffffff1681526020016203f48063ffffffff1663ffffffff1681526020016206978063ffffffff1663ffffffff16815260200162093a8063ffffffff1663ffffffff168152506002906008620000e19291906200028f565b5061010060405190810160405280600060ff168152602001600360ff168152602001600560ff168152602001600960ff168152602001600d60ff168152602001601960ff168152602001601960ff168152602001600060ff1681525060039060086200014f92919062000339565b5034156200015c57600080fd5b604051602080620037d68339810160405280805190602001909190505080806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632a70d1e7306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15156200027657600080fd5b5af115156200028457600080fd5b505050505062000416565b826008600701600890048101928215620003265791602002820160005b83821115620002f257835183826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302620002ac565b8015620003245782816101000a81549063ffffffff0219169055600401602081600301049283019260010302620002f2565b505b509050620003359190620003e0565b5090565b826008600701600890048101928215620003cd5791602002820160005b838211156200039957835183826101000a81548163ffffffff021916908360ff160217905550926020019260040160208160030104928301926001030262000356565b8015620003cb5782816101000a81549063ffffffff021916905560040160208160030104928301926001030262000399565b505b509050620003dc9190620003e0565b5090565b6200041391905b808211156200040f57600081816101000a81549063ffffffff021916905550600101620003e7565b5090565b90565b6133b080620004266000396000f3006060604052600436106101a1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630422ddf3146101ae57806306fdde03146101db578063095ea7b31461026957806318160ddd146102ab57806323b872dd146102d45780632a6dd48f146103355780632dcbac9714610398578063316524e5146104345780633e8eca231461046b5780634a3a92f61461048e5780634cba4ca4146104c4578063614984d11461052a5780636352211e1461057057806369f467c1146105d357806370a082311461072c578063818d4b5d146107795780638758ba8f146107d35780638dca7a01146107f657806395d89b411461084b57806396c81be5146108d9578063a60b8aa914610967578063a9059cbb1461099d578063b2e6ceeb146109df578063b536456014610a02578063bcf0dd8e14610a25578063c107227914610a86578063c4cbd65b14610adb578063cbde2ff014610b16578063ce5a5df714610b51578063d03e9fff14610b9e578063ddc6a17114610bc1578063e1c7392a14610c1b578063fe55932a14610c30575b34156101ac57600080fd5b005b34156101b957600080fd5b6101c1610cae565b604051808215151515815260200191505060405180910390f35b34156101e657600080fd5b6101ee610d50565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022e578082015181840152602081019050610213565b50505050905090810190601f16801561025b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027457600080fd5b6102a9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d89565b005b34156102b657600080fd5b6102be610f0d565b6040518082815260200191505060405180910390f35b34156102df57600080fd5b610333600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f17565b005b341561034057600080fd5b6103566004808035906020019091905050610f77565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103a357600080fd5b6103b96004808035906020019091905050610fb4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103f95780820151818401526020810190506103de565b50505050905090810190601f1680156104265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561043f57600080fd5b61046960048080359060200190919080359060200190820180359060200191909192905050611072565b005b341561047657600080fd5b61048c60048080359060200190919050506111d2565b005b341561049957600080fd5b6104c2600480803590602001909190803567ffffffffffffffff16906020019091905050611366565b005b34156104cf57600080fd5b610528600480803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506114d6565b005b341561053557600080fd5b6105546004808035906020019091908035906020019091905050611655565b604051808260ff1660ff16815260200191505060405180910390f35b341561057b57600080fd5b6105916004808035906020019091905050611800565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105de57600080fd5b6105f4600480803590602001909190505061183d565b60405180806020018667ffffffffffffffff1667ffffffffffffffff1681526020018567ffffffffffffffff1667ffffffffffffffff1681526020018467ffffffffffffffff1667ffffffffffffffff16815260200180602001838103835288818151815260200191508051906020019080838360005b8381101561068657808201518184015260208101905061066b565b50505050905090810190601f1680156106b35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156106ec5780820151818401526020810190506106d1565b50505050905090810190601f1680156107195780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b341561073757600080fd5b610763600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119df565b6040518082815260200191505060405180910390f35b341561078457600080fd5b6107b9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611a2b565b604051808215151515815260200191505060405180910390f35b34156107de57600080fd5b6107f46004808035906020019091905050611aad565b005b341561080157600080fd5b610809611af3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561085657600080fd5b61085e611b18565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561089e578082015181840152602081019050610883565b50505050905090810190601f1680156108cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108e457600080fd5b610910600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b51565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610953578082015181840152602081019050610938565b505050509050019250505060405180910390f35b341561097257600080fd5b61099b600480803590602001909190803567ffffffffffffffff16906020019091905050611bee565b005b34156109a857600080fd5b6109dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d5e565b005b34156109ea57600080fd5b610a006004808035906020019091905050611d84565b005b3415610a0d57600080fd5b610a236004808035906020019091905050611daf565b005b3415610a3057600080fd5b610a84600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611dec565b005b3415610a9157600080fd5b610a99611ed0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610ae657600080fd5b610afc6004808035906020019091905050611ef6565b604051808215151515815260200191505060405180910390f35b3415610b2157600080fd5b610b376004808035906020019091905050611f80565b604051808215151515815260200191505060405180910390f35b3415610b5c57600080fd5b610b88600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061200a565b6040518082815260200191505060405180910390f35b3415610ba957600080fd5b610bbf60048080359060200190919050506122eb565b005b3415610bcc57600080fd5b610c01600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061247f565b604051808215151515815260200191505060405180910390f35b3415610c2657600080fd5b610c2e6124c0565b005b3415610c3b57600080fd5b610c94600480803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061269e565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610d3457600080fd5b5af11515610d4157600080fd5b50505060405180519050905090565b6040805190810160405280600981526020017f556e69636f726e474f000000000000000000000000000000000000000000000081525081565b80610d943382611a2b565b1515610d9f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610dda57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610dfb83610f77565b73ffffffffffffffffffffffffffffffffffffffff16141580610e4b5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f0857826008600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35b505050565b6000600454905090565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610f5257600080fd5b610f5c338261247f565b1515610f6757600080fd5b610f728383836127b6565b505050565b60006008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610fbc61305f565b600660008381526020019081526020016000206000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110665780601f1061103b57610100808354040283529160200191611066565b820191906000526020600020905b81548152906001019060200180831161104957829003601f168201915b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635550e4f36040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156110f657600080fd5b5af1151561110357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114657600080fd5b60006006600085815260200190815260200160002060000180546001816001161561010002031660029004905014156111cd57818160066000868152602001908152602001600020600001919061119e929190613073565b50827fa3f7f3e0b681e4fc9c86b91ffcc62caeb512735803bd4949c69aa08aab9af9ad60405160405180910390a25b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561125657600080fd5b5af1151561126357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112a657600080fd5b426112ba6112b58360a3611655565b6128d2565b016006600083815260200190815260200160002060010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550807fdd9be30312ed220ed4ad7da78e6ee32d6652506b26c7de8d06e849fa224d1c5d6006600084815260200190815260200160002060010160089054906101000a900467ffffffffffffffff16604051808267ffffffffffffffff16815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156113ea57600080fd5b5af115156113f757600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143a57600080fd5b426006600084815260200190815260200160002060010160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1611151561147c57600080fd5b806006600084815260200190815260200160002060010160088282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631d296e8d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561155a57600080fd5b5af1151561156757600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115aa57600080fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615156115d657600080fd5b600b600083815260200190815260200160002060006101000a81549060ff0219169055806006600084815260200190815260200160002060000190805190602001906116239291906130f3565b50817f5bf9bb6f1e1bcdcd3365d65dd853dc3a3d9dfff3fc239f67430868ce7fed613d60405160405180910390a25050565b6000806001839060020a029050600181016006600086815260200190815260200160002060000180546001816001161561010002031660029004905010156116a057600091506117f9565b611747600660008681526020019081526020016000206000016001830181546001816001161561010002031660029004811015156116da57fe5b8154600116156116f95790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000027f010000000000000000000000000000000000000000000000000000000000000090046129bf565b60046117ed6006600088815260200190815260200160002060000184815460018160011615610100020316600290048110151561178057fe5b81546001161561179f5790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000027f010000000000000000000000000000000000000000000000000000000000000090046129bf565b60ff169060020a021791505b5092915050565b60006007600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6006602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118e95780601f106118be576101008083540402835291602001916118e9565b820191906000526020600020905b8154815290600101906020018083116118cc57829003601f168201915b5050505050908060010160009054906101000a900467ffffffffffffffff16908060010160089054906101000a900467ffffffffffffffff16908060010160109054906101000a900467ffffffffffffffff1690806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119d55780601f106119aa576101008083540402835291602001916119d5565b820191906000526020600020905b8154815290600101906020018083116119b857829003601f168201915b5050505050905085565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008273ffffffffffffffffffffffffffffffffffffffff16611a4d83611800565b73ffffffffffffffffffffffffffffffffffffffff16148015611aa55750600073ffffffffffffffffffffffffffffffffffffffff16611a8c83611800565b73ffffffffffffffffffffffffffffffffffffffff1614155b905092915050565b80611ab83382611a2b565b1515611ac357600080fd5b6001600b600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f554e47000000000000000000000000000000000000000000000000000000000081525081565b611b59613173565b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611be257602002820191906000526020600020905b815481526020019060010190808311611bce575b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611c7257600080fd5b5af11515611c7f57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cc257600080fd5b426006600084815260200190815260200160002060010160109054906101000a900467ffffffffffffffff1667ffffffffffffffff16111515611d0457600080fd5b806006600084815260200190815260200160002060010160108282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b80611d693382611a2b565b1515611d7457600080fd5b611d7f3384846127b6565b505050565b611d8e338261247f565b1515611d9957600080fd5b611dac611da582611800565b33836127b6565b50565b80611dba3382611a2b565b1515611dc557600080fd5b600b600083815260200190815260200160002060006101000a81549060ff02191690555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611e7057600080fd5b5af11515611e7d57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ec057600080fd5b611ecb8383836127b6565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806006600084815260200190815260200160002060010160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16118015611f7957504267ffffffffffffffff166006600084815260200190815260200160002060010160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1611155b9050919050565b6000806006600084815260200190815260200160002060010160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1611801561200357504267ffffffffffffffff166006600084815260200190815260200160002060010160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1611155b9050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561209157600080fd5b5af1151561209e57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120e157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561211d57600080fd5b6005600081548092919060010191905055905061213a83826129f2565b60a06040519081016040528060006040518059106121555750595b9080825280601f01601f191660200182016040525081526020014267ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff16815260200160206040519081016040528060008152508152506006600083815260200190815260200160002060008201518160000190805190602001906121e4929190613187565b5060208201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160010160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550608082015181600201908051906020019061228e929190613207565b509050508273ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a380915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561236f57600080fd5b5af1151561237c57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123bf57600080fd5b426123d36123ce8360a8611655565b6128d2565b016006600083815260200190815260200160002060010160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550807fc641324edb83f23049077dbec1d1a35ff314f92542ec5727609244b6dedc3fbb6006600084815260200190815260200160002060010160109054906101000a900467ffffffffffffffff16604051808267ffffffffffffffff16815260200191505060405180910390a250565b60008273ffffffffffffffffffffffffffffffffffffffff166124a183610f77565b73ffffffffffffffffffffffffffffffffffffffff1614905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561251b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561259f57600080fd5b5af115156125ac57600080fd5b5050506040518051905015156125c157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561264557600080fd5b5af1151561265257600080fd5b50505060405180519050600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006126a861305f565b836126b33382611a2b565b15156126be57600080fd5b600660008681526020019081526020016000206002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127685780601f1061273d57610100808354040283529160200191612768565b820191906000526020600020905b81548152906001019060200180831161274b57829003601f168201915b505050505091506000825114151561277f57600080fd5b836006600087815260200190815260200160002060020190805190602001906127a9929190613287565b5060019250505092915050565b6127c08382611a2b565b15156127cb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561280757600080fd5b61281081611800565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561284a57600080fd5b6128548382612b97565b61285e8382612c53565b61286882826129f2565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000600160149054906101000a900460ff1660ff168260ff168115156128f457fe5b06915060028260ff1660088110151561290957fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff169050600060038360ff1660088110151561294157fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff161415156129ba57610e1060038360ff1660088110151561297f57fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff166001430340600190048115156129b357fe5b0602810190505b919050565b6000603a8260ff16106129e65760618260ff16106129de5760576129e1565b60375b6129e9565b60305b82039050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166007600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612a6157600080fd5b826007600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281612b499190613307565b91600052602060002090016000849091909150555080600a600084815260200190815260200160002081905550612b8c600160045461302890919063ffffffff16565b600481905550505050565b612ba18282611a2b565b1515612bac57600080fd5b60006008600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b6000806000612c628585611a2b565b1515612c6d57600080fd5b600a6000858152602001908152602001600020549250612cd96001600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061304690919063ffffffff16565b9150600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515612d2757fe5b906000526020600020900154905060006007600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515612dd557fe5b9060005260206000209001819055506000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515612e3257fe5b906000526020600020900181905550600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003612e939190613333565b506000600a60008681526020019081526020016000208190555082600a600083815260200190815260200160002081905550612edb600160045461304690919063ffffffff16565b600481905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374268ff2856040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1515612f7157600080fd5b5af11515612f7e57600080fd5b505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7024b98856040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561301157600080fd5b5af1151561301e57600080fd5b5050505050505050565b600080828401905083811015151561303c57fe5b8091505092915050565b600082821115151561305457fe5b818303905092915050565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106130b457803560ff19168380011785556130e2565b828001600101855582156130e2579182015b828111156130e15782358255916020019190600101906130c6565b5b5090506130ef919061335f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061313457805160ff1916838001178555613162565b82800160010185558215613162579182015b82811115613161578251825591602001919060010190613146565b5b50905061316f919061335f565b5090565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106131c857805160ff19168380011785556131f6565b828001600101855582156131f6579182015b828111156131f55782518255916020019190600101906131da565b5b509050613203919061335f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061324857805160ff1916838001178555613276565b82800160010185558215613276579182015b8281111561327557825182559160200191906001019061325a565b5b509050613283919061335f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106132c857805160ff19168380011785556132f6565b828001600101855582156132f6579182015b828111156132f55782518255916020019190600101906132da565b5b509050613303919061335f565b5090565b81548183558181151161332e5781836000526020600020918201910161332d919061335f565b5b505050565b81548183558181151161335a57818360005260206000209182019101613359919061335f565b5b505050565b61338191905b8082111561337d576000816000905550600101613365565b5090565b905600a165627a7a7230582095cde313cfac7151c96a4d4d3bbdd3b35404888e39765c06d5c33e84a20ee7ca002900000000000000000000000010cc060f6f9b2e5dcdb23f1361e4b368a7daec73

Deployed Bytecode

0x6060604052600436106101a1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630422ddf3146101ae57806306fdde03146101db578063095ea7b31461026957806318160ddd146102ab57806323b872dd146102d45780632a6dd48f146103355780632dcbac9714610398578063316524e5146104345780633e8eca231461046b5780634a3a92f61461048e5780634cba4ca4146104c4578063614984d11461052a5780636352211e1461057057806369f467c1146105d357806370a082311461072c578063818d4b5d146107795780638758ba8f146107d35780638dca7a01146107f657806395d89b411461084b57806396c81be5146108d9578063a60b8aa914610967578063a9059cbb1461099d578063b2e6ceeb146109df578063b536456014610a02578063bcf0dd8e14610a25578063c107227914610a86578063c4cbd65b14610adb578063cbde2ff014610b16578063ce5a5df714610b51578063d03e9fff14610b9e578063ddc6a17114610bc1578063e1c7392a14610c1b578063fe55932a14610c30575b34156101ac57600080fd5b005b34156101b957600080fd5b6101c1610cae565b604051808215151515815260200191505060405180910390f35b34156101e657600080fd5b6101ee610d50565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022e578082015181840152602081019050610213565b50505050905090810190601f16801561025b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027457600080fd5b6102a9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d89565b005b34156102b657600080fd5b6102be610f0d565b6040518082815260200191505060405180910390f35b34156102df57600080fd5b610333600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f17565b005b341561034057600080fd5b6103566004808035906020019091905050610f77565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103a357600080fd5b6103b96004808035906020019091905050610fb4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103f95780820151818401526020810190506103de565b50505050905090810190601f1680156104265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561043f57600080fd5b61046960048080359060200190919080359060200190820180359060200191909192905050611072565b005b341561047657600080fd5b61048c60048080359060200190919050506111d2565b005b341561049957600080fd5b6104c2600480803590602001909190803567ffffffffffffffff16906020019091905050611366565b005b34156104cf57600080fd5b610528600480803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506114d6565b005b341561053557600080fd5b6105546004808035906020019091908035906020019091905050611655565b604051808260ff1660ff16815260200191505060405180910390f35b341561057b57600080fd5b6105916004808035906020019091905050611800565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105de57600080fd5b6105f4600480803590602001909190505061183d565b60405180806020018667ffffffffffffffff1667ffffffffffffffff1681526020018567ffffffffffffffff1667ffffffffffffffff1681526020018467ffffffffffffffff1667ffffffffffffffff16815260200180602001838103835288818151815260200191508051906020019080838360005b8381101561068657808201518184015260208101905061066b565b50505050905090810190601f1680156106b35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156106ec5780820151818401526020810190506106d1565b50505050905090810190601f1680156107195780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b341561073757600080fd5b610763600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119df565b6040518082815260200191505060405180910390f35b341561078457600080fd5b6107b9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611a2b565b604051808215151515815260200191505060405180910390f35b34156107de57600080fd5b6107f46004808035906020019091905050611aad565b005b341561080157600080fd5b610809611af3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561085657600080fd5b61085e611b18565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561089e578082015181840152602081019050610883565b50505050905090810190601f1680156108cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108e457600080fd5b610910600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b51565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610953578082015181840152602081019050610938565b505050509050019250505060405180910390f35b341561097257600080fd5b61099b600480803590602001909190803567ffffffffffffffff16906020019091905050611bee565b005b34156109a857600080fd5b6109dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d5e565b005b34156109ea57600080fd5b610a006004808035906020019091905050611d84565b005b3415610a0d57600080fd5b610a236004808035906020019091905050611daf565b005b3415610a3057600080fd5b610a84600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611dec565b005b3415610a9157600080fd5b610a99611ed0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610ae657600080fd5b610afc6004808035906020019091905050611ef6565b604051808215151515815260200191505060405180910390f35b3415610b2157600080fd5b610b376004808035906020019091905050611f80565b604051808215151515815260200191505060405180910390f35b3415610b5c57600080fd5b610b88600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061200a565b6040518082815260200191505060405180910390f35b3415610ba957600080fd5b610bbf60048080359060200190919050506122eb565b005b3415610bcc57600080fd5b610c01600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061247f565b604051808215151515815260200191505060405180910390f35b3415610c2657600080fd5b610c2e6124c0565b005b3415610c3b57600080fd5b610c94600480803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061269e565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610d3457600080fd5b5af11515610d4157600080fd5b50505060405180519050905090565b6040805190810160405280600981526020017f556e69636f726e474f000000000000000000000000000000000000000000000081525081565b80610d943382611a2b565b1515610d9f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610dda57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610dfb83610f77565b73ffffffffffffffffffffffffffffffffffffffff16141580610e4b5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f0857826008600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35b505050565b6000600454905090565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610f5257600080fd5b610f5c338261247f565b1515610f6757600080fd5b610f728383836127b6565b505050565b60006008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610fbc61305f565b600660008381526020019081526020016000206000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110665780601f1061103b57610100808354040283529160200191611066565b820191906000526020600020905b81548152906001019060200180831161104957829003601f168201915b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635550e4f36040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156110f657600080fd5b5af1151561110357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114657600080fd5b60006006600085815260200190815260200160002060000180546001816001161561010002031660029004905014156111cd57818160066000868152602001908152602001600020600001919061119e929190613073565b50827fa3f7f3e0b681e4fc9c86b91ffcc62caeb512735803bd4949c69aa08aab9af9ad60405160405180910390a25b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561125657600080fd5b5af1151561126357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112a657600080fd5b426112ba6112b58360a3611655565b6128d2565b016006600083815260200190815260200160002060010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550807fdd9be30312ed220ed4ad7da78e6ee32d6652506b26c7de8d06e849fa224d1c5d6006600084815260200190815260200160002060010160089054906101000a900467ffffffffffffffff16604051808267ffffffffffffffff16815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156113ea57600080fd5b5af115156113f757600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143a57600080fd5b426006600084815260200190815260200160002060010160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1611151561147c57600080fd5b806006600084815260200190815260200160002060010160088282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631d296e8d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561155a57600080fd5b5af1151561156757600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115aa57600080fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615156115d657600080fd5b600b600083815260200190815260200160002060006101000a81549060ff0219169055806006600084815260200190815260200160002060000190805190602001906116239291906130f3565b50817f5bf9bb6f1e1bcdcd3365d65dd853dc3a3d9dfff3fc239f67430868ce7fed613d60405160405180910390a25050565b6000806001839060020a029050600181016006600086815260200190815260200160002060000180546001816001161561010002031660029004905010156116a057600091506117f9565b611747600660008681526020019081526020016000206000016001830181546001816001161561010002031660029004811015156116da57fe5b8154600116156116f95790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000027f010000000000000000000000000000000000000000000000000000000000000090046129bf565b60046117ed6006600088815260200190815260200160002060000184815460018160011615610100020316600290048110151561178057fe5b81546001161561179f5790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000027f010000000000000000000000000000000000000000000000000000000000000090046129bf565b60ff169060020a021791505b5092915050565b60006007600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6006602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118e95780601f106118be576101008083540402835291602001916118e9565b820191906000526020600020905b8154815290600101906020018083116118cc57829003601f168201915b5050505050908060010160009054906101000a900467ffffffffffffffff16908060010160089054906101000a900467ffffffffffffffff16908060010160109054906101000a900467ffffffffffffffff1690806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119d55780601f106119aa576101008083540402835291602001916119d5565b820191906000526020600020905b8154815290600101906020018083116119b857829003601f168201915b5050505050905085565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008273ffffffffffffffffffffffffffffffffffffffff16611a4d83611800565b73ffffffffffffffffffffffffffffffffffffffff16148015611aa55750600073ffffffffffffffffffffffffffffffffffffffff16611a8c83611800565b73ffffffffffffffffffffffffffffffffffffffff1614155b905092915050565b80611ab83382611a2b565b1515611ac357600080fd5b6001600b600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f554e47000000000000000000000000000000000000000000000000000000000081525081565b611b59613173565b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611be257602002820191906000526020600020905b815481526020019060010190808311611bce575b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611c7257600080fd5b5af11515611c7f57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cc257600080fd5b426006600084815260200190815260200160002060010160109054906101000a900467ffffffffffffffff1667ffffffffffffffff16111515611d0457600080fd5b806006600084815260200190815260200160002060010160108282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b80611d693382611a2b565b1515611d7457600080fd5b611d7f3384846127b6565b505050565b611d8e338261247f565b1515611d9957600080fd5b611dac611da582611800565b33836127b6565b50565b80611dba3382611a2b565b1515611dc557600080fd5b600b600083815260200190815260200160002060006101000a81549060ff02191690555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611e7057600080fd5b5af11515611e7d57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ec057600080fd5b611ecb8383836127b6565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806006600084815260200190815260200160002060010160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16118015611f7957504267ffffffffffffffff166006600084815260200190815260200160002060010160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1611155b9050919050565b6000806006600084815260200190815260200160002060010160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1611801561200357504267ffffffffffffffff166006600084815260200190815260200160002060010160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1611155b9050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561209157600080fd5b5af1151561209e57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120e157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561211d57600080fd5b6005600081548092919060010191905055905061213a83826129f2565b60a06040519081016040528060006040518059106121555750595b9080825280601f01601f191660200182016040525081526020014267ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff16815260200160206040519081016040528060008152508152506006600083815260200190815260200160002060008201518160000190805190602001906121e4929190613187565b5060208201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160010160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550608082015181600201908051906020019061228e929190613207565b509050508273ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a380915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561236f57600080fd5b5af1151561237c57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123bf57600080fd5b426123d36123ce8360a8611655565b6128d2565b016006600083815260200190815260200160002060010160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550807fc641324edb83f23049077dbec1d1a35ff314f92542ec5727609244b6dedc3fbb6006600084815260200190815260200160002060010160109054906101000a900467ffffffffffffffff16604051808267ffffffffffffffff16815260200191505060405180910390a250565b60008273ffffffffffffffffffffffffffffffffffffffff166124a183610f77565b73ffffffffffffffffffffffffffffffffffffffff1614905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561251b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561259f57600080fd5b5af115156125ac57600080fd5b5050506040518051905015156125c157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307ec4b426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561264557600080fd5b5af1151561265257600080fd5b50505060405180519050600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006126a861305f565b836126b33382611a2b565b15156126be57600080fd5b600660008681526020019081526020016000206002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127685780601f1061273d57610100808354040283529160200191612768565b820191906000526020600020905b81548152906001019060200180831161274b57829003601f168201915b505050505091506000825114151561277f57600080fd5b836006600087815260200190815260200160002060020190805190602001906127a9929190613287565b5060019250505092915050565b6127c08382611a2b565b15156127cb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561280757600080fd5b61281081611800565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561284a57600080fd5b6128548382612b97565b61285e8382612c53565b61286882826129f2565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000600160149054906101000a900460ff1660ff168260ff168115156128f457fe5b06915060028260ff1660088110151561290957fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff169050600060038360ff1660088110151561294157fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff161415156129ba57610e1060038360ff1660088110151561297f57fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff166001430340600190048115156129b357fe5b0602810190505b919050565b6000603a8260ff16106129e65760618260ff16106129de5760576129e1565b60375b6129e9565b60305b82039050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166007600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612a6157600080fd5b826007600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281612b499190613307565b91600052602060002090016000849091909150555080600a600084815260200190815260200160002081905550612b8c600160045461302890919063ffffffff16565b600481905550505050565b612ba18282611a2b565b1515612bac57600080fd5b60006008600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b6000806000612c628585611a2b565b1515612c6d57600080fd5b600a6000858152602001908152602001600020549250612cd96001600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061304690919063ffffffff16565b9150600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515612d2757fe5b906000526020600020900154905060006007600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515612dd557fe5b9060005260206000209001819055506000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515612e3257fe5b906000526020600020900181905550600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003612e939190613333565b506000600a60008681526020019081526020016000208190555082600a600083815260200190815260200160002081905550612edb600160045461304690919063ffffffff16565b600481905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374268ff2856040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1515612f7157600080fd5b5af11515612f7e57600080fd5b505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7024b98856040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561301157600080fd5b5af1151561301e57600080fd5b5050505050505050565b600080828401905083811015151561303c57fe5b8091505092915050565b600082821115151561305457fe5b818303905092915050565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106130b457803560ff19168380011785556130e2565b828001600101855582156130e2579182015b828111156130e15782358255916020019190600101906130c6565b5b5090506130ef919061335f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061313457805160ff1916838001178555613162565b82800160010185558215613162579182015b82811115613161578251825591602001919060010190613146565b5b50905061316f919061335f565b5090565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106131c857805160ff19168380011785556131f6565b828001600101855582156131f6579182015b828111156131f55782518255916020019190600101906131da565b5b509050613203919061335f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061324857805160ff1916838001178555613276565b82800160010185558215613276579182015b8281111561327557825182559160200191906001019061325a565b5b509050613283919061335f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106132c857805160ff19168380011785556132f6565b828001600101855582156132f6579182015b828111156132f55782518255916020019190600101906132da565b5b509050613303919061335f565b5090565b81548183558181151161332e5781836000526020600020918201910161332d919061335f565b5b505050565b81548183558181151161335a57818360005260206000209182019101613359919061335f565b5b505050565b61338191905b8082111561337d576000816000905550600101613365565b5090565b905600a165627a7a7230582095cde313cfac7151c96a4d4d3bbdd3b35404888e39765c06d5c33e84a20ee7ca0029

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

00000000000000000000000010cc060f6f9b2e5dcdb23f1361e4b368a7daec73

-----Decoded View---------------
Arg [0] : _unicornManagementAddress (address): 0x10CC060f6f9B2E5DCDB23F1361E4b368A7DAeC73

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000010cc060f6f9b2e5dcdb23f1361e4b368a7daec73


Swarm Source

bzzr://95cde313cfac7151c96a4d4d3bbdd3b35404888e39765c06d5c33e84a20ee7ca
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.