Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
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)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
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
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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"}]
Contract Creation Code
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.