ERC-20
Overview
Max Total Supply
2,416 DW1ST
Holders
63
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:
CorsariumCore
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-29 */ pragma solidity ^0.4.13; contract SplitPayment { using SafeMath for uint256; uint256 public totalShares = 0; uint256 public totalReleased = 0; mapping(address => uint256) public shares; mapping(address => uint256) public released; address[] public payees; /** * @dev Constructor */ function SplitPayment(address[] _payees, uint256[] _shares) public payable { require(_payees.length == _shares.length); for (uint256 i = 0; i < _payees.length; i++) { addPayee(_payees[i], _shares[i]); } } /** * @dev payable fallback */ function () public payable {} /** * @dev Claim your share of the balance. */ function claim() public { address payee = msg.sender; require(shares[payee] > 0); uint256 totalReceived = this.balance.add(totalReleased); uint256 payment = totalReceived.mul(shares[payee]).div(totalShares).sub(released[payee]); require(payment != 0); require(this.balance >= payment); released[payee] = released[payee].add(payment); totalReleased = totalReleased.add(payment); payee.transfer(payment); } /** * @dev Add a new payee to the contract. * @param _payee The address of the payee to add. * @param _shares The number of shares owned by the payee. */ function addPayee(address _payee, uint256 _shares) internal { require(_payee != address(0)); require(_shares > 0); require(shares[_payee] == 0); payees.push(_payee); shares[_payee] = _shares; totalShares = totalShares.add(_shares); } } interface ERC721Metadata /* is ERC721 */ { /// @notice A descriptive name for a collection of NFTs in this contract function name() external pure returns (string _name); /// @notice An abbreviated name for NFTs in this contract function symbol() external pure returns (string _symbol); /// @notice A distinct Uniform Resource Identifier (URI) for a given asset. /// @dev Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC /// 3986. The URI may point to a JSON file that conforms to the "ERC721 /// Metadata JSON Schema". function tokenURI(uint256 _tokenId) external view returns (string); } library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ 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; } /** * @dev Integer division of two numbers, truncating the quotient. */ 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; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } interface ERC721 /* is ERC165 */ { /// @dev This emits when ownership of any NFT changes by any mechanism. /// This event emits when NFTs are created (`from` == 0) and destroyed /// (`to` == 0). Exception: during contract creation, any number of NFTs /// may be created and assigned without emitting Transfer. At the time of /// any transfer, the approved address for that NFT (if any) is reset to none. event Transfer(address indexed _from, address indexed _to, uint256 _tokenId); /// @dev This emits when the approved address for an NFT is changed or /// reaffirmed. The zero address indicates there is no approved address. /// When a Transfer event emits, this also indicates that the approved /// address for that NFT (if any) is reset to none. event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId); /// @dev This emits when an operator is enabled or disabled for an owner. /// The operator can manage all NFTs of the owner. event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved); /// @notice Count all NFTs assigned to an owner /// @dev NFTs assigned to the zero address are considered invalid, and this /// function throws for queries about the zero address. /// @param _owner An address for whom to query the balance /// @return The number of NFTs owned by `_owner`, possibly zero function balanceOf(address _owner) external view returns (uint256); /// @notice Find the owner of an NFT /// @param _tokenId The identifier for an NFT /// @dev NFTs assigned to zero address are considered invalid, and queries /// about them do throw. /// @return The address of the owner of the NFT function ownerOf(uint256 _tokenId) external view returns (address); /// @notice Transfers the ownership of an NFT from one address to another address /// @dev Throws unless `msg.sender` is the current owner, an authorized /// operator, or the approved address for this NFT. Throws if `_from` is /// not the current owner. Throws if `_to` is the zero address. Throws if /// `_tokenId` is not a valid NFT. When transfer is complete, this function /// checks if `_to` is a smart contract (code size > 0). If so, it calls /// `onERC721Received` on `_to` and throws if the return value is not /// `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))`. /// @param _from The current owner of the NFT /// @param _to The new owner /// @param _tokenId The NFT to transfer /// @param data Additional data with no specified format, sent in call to `_to` function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable; /// @notice Transfers the ownership of an NFT from one address to another address /// @dev This works identically to the other function with an extra data parameter, /// except this function just sets data to "" /// @param _from The current owner of the NFT /// @param _to The new owner /// @param _tokenId The NFT to transfer function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable; /// @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE /// TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE /// THEY MAY BE PERMANENTLY LOST /// @dev Throws unless `msg.sender` is the current owner, an authorized /// operator, or the approved address for this NFT. Throws if `_from` is /// not the current owner. Throws if `_to` is the zero address. Throws if /// `_tokenId` is not a valid NFT. /// @param _from The current owner of the NFT /// @param _to The new owner /// @param _tokenId The NFT to transfer function transferFrom(address _from, address _to, uint256 _tokenId) external payable; /// @notice Set or reaffirm the approved address for an NFT /// @dev The zero address indicates there is no approved address. /// @dev Throws unless `msg.sender` is the current NFT owner, or an authorized /// operator of the current owner. /// @param _approved The new approved NFT controller /// @param _tokenId The NFT to approve function approve(address _approved, uint256 _tokenId) external payable; /// @notice Enable or disable approval for a third party ("operator") to manage /// all your assets. /// @dev Throws unless `msg.sender` is the current NFT owner. /// @dev Emits the ApprovalForAll event /// @param _operator Address to add to the set of authorized operators. /// @param _approved True if the operators is approved, false to revoke approval function setApprovalForAll(address _operator, bool _approved) external; /// @notice Get the approved address for a single NFT /// @dev Throws if `_tokenId` is not a valid NFT /// @param _tokenId The NFT to find the approved address for /// @return The approved address for this NFT, or the zero address if there is none function getApproved(uint256 _tokenId) external view returns (address); /// @notice Query if an address is an authorized operator for another address /// @param _owner The address that owns the NFTs /// @param _operator The address that acts on behalf of the owner /// @return True if `_operator` is an approved operator for `_owner`, false otherwise function isApprovedForAll(address _owner, address _operator) external view returns (bool); } contract CorsariumAccessControl is SplitPayment { //contract CorsariumAccessControl { event ContractUpgrade(address newContract); // The addresses of the accounts (or contracts) that can execute actions within each roles. address public megoAddress = 0x4ab6C984E72CbaB4162429721839d72B188010E3; address public publisherAddress = 0x00C0bCa70EAaADF21A158141EC7eA699a17D63ed; // cat, rene, pablo, cristean, chulini, pablo, david, mego address[] public teamAddresses = [0x4978FaF663A3F1A6c74ACCCCBd63294Efec64624, 0x772009E69B051879E1a5255D9af00723df9A6E04, 0xA464b05832a72a1a47Ace2Be18635E3a4c9a240A, 0xd450fCBfbB75CDAeB65693849A6EFF0c2976026F, 0xd129BBF705dC91F50C5d9B44749507f458a733C8, 0xfDC2ad68fd1EF5341a442d0E2fC8b974E273AC16, 0x4ab6C984E72CbaB4162429721839d72B188010E3]; // todo: add addresses of creators // @dev Keeps track whether the contract is paused. When that is true, most actions are blocked bool public paused = false; modifier onlyTeam() { require(msg.sender == teamAddresses[0] || msg.sender == teamAddresses[1] || msg.sender == teamAddresses[2] || msg.sender == teamAddresses[3] || msg.sender == teamAddresses[4] || msg.sender == teamAddresses[5] || msg.sender == teamAddresses[6] || msg.sender == teamAddresses[7]); _; // do the rest } modifier onlyPublisher() { require(msg.sender == publisherAddress); _; } modifier onlyMEGO() { require(msg.sender == megoAddress); _; } /*** Pausable functionality adapted from OpenZeppelin ***/ /// @dev Modifier to allow actions only when the contract IS NOT paused modifier whenNotPaused() { require(!paused); _; } /// @dev Modifier to allow actions only when the contract IS paused modifier whenPaused { require(paused); _; } function CorsariumAccessControl() public { megoAddress = msg.sender; } /// @dev Called by any team member to pause the contract. Used only when /// a bug or exploit is detected and we need to limit damage. function pause() external onlyTeam whenNotPaused { paused = true; } /// @dev Unpauses the smart contract. Can only be called by MEGO, since /// one reason we may pause the contract is when team accounts are /// compromised. /// @notice This is public rather than external so it can be called by /// derived contracts. function unpause() public onlyMEGO whenPaused { // can't unpause if contract was upgraded paused = false; } } contract CardBase is CorsariumAccessControl, ERC721, ERC721Metadata { /*** EVENTS ***/ /// @dev The Print event is fired whenever a new card comes into existence. event Print(address owner, uint256 cardId); uint256 lastPrintedCard = 0; mapping (uint256 => address) public tokenIdToOwner; // 721 tokenIdToOwner mapping (address => uint256) public ownerTokenCount; // 721 ownerTokenCount mapping (uint256 => address) public tokenIdToApproved; // 721 tokenIdToApprovedAddress mapping (uint256 => uint256) public tokenToCardIndex; // 721 tokenIdToMetadata //mapping (uint256 => uint256) public tokenCountIndex; //mapping (address => uint256[]) internal ownerToTokensOwned; //mapping (uint256 => uint256) internal tokenIdToOwnerArrayIndex; /// @dev Assigns ownership of a specific card to an address. /*function _transfer(address _from, address _to, uint256 _tokenId) internal { ownershipTokenCount[_to]++; // transfer ownership cardIndexToOwner[_tokenId] = _to; // Emit the transfer event. Transfer(_from, _to, _tokenId); }*/ function _createCard(uint256 _prototypeId, address _owner) internal returns (uint) { // This will assign ownership, and also emit the Transfer event as // per ERC721 draft require(uint256(1000000) > lastPrintedCard); lastPrintedCard++; tokenToCardIndex[lastPrintedCard] = _prototypeId; _setTokenOwner(lastPrintedCard, _owner); //_addTokenToOwnersList(_owner, lastPrintedCard); Transfer(0, _owner, lastPrintedCard); //tokenCountIndex[_prototypeId]++; //_transfer(0, _owner, lastPrintedCard); //<-- asd return lastPrintedCard; } function _clearApprovalAndTransfer(address _from, address _to, uint _tokenId) internal { _clearTokenApproval(_tokenId); //_removeTokenFromOwnersList(_from, _tokenId); ownerTokenCount[_from]--; _setTokenOwner(_tokenId, _to); //_addTokenToOwnersList(_to, _tokenId); } function _ownerOf(uint _tokenId) internal view returns (address _owner) { return tokenIdToOwner[_tokenId]; } function _approve(address _to, uint _tokenId) internal { tokenIdToApproved[_tokenId] = _to; } function _getApproved(uint _tokenId) internal view returns (address _approved) { return tokenIdToApproved[_tokenId]; } function _clearTokenApproval(uint _tokenId) internal { tokenIdToApproved[_tokenId] = address(0); } function _setTokenOwner(uint _tokenId, address _owner) internal { tokenIdToOwner[_tokenId] = _owner; ownerTokenCount[_owner]++; } } contract CardOwnership is CardBase { /// @notice Count all NFTs assigned to an owner /// @dev NFTs assigned to the zero address are considered invalid, and this /// function throws for queries about the zero address. /// @param _owner An address for whom to query the balance /// @return The number of NFTs owned by `_owner`, possibly zero function balanceOf(address _owner) external view returns (uint256) { require(_owner != address(0)); return ownerTokenCount[_owner]; } /// @notice Find the owner of an NFT /// @param _tokenId The identifier for an NFT /// @dev NFTs assigned to zero address are considered invalid, and queries /// about them do throw. /// @return The address of the owner of the NFT function ownerOf(uint256 _tokenId) external view returns (address _owner) { _owner = tokenIdToOwner[_tokenId]; require(_owner != address(0)); } /// @notice Transfers the ownership of an NFT from one address to another address /// @dev Throws unless `msg.sender` is the current owner, an authorized /// operator, or the approved address for this NFT. Throws if `_from` is /// not the current owner. Throws if `_to` is the zero address. Throws if /// `_tokenId` is not a valid NFT. When transfer is complete, this function /// checks if `_to` is a smart contract (code size > 0). If so, it calls /// `onERC721Received` on `_to` and throws if the return value is not /// `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))`. /// @param _from The current owner of the NFT /// @param _to The new owner /// @param _tokenId The NFT to transfer /// @param data Additional data with no specified format, sent in call to `_to` function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable { require(_getApproved(_tokenId) == msg.sender); require(_ownerOf(_tokenId) == _from); require(_to != address(0)); _clearApprovalAndTransfer(_from, _to, _tokenId); Approval(_from, 0, _tokenId); Transfer(_from, _to, _tokenId); if (isContract(_to)) { bytes4 value = ERC721TokenReceiver(_to).onERC721Received(_from, _tokenId, data); if (value != bytes4(keccak256("onERC721Received(address,uint256,bytes)"))) { revert(); } } } /// @notice Transfers the ownership of an NFT from one address to another address /// @dev This works identically to the other function with an extra data parameter, /// except this function just sets data to "" /// @param _from The current owner of the NFT /// @param _to The new owner /// @param _tokenId The NFT to transfer function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable { require(_getApproved(_tokenId) == msg.sender); require(_ownerOf(_tokenId) == _from); require(_to != address(0)); _clearApprovalAndTransfer(_from, _to, _tokenId); Approval(_from, 0, _tokenId); Transfer(_from, _to, _tokenId); if (isContract(_to)) { bytes4 value = ERC721TokenReceiver(_to).onERC721Received(_from, _tokenId, ""); if (value != bytes4(keccak256("onERC721Received(address,uint256,bytes)"))) { revert(); } } } /// @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE /// TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE /// THEY MAY BE PERMANENTLY LOST /// @dev Throws unless `msg.sender` is the current owner, an authorized /// operator, or the approved address for this NFT. Throws if `_from` is /// not the current owner. Throws if `_to` is the zero address. Throws if /// `_tokenId` is not a valid NFT. /// @param _from The current owner of the NFT /// @param _to The new owner /// @param _tokenId The NFT to transfer function transferFrom(address _from, address _to, uint256 _tokenId) external payable { require(_getApproved(_tokenId) == msg.sender); require(_ownerOf(_tokenId) == _from); require(_to != address(0)); _clearApprovalAndTransfer(_from, _to, _tokenId); Approval(_from, 0, _tokenId); Transfer(_from, _to, _tokenId); } /// @notice Set or reaffirm the approved address for an NFT /// @dev The zero address indicates there is no approved address. /// @dev Throws unless `msg.sender` is the current NFT owner, or an authorized /// operator of the current owner. /// @param _approved The new approved NFT controller /// @param _tokenId The NFT to approve function approve(address _approved, uint256 _tokenId) external payable { require(msg.sender == _ownerOf(_tokenId)); require(msg.sender != _approved); if (_getApproved(_tokenId) != address(0) || _approved != address(0)) { _approve(_approved, _tokenId); Approval(msg.sender, _approved, _tokenId); } } /// @notice Enable or disable approval for a third party ("operator") to manage /// all your assets. /// @dev Throws unless `msg.sender` is the current NFT owner. /// @dev Emits the ApprovalForAll event /// @param _operator Address to add to the set of authorized operators. /// @param _approved True if the operators is approved, false to revoke approval function setApprovalForAll(address _operator, bool _approved) external { revert(); } /// @notice Get the approved address for a single NFT /// @dev Throws if `_tokenId` is not a valid NFT /// @param _tokenId The NFT to find the approved address for /// @return The approved address for this NFT, or the zero address if there is none function getApproved(uint256 _tokenId) external view returns (address) { return _getApproved(_tokenId); } /// @notice Query if an address is an authorized operator for another address /// @param _owner The address that owns the NFTs /// @param _operator The address that acts on behalf of the owner /// @return True if `_operator` is an approved operator for `_owner`, false otherwise function isApprovedForAll(address _owner, address _operator) external view returns (bool) { return _owner == _operator; } /// @notice A descriptive name for a collection of NFTs in this contract function name() external pure returns (string _name) { return "Dark Winds First Edition Cards"; } /// @notice An abbreviated name for NFTs in this contract function symbol() external pure returns (string _symbol) { return "DW1ST"; } /// @notice A distinct Uniform Resource Identifier (URI) for a given asset. /// @dev Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC /// 3986. The URI may point to a JSON file that conforms to the "ERC721 /// Metadata JSON Schema". function tokenURI(uint256 _tokenId) external view returns (string _tokenURI) { _tokenURI = "https://corsarium.playdarkwinds.com/cards/00000.json"; //37 36 35 34 33 bytes memory tokenUriBytes = bytes(_tokenURI); tokenUriBytes[33] = byte(48 + (tokenToCardIndex[_tokenId] / 10000) % 10); tokenUriBytes[34] = byte(48 + (tokenToCardIndex[_tokenId] / 1000) % 10); tokenUriBytes[35] = byte(48 + (tokenToCardIndex[_tokenId] / 100) % 10); tokenUriBytes[36] = byte(48 + (tokenToCardIndex[_tokenId] / 10) % 10); tokenUriBytes[37] = byte(48 + (tokenToCardIndex[_tokenId] / 1) % 10); } function totalSupply() public view returns (uint256 _total) { _total = lastPrintedCard; } function isContract(address _addr) internal view returns (bool) { uint256 size; assembly { size := extcodesize(_addr) } return size > 0; } } contract CorsariumCore is CardOwnership { uint256 nonce = 1; uint256 public cardCost = 1 finney; function CorsariumCore(address[] _payees, uint256[] _shares) SplitPayment(_payees, _shares) public { } // payable fallback function () public payable {} function changeCardCost(uint256 _newCost) onlyTeam public { cardCost = _newCost; } function getCard(uint _token_id) public view returns (uint256) { assert(_token_id <= lastPrintedCard); return tokenToCardIndex[_token_id]; } function buyBoosterPack() public payable { uint amount = msg.value/cardCost; uint blockNumber = block.timestamp; for (uint i = 0; i < amount; i++) { _createCard(i%5 == 1 ? (uint256(keccak256(i+nonce+blockNumber)) % 50) : (uint256(keccak256(i+nonce+blockNumber)) % 50) + (nonce%50), msg.sender); } nonce += amount; } function cardsOfOwner(address _owner) external view returns (uint256[] ownerCards) { uint256 tokenCount = ownerTokenCount[_owner]; if (tokenCount == 0) { // Return an empty array return new uint256[](0); } else { uint256[] memory result = new uint256[](tokenCount); uint256 resultIndex = 0; // We count on the fact that all cards have IDs starting at 1 and increasing // sequentially up to the totalCards count. uint256 cardId; for (cardId = 1; cardId <= lastPrintedCard; cardId++) { if (tokenIdToOwner[cardId] == _owner) { result[resultIndex] = cardId; resultIndex++; } } return result; } } function tokensOfOwner(address _owner) external view returns (uint256[] ownerCards) { uint256 tokenCount = ownerTokenCount[_owner]; if (tokenCount == 0) { // Return an empty array return new uint256[](0); } else { uint256[] memory result = new uint256[](tokenCount); uint256 resultIndex = 0; // We count on the fact that all cards have IDs starting at 1 and increasing // sequentially up to the totalCards count. uint256 cardId; for (cardId = 1; cardId <= lastPrintedCard; cardId++) { if (tokenIdToOwner[cardId] == _owner) { result[resultIndex] = cardId; resultIndex++; } } return result; } } function cardSupply() external view returns (uint256[] printedCards) { if (totalSupply() == 0) { // Return an empty array return new uint256[](0); } else { uint256[] memory result = new uint256[](100); //uint256 totalCards = 1000000; //uint256 resultIndex = 0; // We count on the fact that all cards have IDs starting at 1 and increasing // sequentially up to 1000000 uint256 cardId; for (cardId = 1; cardId < 1000000; cardId++) { result[tokenToCardIndex[cardId]]++; //resultIndex++; } return result; } } } interface ERC721TokenReceiver { /// @notice Handle the receipt of an NFT /// @dev The ERC721 smart contract calls this function on the recipient /// after a `transfer`. This function MAY throw to revert and reject the /// transfer. This function MUST use 50,000 gas or less. Return of other /// than the magic value MUST result in the transaction being reverted. /// Note: the contract address is always the message sender. /// @param _from The sending address /// @param _tokenId The NFT identifier which is being transfered /// @param data Additional data with no specified format /// @return `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))` /// unless throwing function onERC721Received(address _from, uint256 _tokenId, bytes data) external returns(bytes4); } interface ERC165 { /// @notice Query if a contract implements an interface /// @param interfaceID The interface identifier, as specified in ERC-165 /// @dev Interface identification is specified in ERC-165. This function /// uses less than 30,000 gas. /// @return `true` if the contract implements `interfaceID` and /// `interfaceID` is not 0xffffffff, `false` otherwise function supportsInterface(bytes4 interfaceID) external view returns (bool); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_approved","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newCost","type":"uint256"}],"name":"changeCardCost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"teamAddresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"publisherAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalShares","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"cardsOfOwner","outputs":[{"name":"ownerCards","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"payees","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToOwner","outputs":[{"name":"","type":"address"}],"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":"cardSupply","outputs":[{"name":"printedCards","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"name":"ownerCards","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_token_id","type":"uint256"}],"name":"getCard","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"released","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"},{"name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"buyBoosterPack","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownerTokenCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"name":"_tokenURI","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"shares","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"megoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cardCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenToCardIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_payees","type":"address[]"},{"name":"_shares","type":"uint256[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"cardId","type":"uint256"}],"name":"Print","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_approved","type":"address"},{"indexed":false,"name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_operator","type":"address"},{"indexed":false,"name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newContract","type":"address"}],"name":"ContractUpgrade","type":"event"}]
Contract Creation Code
6060604052600080556000600155734ab6c984e72cbab4162429721839d72b188010e3600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555072c0bca70eaaadf21a158141ec7ea699a17d63ed600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e060405190810160405280734978faf663a3f1a6c74accccbd63294efec6462473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173772009e69b051879e1a5255d9af00723df9a6e0473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173a464b05832a72a1a47ace2be18635e3a4c9a240a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173d450fcbfbb75cdaeb65693849a6eff0c2976026f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173d129bbf705dc91f50c5d9b44749507f458a733c873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173fdc2ad68fd1ef5341a442d0e2fc8b974e273ac1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001734ab6c984e72cbab4162429721839d72b188010e373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506007906007620002bc92919062000581565b506000600860006101000a81548160ff02191690831515021790555060006009556001600e5566038d7ea4c68000600f553415620002f957600080fd5b60405162003800380380620038008339810160405280805182019190602001805182019190505081816000815183511415156200033557600080fd5b600090505b8251811015620003a2576200039483828151811015156200035757fe5b9060200190602002015183838151811015156200037057fe5b90602001906020020151620003ee6401000000000262002f67176401000000009004565b80806001019150506200033a565b50505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620006ad565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156200042b57600080fd5b6000811115156200043b57600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415156200048a57600080fd5b60048054806001018281620004a0919062000610565b9160005260206000209001600084909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200055881600054620005626401000000000262002cf9179091906401000000009004565b6000819055505050565b60008082840190508381101515156200057757fe5b8091505092915050565b828054828255906000526020600020908101928215620005fd579160200282015b82811115620005fc5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190620005a2565b5b5090506200060c91906200063f565b5090565b8154818355818115116200063a5781836000526020600020918201910162000639919062000685565b5b505050565b6200068291905b808211156200067e57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010162000646565b5090565b90565b620006aa91905b80821115620006a65760008160009055506001016200068c565b5090565b90565b61314380620006bd6000396000f3006060604052600436106101c2576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101c4578063081812fc14610252578063095ea7b3146102b557806318160ddd146102ec57806320e07e7f1461031557806323b872dd146103385780632419217e1461038e57806336516a8a146103f15780633a98ef39146104465780633d8807f81461046f5780633f4ba83a146104fd57806342842e0e146105125780634e71d92d146105685780635c975abb1461057d57806363037b0c146105aa5780636352211e1461060d5780636e9e48ef1461067057806370a08231146106d35780637c97479b146107205780638456cb591461078a5780638462151c1461079f5780639188d3121461082d57806395d89b41146108645780639852595c146108f2578063a22cb4651461093f578063a3006abf14610983578063b88d4fde1461098d578063c2fb09a8146109f7578063c87b56dd14610a44578063ce7c2ac214610ae0578063e1479d0714610b2d578063e33b7de314610b82578063e58172b114610bab578063e985e9c514610bd4578063eb5653d714610c44578063fd2546ac14610ca7575b005b34156101cf57600080fd5b6101d7610cde565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102175780820151818401526020810190506101fc565b50505050905090810190601f1680156102445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025d57600080fd5b6102736004808035906020019091905050610d21565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d33565b005b34156102f757600080fd5b6102ff610e9a565b6040518082815260200191505060405180910390f35b341561032057600080fd5b6103366004808035906020019091905050610ea4565b005b61038c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611239565b005b341561039957600080fd5b6103af60048080359060200190919050506113be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fc57600080fd5b6104046113fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045157600080fd5b610459611423565b6040518082815260200191505060405180910390f35b341561047a57600080fd5b6104a6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611429565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104e95780820151818401526020810190506104ce565b505050509050019250505060405180910390f35b341561050857600080fd5b61051061158c565b005b610566600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611620565b005b341561057357600080fd5b61057b61192d565b005b341561058857600080fd5b610590611b95565b604051808215151515815260200191505060405180910390f35b34156105b557600080fd5b6105cb6004808035906020019091905050611ba8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561061857600080fd5b61062e6004808035906020019091905050611be7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067b57600080fd5b6106916004808035906020019091905050611c60565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106de57600080fd5b61070a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c93565b6040518082815260200191505060405180910390f35b341561072b57600080fd5b610733611d17565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561077657808201518184015260208101905061075b565b505050509050019250505060405180910390f35b341561079557600080fd5b61079d611ddd565b005b34156107aa57600080fd5b6107d6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506121a1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156108195780820151818401526020810190506107fe565b505050509050019250505060405180910390f35b341561083857600080fd5b61084e6004808035906020019091905050612304565b6040518082815260200191505060405180910390f35b341561086f57600080fd5b61087761232f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108b757808201518184015260208101905061089c565b50505050905090810190601f1680156108e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108fd57600080fd5b610929600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612372565b6040518082815260200191505060405180910390f35b341561094a57600080fd5b610981600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035151590602001909190505061238a565b005b61098b61238f565b005b6109f5600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080359060200190820180359060200191909192905050612462565b005b3415610a0257600080fd5b610a2e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061277f565b6040518082815260200191505060405180910390f35b3415610a4f57600080fd5b610a656004808035906020019091905050612797565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aa5578082015181840152602081019050610a8a565b50505050905090810190601f168015610ad25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610aeb57600080fd5b610b17600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612ae0565b6040518082815260200191505060405180910390f35b3415610b3857600080fd5b610b40612af8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b8d57600080fd5b610b95612b1e565b6040518082815260200191505060405180910390f35b3415610bb657600080fd5b610bbe612b24565b6040518082815260200191505060405180910390f35b3415610bdf57600080fd5b610c2a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612b2a565b604051808215151515815260200191505060405180910390f35b3415610c4f57600080fd5b610c656004808035906020019091905050612b63565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610cb257600080fd5b610cc86004808035906020019091905050612b96565b6040518082815260200191505060405180910390f35b610ce6612f2b565b6040805190810160405280601e81526020017f4461726b2057696e64732046697273742045646974696f6e2043617264730000815250905090565b6000610d2c82612bae565b9050919050565b610d3c81612beb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d7557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610db057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610dd182612bae565b73ffffffffffffffffffffffffffffffffffffffff16141580610e215750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610e9657610e308282612c28565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5050565b6000600954905090565b60076000815481101515610eb457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f7f575060076001815481101515610f2457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610ff0575060076002815481101515610f9557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061106157506007600381548110151561100657fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806110d257506007600481548110151561107757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806111435750600760058154811015156110e857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806111b457506007600681548110151561115957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061122457506007808154811015156111c957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561122f57600080fd5b80600f8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1661125982612bae565b73ffffffffffffffffffffffffffffffffffffffff1614151561127b57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1661129b82612beb565b73ffffffffffffffffffffffffffffffffffffffff161415156112bd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112f957600080fd5b611304838383612c7e565b60008373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6007818154811015156113cd57fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b611431612f3f565b600061143b612f3f565b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935060008414156114b05760006040518059106114985750595b90808252806020026020018201604052509450611583565b836040518059106114be5750595b9080825280602002602001820160405250925060009150600190505b6009548111151561157f578573ffffffffffffffffffffffffffffffffffffffff16600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156115725780838381518110151561155b57fe5b906020019060200201818152505081806001019250505b80806001019150506114da565b8294505b50505050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e857600080fd5b600860009054906101000a900460ff16151561160357600080fd5b6000600860006101000a81548160ff021916908315150217905550565b60003373ffffffffffffffffffffffffffffffffffffffff1661164283612bae565b73ffffffffffffffffffffffffffffffffffffffff1614151561166457600080fd5b8373ffffffffffffffffffffffffffffffffffffffff1661168483612beb565b73ffffffffffffffffffffffffffffffffffffffff161415156116a657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156116e257600080fd5b6116ed848484612c7e565b60008473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36117ab83612ce6565b15611927578273ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba85846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001806020018281038252600081526020016020019350505050602060405180830381600087803b151561186657600080fd5b5af1151561187357600080fd5b50505060405180519050905060405180807f6f6e455243373231526563656976656428616464726573732c75696e7432353681526020017f2c62797465732900000000000000000000000000000000000000000000000000815250602701905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614151561192657600080fd5b5b50505050565b60008060003392506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561198357600080fd5b6119af6001543073ffffffffffffffffffffffffffffffffffffffff1631612cf990919063ffffffff16565b9150611a68600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5a600054611a4c600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487612d1790919063ffffffff16565b612d5290919063ffffffff16565b612d6d90919063ffffffff16565b905060008114151515611a7a57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff163110151515611aa057600080fd5b611af281600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cf990919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b4a81600154612cf990919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611b9057600080fd5b505050565b600860009054906101000a900460ff1681565b600481815481101515611bb757fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611c5b57600080fd5b919050565b600a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611cd057600080fd5b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611d1f612f3f565b611d27612f3f565b600080611d32610e9a565b1415611d5f576000604051805910611d475750595b90808252806020026020018201604052509250611dd8565b6064604051805910611d6e5750595b90808252806020026020018201604052509150600190505b620f4240811015611dd45781600d600083815260200190815260200160002054815181101515611db257fe5b9060200190602002018051809190600101815250508080600101915050611d86565b8192505b505090565b60076000815481101515611ded57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611eb8575060076001815481101515611e5d57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611f29575060076002815481101515611ece57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611f9a575060076003815481101515611f3f57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061200b575060076004815481101515611fb057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061207c57506007600581548110151561202157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806120ed57506007600681548110151561209257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061215d575060078081548110151561210257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561216857600080fd5b600860009054906101000a900460ff1615151561218457600080fd5b6001600860006101000a81548160ff021916908315150217905550565b6121a9612f3f565b60006121b3612f3f565b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935060008414156122285760006040518059106122105750595b908082528060200260200182016040525094506122fb565b836040518059106122365750595b9080825280602002602001820160405250925060009150600190505b600954811115156122f7578573ffffffffffffffffffffffffffffffffffffffff16600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156122ea578083838151811015156122d357fe5b906020019060200201818152505081806001019250505b8080600101915050612252565b8294505b50505050919050565b6000600954821115151561231457fe5b600d6000838152602001908152602001600020549050919050565b612337612f2b565b6040805190810160405280600581526020017f4457315354000000000000000000000000000000000000000000000000000000815250905090565b60036020528060005260406000206000915090505481565b600080fd5b6000806000600f54348115156123a157fe5b049250429150600090505b8281101561244d5761243f60016005838115156123c557fe5b061461240c576032600e548115156123d957fe5b06603284600e548501016040518082815260200191505060405180910390206001900481151561240557fe5b0601612439565b603283600e548401016040518082815260200191505060405180910390206001900481151561243757fe5b065b33612d86565b5080806001019150506123ac565b82600e60008282540192505081905550505050565b60003373ffffffffffffffffffffffffffffffffffffffff1661248485612bae565b73ffffffffffffffffffffffffffffffffffffffff161415156124a657600080fd5b8573ffffffffffffffffffffffffffffffffffffffff166124c685612beb565b73ffffffffffffffffffffffffffffffffffffffff161415156124e857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561252457600080fd5b61252f868686612c7e565b60008673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040518082815260200191505060405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36125ed85612ce6565b15612777578473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba878686866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437820191505095505050505050602060405180830381600087803b15156126b657600080fd5b5af115156126c357600080fd5b50505060405180519050905060405180807f6f6e455243373231526563656976656428616464726573732c75696e7432353681526020017f2c62797465732900000000000000000000000000000000000000000000000000815250602701905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614151561277657600080fd5b5b505050505050565b600b6020528060005260406000206000915090505481565b61279f612f2b565b6127a7612f53565b606060405190810160405280603481526020017f68747470733a2f2f636f7273617269756d2e706c61796461726b77696e64732e81526020017f636f6d2f63617264732f30303030302e6a736f6e0000000000000000000000008152509150819050600a612710600d60008681526020019081526020016000205481151561282b57fe5b0481151561283557fe5b066030017f01000000000000000000000000000000000000000000000000000000000000000281602181518110151561286a57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a6103e8600d6000868152602001908152602001600020548115156128bc57fe5b048115156128c657fe5b066030017f0100000000000000000000000000000000000000000000000000000000000000028160228151811015156128fb57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a6064600d60008681526020019081526020016000205481151561294c57fe5b0481151561295657fe5b066030017f01000000000000000000000000000000000000000000000000000000000000000281602381518110151561298b57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a80600d6000868152602001908152602001600020548115156129db57fe5b048115156129e557fe5b066030017f010000000000000000000000000000000000000000000000000000000000000002816024815181101515612a1a57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a6001600d600086815260200190815260200160002054811515612a6b57fe5b04811515612a7557fe5b066030017f010000000000000000000000000000000000000000000000000000000000000002816025815181101515612aaa57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050919050565b60026020528060005260406000206000915090505481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600f5481565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600c6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020528060005260406000206000915090505481565b6000600c600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b81600c600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b612c8781612e30565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550612ce18183612e86565b505050565b600080823b905060008111915050919050565b6000808284019050838110151515612d0d57fe5b8091505092915050565b6000806000841415612d2c5760009150612d4b565b8284029050828482811515612d3d57fe5b04141515612d4757fe5b8091505b5092915050565b6000808284811515612d6057fe5b0490508091505092915050565b6000828211151515612d7b57fe5b818303905092915050565b6000600954620f4240111515612d9b57600080fd5b60096000815480929190600101919050555082600d6000600954815260200190815260200160002081905550612dd360095483612e86565b8173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040518082815260200191505060405180910390a3600954905092915050565b6000600c600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80600a600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612fa357600080fd5b600081111515612fb257600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414151561300057600080fd5b6004805480600101828161301491906130c6565b9160005260206000209001600084909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130bc81600054612cf990919063ffffffff16565b6000819055505050565b8154818355818115116130ed578183600052602060002091820191016130ec91906130f2565b5b505050565b61311491905b808211156131105760008160009055506001016130f8565b5090565b905600a165627a7a7230582043bed85377b7babfa1e7893162864ac1d87cb0d020b5a48ea1e5c7abf8df7dab0029000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000004ab6c984e72cbab4162429721839d72b188010e300000000000000000000000000c0bca70eaaadf21a158141ec7ea699a17d63ed0000000000000000000000004978faf663a3f1a6c74accccbd63294efec64624000000000000000000000000772009e69b051879e1a5255d9af00723df9a6e04000000000000000000000000a464b05832a72a1a47ace2be18635e3a4c9a240a000000000000000000000000d450fcbfbb75cdaeb65693849a6eff0c2976026f000000000000000000000000d129bbf705dc91f50c5d9b44749507f458a733c8000000000000000000000000fdc2ad68fd1ef5341a442d0e2fc8b974e273ac160000000000000000000000003b8957d1f6f416ad11b25e9c4e99fef3542f6802000000000000000000000000afdb9e04b1bd67224b0d993d9ed08054ab99f4b1000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode
0x6060604052600436106101c2576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101c4578063081812fc14610252578063095ea7b3146102b557806318160ddd146102ec57806320e07e7f1461031557806323b872dd146103385780632419217e1461038e57806336516a8a146103f15780633a98ef39146104465780633d8807f81461046f5780633f4ba83a146104fd57806342842e0e146105125780634e71d92d146105685780635c975abb1461057d57806363037b0c146105aa5780636352211e1461060d5780636e9e48ef1461067057806370a08231146106d35780637c97479b146107205780638456cb591461078a5780638462151c1461079f5780639188d3121461082d57806395d89b41146108645780639852595c146108f2578063a22cb4651461093f578063a3006abf14610983578063b88d4fde1461098d578063c2fb09a8146109f7578063c87b56dd14610a44578063ce7c2ac214610ae0578063e1479d0714610b2d578063e33b7de314610b82578063e58172b114610bab578063e985e9c514610bd4578063eb5653d714610c44578063fd2546ac14610ca7575b005b34156101cf57600080fd5b6101d7610cde565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102175780820151818401526020810190506101fc565b50505050905090810190601f1680156102445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025d57600080fd5b6102736004808035906020019091905050610d21565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d33565b005b34156102f757600080fd5b6102ff610e9a565b6040518082815260200191505060405180910390f35b341561032057600080fd5b6103366004808035906020019091905050610ea4565b005b61038c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611239565b005b341561039957600080fd5b6103af60048080359060200190919050506113be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fc57600080fd5b6104046113fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045157600080fd5b610459611423565b6040518082815260200191505060405180910390f35b341561047a57600080fd5b6104a6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611429565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104e95780820151818401526020810190506104ce565b505050509050019250505060405180910390f35b341561050857600080fd5b61051061158c565b005b610566600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611620565b005b341561057357600080fd5b61057b61192d565b005b341561058857600080fd5b610590611b95565b604051808215151515815260200191505060405180910390f35b34156105b557600080fd5b6105cb6004808035906020019091905050611ba8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561061857600080fd5b61062e6004808035906020019091905050611be7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067b57600080fd5b6106916004808035906020019091905050611c60565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106de57600080fd5b61070a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c93565b6040518082815260200191505060405180910390f35b341561072b57600080fd5b610733611d17565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561077657808201518184015260208101905061075b565b505050509050019250505060405180910390f35b341561079557600080fd5b61079d611ddd565b005b34156107aa57600080fd5b6107d6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506121a1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156108195780820151818401526020810190506107fe565b505050509050019250505060405180910390f35b341561083857600080fd5b61084e6004808035906020019091905050612304565b6040518082815260200191505060405180910390f35b341561086f57600080fd5b61087761232f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108b757808201518184015260208101905061089c565b50505050905090810190601f1680156108e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108fd57600080fd5b610929600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612372565b6040518082815260200191505060405180910390f35b341561094a57600080fd5b610981600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035151590602001909190505061238a565b005b61098b61238f565b005b6109f5600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080359060200190820180359060200191909192905050612462565b005b3415610a0257600080fd5b610a2e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061277f565b6040518082815260200191505060405180910390f35b3415610a4f57600080fd5b610a656004808035906020019091905050612797565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aa5578082015181840152602081019050610a8a565b50505050905090810190601f168015610ad25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610aeb57600080fd5b610b17600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612ae0565b6040518082815260200191505060405180910390f35b3415610b3857600080fd5b610b40612af8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b8d57600080fd5b610b95612b1e565b6040518082815260200191505060405180910390f35b3415610bb657600080fd5b610bbe612b24565b6040518082815260200191505060405180910390f35b3415610bdf57600080fd5b610c2a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612b2a565b604051808215151515815260200191505060405180910390f35b3415610c4f57600080fd5b610c656004808035906020019091905050612b63565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610cb257600080fd5b610cc86004808035906020019091905050612b96565b6040518082815260200191505060405180910390f35b610ce6612f2b565b6040805190810160405280601e81526020017f4461726b2057696e64732046697273742045646974696f6e2043617264730000815250905090565b6000610d2c82612bae565b9050919050565b610d3c81612beb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d7557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610db057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610dd182612bae565b73ffffffffffffffffffffffffffffffffffffffff16141580610e215750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610e9657610e308282612c28565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5050565b6000600954905090565b60076000815481101515610eb457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f7f575060076001815481101515610f2457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610ff0575060076002815481101515610f9557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061106157506007600381548110151561100657fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806110d257506007600481548110151561107757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806111435750600760058154811015156110e857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806111b457506007600681548110151561115957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061122457506007808154811015156111c957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561122f57600080fd5b80600f8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1661125982612bae565b73ffffffffffffffffffffffffffffffffffffffff1614151561127b57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1661129b82612beb565b73ffffffffffffffffffffffffffffffffffffffff161415156112bd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112f957600080fd5b611304838383612c7e565b60008373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6007818154811015156113cd57fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b611431612f3f565b600061143b612f3f565b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935060008414156114b05760006040518059106114985750595b90808252806020026020018201604052509450611583565b836040518059106114be5750595b9080825280602002602001820160405250925060009150600190505b6009548111151561157f578573ffffffffffffffffffffffffffffffffffffffff16600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156115725780838381518110151561155b57fe5b906020019060200201818152505081806001019250505b80806001019150506114da565b8294505b50505050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e857600080fd5b600860009054906101000a900460ff16151561160357600080fd5b6000600860006101000a81548160ff021916908315150217905550565b60003373ffffffffffffffffffffffffffffffffffffffff1661164283612bae565b73ffffffffffffffffffffffffffffffffffffffff1614151561166457600080fd5b8373ffffffffffffffffffffffffffffffffffffffff1661168483612beb565b73ffffffffffffffffffffffffffffffffffffffff161415156116a657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156116e257600080fd5b6116ed848484612c7e565b60008473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36117ab83612ce6565b15611927578273ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba85846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001806020018281038252600081526020016020019350505050602060405180830381600087803b151561186657600080fd5b5af1151561187357600080fd5b50505060405180519050905060405180807f6f6e455243373231526563656976656428616464726573732c75696e7432353681526020017f2c62797465732900000000000000000000000000000000000000000000000000815250602701905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614151561192657600080fd5b5b50505050565b60008060003392506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561198357600080fd5b6119af6001543073ffffffffffffffffffffffffffffffffffffffff1631612cf990919063ffffffff16565b9150611a68600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5a600054611a4c600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487612d1790919063ffffffff16565b612d5290919063ffffffff16565b612d6d90919063ffffffff16565b905060008114151515611a7a57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff163110151515611aa057600080fd5b611af281600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cf990919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b4a81600154612cf990919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611b9057600080fd5b505050565b600860009054906101000a900460ff1681565b600481815481101515611bb757fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611c5b57600080fd5b919050565b600a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611cd057600080fd5b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611d1f612f3f565b611d27612f3f565b600080611d32610e9a565b1415611d5f576000604051805910611d475750595b90808252806020026020018201604052509250611dd8565b6064604051805910611d6e5750595b90808252806020026020018201604052509150600190505b620f4240811015611dd45781600d600083815260200190815260200160002054815181101515611db257fe5b9060200190602002018051809190600101815250508080600101915050611d86565b8192505b505090565b60076000815481101515611ded57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611eb8575060076001815481101515611e5d57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611f29575060076002815481101515611ece57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611f9a575060076003815481101515611f3f57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061200b575060076004815481101515611fb057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061207c57506007600581548110151561202157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806120ed57506007600681548110151561209257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061215d575060078081548110151561210257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561216857600080fd5b600860009054906101000a900460ff1615151561218457600080fd5b6001600860006101000a81548160ff021916908315150217905550565b6121a9612f3f565b60006121b3612f3f565b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935060008414156122285760006040518059106122105750595b908082528060200260200182016040525094506122fb565b836040518059106122365750595b9080825280602002602001820160405250925060009150600190505b600954811115156122f7578573ffffffffffffffffffffffffffffffffffffffff16600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156122ea578083838151811015156122d357fe5b906020019060200201818152505081806001019250505b8080600101915050612252565b8294505b50505050919050565b6000600954821115151561231457fe5b600d6000838152602001908152602001600020549050919050565b612337612f2b565b6040805190810160405280600581526020017f4457315354000000000000000000000000000000000000000000000000000000815250905090565b60036020528060005260406000206000915090505481565b600080fd5b6000806000600f54348115156123a157fe5b049250429150600090505b8281101561244d5761243f60016005838115156123c557fe5b061461240c576032600e548115156123d957fe5b06603284600e548501016040518082815260200191505060405180910390206001900481151561240557fe5b0601612439565b603283600e548401016040518082815260200191505060405180910390206001900481151561243757fe5b065b33612d86565b5080806001019150506123ac565b82600e60008282540192505081905550505050565b60003373ffffffffffffffffffffffffffffffffffffffff1661248485612bae565b73ffffffffffffffffffffffffffffffffffffffff161415156124a657600080fd5b8573ffffffffffffffffffffffffffffffffffffffff166124c685612beb565b73ffffffffffffffffffffffffffffffffffffffff161415156124e857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561252457600080fd5b61252f868686612c7e565b60008673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040518082815260200191505060405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36125ed85612ce6565b15612777578473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba878686866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437820191505095505050505050602060405180830381600087803b15156126b657600080fd5b5af115156126c357600080fd5b50505060405180519050905060405180807f6f6e455243373231526563656976656428616464726573732c75696e7432353681526020017f2c62797465732900000000000000000000000000000000000000000000000000815250602701905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614151561277657600080fd5b5b505050505050565b600b6020528060005260406000206000915090505481565b61279f612f2b565b6127a7612f53565b606060405190810160405280603481526020017f68747470733a2f2f636f7273617269756d2e706c61796461726b77696e64732e81526020017f636f6d2f63617264732f30303030302e6a736f6e0000000000000000000000008152509150819050600a612710600d60008681526020019081526020016000205481151561282b57fe5b0481151561283557fe5b066030017f01000000000000000000000000000000000000000000000000000000000000000281602181518110151561286a57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a6103e8600d6000868152602001908152602001600020548115156128bc57fe5b048115156128c657fe5b066030017f0100000000000000000000000000000000000000000000000000000000000000028160228151811015156128fb57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a6064600d60008681526020019081526020016000205481151561294c57fe5b0481151561295657fe5b066030017f01000000000000000000000000000000000000000000000000000000000000000281602381518110151561298b57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a80600d6000868152602001908152602001600020548115156129db57fe5b048115156129e557fe5b066030017f010000000000000000000000000000000000000000000000000000000000000002816024815181101515612a1a57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a6001600d600086815260200190815260200160002054811515612a6b57fe5b04811515612a7557fe5b066030017f010000000000000000000000000000000000000000000000000000000000000002816025815181101515612aaa57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050919050565b60026020528060005260406000206000915090505481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600f5481565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600c6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020528060005260406000206000915090505481565b6000600c600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b81600c600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b612c8781612e30565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550612ce18183612e86565b505050565b600080823b905060008111915050919050565b6000808284019050838110151515612d0d57fe5b8091505092915050565b6000806000841415612d2c5760009150612d4b565b8284029050828482811515612d3d57fe5b04141515612d4757fe5b8091505b5092915050565b6000808284811515612d6057fe5b0490508091505092915050565b6000828211151515612d7b57fe5b818303905092915050565b6000600954620f4240111515612d9b57600080fd5b60096000815480929190600101919050555082600d6000600954815260200190815260200160002081905550612dd360095483612e86565b8173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040518082815260200191505060405180910390a3600954905092915050565b6000600c600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80600a600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612fa357600080fd5b600081111515612fb257600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414151561300057600080fd5b6004805480600101828161301491906130c6565b9160005260206000209001600084909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130bc81600054612cf990919063ffffffff16565b6000819055505050565b8154818355818115116130ed578183600052602060002091820191016130ec91906130f2565b5b505050565b61311491905b808211156131105760008160009055506001016130f8565b5090565b905600a165627a7a7230582043bed85377b7babfa1e7893162864ac1d87cb0d020b5a48ea1e5c7abf8df7dab0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000004ab6c984e72cbab4162429721839d72b188010e300000000000000000000000000c0bca70eaaadf21a158141ec7ea699a17d63ed0000000000000000000000004978faf663a3f1a6c74accccbd63294efec64624000000000000000000000000772009e69b051879e1a5255d9af00723df9a6e04000000000000000000000000a464b05832a72a1a47ace2be18635e3a4c9a240a000000000000000000000000d450fcbfbb75cdaeb65693849a6eff0c2976026f000000000000000000000000d129bbf705dc91f50c5d9b44749507f458a733c8000000000000000000000000fdc2ad68fd1ef5341a442d0e2fc8b974e273ac160000000000000000000000003b8957d1f6f416ad11b25e9c4e99fef3542f6802000000000000000000000000afdb9e04b1bd67224b0d993d9ed08054ab99f4b1000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001
-----Decoded View---------------
Arg [0] : _payees (address[]): 0x4ab6C984E72CbaB4162429721839d72B188010E3,0x00C0bCa70EAaADF21A158141EC7eA699a17D63ed,0x4978FaF663A3F1A6c74ACCCCBd63294Efec64624,0x772009E69B051879E1a5255D9af00723df9A6E04,0xA464b05832a72a1a47Ace2Be18635E3a4c9a240A,0xd450fCBfbB75CDAeB65693849A6EFF0c2976026F,0xd129BBF705dC91F50C5d9B44749507f458a733C8,0xfDC2ad68fd1EF5341a442d0E2fC8b974E273AC16,0x3b8957D1F6f416aD11b25e9c4e99FEF3542f6802,0xAfDB9e04B1bd67224B0D993d9eD08054AB99F4b1
Arg [1] : _shares (uint256[]): 14,14,1,1,1,1,1,1,1,1
-----Encoded View---------------
24 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 00000000000000000000000000000000000000000000000000000000000001a0
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [3] : 0000000000000000000000004ab6c984e72cbab4162429721839d72b188010e3
Arg [4] : 00000000000000000000000000c0bca70eaaadf21a158141ec7ea699a17d63ed
Arg [5] : 0000000000000000000000004978faf663a3f1a6c74accccbd63294efec64624
Arg [6] : 000000000000000000000000772009e69b051879e1a5255d9af00723df9a6e04
Arg [7] : 000000000000000000000000a464b05832a72a1a47ace2be18635e3a4c9a240a
Arg [8] : 000000000000000000000000d450fcbfbb75cdaeb65693849a6eff0c2976026f
Arg [9] : 000000000000000000000000d129bbf705dc91f50c5d9b44749507f458a733c8
Arg [10] : 000000000000000000000000fdc2ad68fd1ef5341a442d0e2fc8b974e273ac16
Arg [11] : 0000000000000000000000003b8957d1f6f416ad11b25e9c4e99fef3542f6802
Arg [12] : 000000000000000000000000afdb9e04b1bd67224b0d993d9ed08054ab99f4b1
Arg [13] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [14] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [15] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [17] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [18] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [19] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [21] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [23] : 0000000000000000000000000000000000000000000000000000000000000001
Swarm Source
bzzr://43bed85377b7babfa1e7893162864ac1d87cb0d020b5a48ea1e5c7abf8df7dab
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.