Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 211 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Payout | 5209208 | 2544 days ago | IN | 0 ETH | 0.00024944 | ||||
Purchase | 5163042 | 2552 days ago | IN | 0.04360243 ETH | 0.00010778 | ||||
Purchase | 5162875 | 2552 days ago | IN | 0.00963177 ETH | 0.000123 | ||||
Purchase | 5162790 | 2552 days ago | IN | 0.00963177 ETH | 0.00009589 | ||||
Purchase | 5162788 | 2552 days ago | IN | 0.00212765 ETH | 0.00002423 | ||||
Purchase | 5158978 | 2552 days ago | IN | 0.00452693 ETH | 0.00009103 | ||||
Purchase | 5158975 | 2552 days ago | IN | 0.00452693 ETH | 0.00006827 | ||||
Purchase | 5158974 | 2552 days ago | IN | 0.00212765 ETH | 0.00004551 | ||||
Transfer | 5158878 | 2552 days ago | IN | 0 ETH | 0.000063 | ||||
Purchase | 5158873 | 2552 days ago | IN | 0.00963177 ETH | 0.000765 | ||||
Purchase | 5158853 | 2552 days ago | IN | 0.00963177 ETH | 0.00037515 | ||||
Purchase | 5158850 | 2552 days ago | IN | 0.00452693 ETH | 0.00064542 | ||||
Purchase | 5158843 | 2552 days ago | IN | 0.00452693 ETH | 0.00005006 | ||||
Purchase | 5158840 | 2552 days ago | IN | 0.00452693 ETH | 0.0004639 | ||||
Purchase | 5158832 | 2553 days ago | IN | 0.00452693 ETH | 0.000549 | ||||
Purchase | 5158828 | 2553 days ago | IN | 0.00212765 ETH | 0.00011827 | ||||
Purchase | 5158825 | 2553 days ago | IN | 0.00212765 ETH | 0.0003213 | ||||
Purchase | 5158824 | 2553 days ago | IN | 0.00212765 ETH | 0.00031365 | ||||
Purchase | 5158820 | 2553 days ago | IN | 0.00212765 ETH | 0.00019065 | ||||
Purchase | 5158794 | 2553 days ago | IN | 0.001 ETH | 0.000108 | ||||
Purchase | 5158793 | 2553 days ago | IN | 0.001 ETH | 0.000138 | ||||
Purchase | 5158035 | 2553 days ago | IN | 0.001 ETH | 0.00019992 | ||||
Create Contract ... | 5158020 | 2553 days ago | IN | 0 ETH | 0.00021034 | ||||
Create Contract ... | 5158018 | 2553 days ago | IN | 0 ETH | 0.00021046 | ||||
Create Contract ... | 5158012 | 2553 days ago | IN | 0 ETH | 0.00060149 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
5209208 | 2544 days ago | 0.16043215 ETH | ||||
5163042 | 2552 days ago | 999 wei | ||||
5163042 | 2552 days ago | 0.04098628 ETH | ||||
5162875 | 2552 days ago | 0 ETH | ||||
5162875 | 2552 days ago | 0.00905387 ETH | ||||
5158873 | 2552 days ago | 0 ETH | ||||
5158873 | 2552 days ago | 0.00905387 ETH | ||||
5158853 | 2552 days ago | 0 ETH | ||||
5158853 | 2552 days ago | 0.00905387 ETH | ||||
5158850 | 2552 days ago | 0 ETH | ||||
5158850 | 2552 days ago | 0.00425531 ETH | ||||
5158840 | 2552 days ago | 0 ETH | ||||
5158840 | 2552 days ago | 0.00425531 ETH | ||||
5158832 | 2553 days ago | 0 ETH | ||||
5158832 | 2553 days ago | 0.00425531 ETH | ||||
5158825 | 2553 days ago | 0 ETH | ||||
5158825 | 2553 days ago | 0.00199999 ETH | ||||
5158824 | 2553 days ago | 0 ETH | ||||
5158824 | 2553 days ago | 0.00199999 ETH | ||||
5158820 | 2553 days ago | 0 ETH | ||||
5158820 | 2553 days ago | 0.00199999 ETH | ||||
5158794 | 2553 days ago | 0 ETH | ||||
5158793 | 2553 days ago | 0 ETH | ||||
5158035 | 2553 days ago | 0 ETH | ||||
5154666 | 2553 days ago | 998 wei |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CryptoSocialMediaToken
Compiler Version
v0.4.21-nightly.2018.2.23+commit.cae6cc2c
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-02-24 */ pragma solidity ^0.4.18; /// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens contract ERC721 { // Required methods function approve(address _to, uint256 _tokenId) public; function balanceOf(address _owner) public view returns (uint256 balance); function implementsERC721() public pure returns (bool); function ownerOf(uint256 _tokenId) public view returns (address addr); function takeOwnership(uint256 _tokenId) public; function totalSupply() public view returns (uint256 total); function transferFrom(address _from, address _to, uint256 _tokenId) public; function transfer(address _to, uint256 _tokenId) public; event Transfer(address indexed from, address indexed to, uint256 tokenId); event Approval(address indexed owner, address indexed approved, uint256 tokenId); // Optional // function name() public view returns (string name); // function symbol() public view returns (string symbol); // function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256 tokenId); // function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl); } contract CryptoSocialMediaToken is ERC721 { // Modified CryptoCelebs contract // Note: "Item" refers to a SocialMedia asset. /*** EVENTS ***/ /// @dev The Birth event is fired whenever a new item comes into existence. event Birth(uint256 tokenId, string name, address owner, bytes32 message); /// @dev The TokenSold event is fired whenever a token is sold. event TokenSold(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address winner, string name); /// @dev Transfer event as defined in current draft of ERC721. /// ownership is assigned, including births. event Transfer(address from, address to, uint256 tokenId); /*** CONSTANTS ***/ /// @notice Name and symbol of the non fungible token, as defined in ERC721. string public constant NAME = "CryptoSocialMedia"; // solhint-disable-line string public constant SYMBOL = "CryptoSocialMediaToken"; // solhint-disable-line uint256 private startingPrice = 0.001 ether; uint256 private constant PROMO_CREATION_LIMIT = 5000; uint256 private firstStepLimit = 0.053613 ether; uint256 private secondStepLimit = 0.564957 ether; /*** STORAGE ***/ /// @dev A mapping from item IDs to the address that owns them. All items have /// some valid owner address. mapping (uint256 => address) public itemIndexToOwner; // @dev A mapping from owner address to count of tokens that address owns. // Used internally inside balanceOf() to resolve ownership count. mapping (address => uint256) private ownershipTokenCount; /// @dev A mapping from ItemIDs to an address that has been approved to call /// transferFrom(). Each item can only have one approved address for transfer /// at any time. A zero value means no approval is outstanding. mapping (uint256 => address) public itemIndexToApproved; // @dev A mapping from ItemIDs to the price of the token. mapping (uint256 => uint256) private itemIndexToPrice; // The addresses of the accounts (or contracts) that can execute actions within each roles. address public ceoAddress; address public cooAddress; /*** DATATYPES ***/ struct Item { string name; bytes32 message; } Item[] private items; /*** ACCESS MODIFIERS ***/ /// @dev Access modifier for CEO-only functionality modifier onlyCEO() { require(msg.sender == ceoAddress); _; } /// @dev Access modifier for COO-only functionality modifier onlyCOO() { require(msg.sender == cooAddress); _; } /// Access modifier for contract owner only functionality modifier onlyCLevel() { require( msg.sender == ceoAddress || msg.sender == cooAddress ); _; } /*** CONSTRUCTOR ***/ function CryptoSocialMediaToken() public { ceoAddress = msg.sender; cooAddress = msg.sender; createContractItem("4chan", ""); createContractItem("9gag", ""); createContractItem("Discord", ""); createContractItem("Facebook", ""); createContractItem("Google Plus", ""); createContractItem("Instagram", ""); createContractItem("Medium", ""); createContractItem("Periscope", ""); createContractItem("Pinterest", ""); createContractItem("Reddit", ""); createContractItem("Skype", ""); createContractItem("Snapchat", ""); createContractItem("Tumblr", ""); createContractItem("Twitch", ""); createContractItem("Twitter", ""); createContractItem("Wechat", ""); createContractItem("Whatsapp", ""); createContractItem("Youtube", ""); } /*** PUBLIC FUNCTIONS ***/ /// @notice Grant another address the right to transfer token via takeOwnership() and transferFrom(). /// @param _to The address to be granted transfer approval. Pass address(0) to /// clear all approvals. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function approve( address _to, uint256 _tokenId ) public { // Caller must own token. require(_owns(msg.sender, _tokenId)); itemIndexToApproved[_tokenId] = _to; Approval(msg.sender, _to, _tokenId); } /// For querying balance of a particular account /// @param _owner The address for balance query /// @dev Required for ERC-721 compliance. function balanceOf(address _owner) public view returns (uint256 balance) { return ownershipTokenCount[_owner]; } /// @dev Creates a new Item with the given name. function createContractItem(string _name, bytes32 _message) public onlyCOO { _createItem(_name, address(this), startingPrice, _message); } /// @notice Returns all the relevant information about a specific item. /// @param _tokenId The tokenId of the item of interest. function getItem(uint256 _tokenId) public view returns ( string itemName, uint256 sellingPrice, address owner, bytes32 itemMessage ) { Item storage item = items[_tokenId]; itemName = item.name; itemMessage = item.message; sellingPrice = itemIndexToPrice[_tokenId]; owner = itemIndexToOwner[_tokenId]; } function implementsERC721() public pure returns (bool) { return true; } /// @dev Required for ERC-721 compliance. function name() public pure returns (string) { return NAME; } /// For querying owner of token /// @param _tokenId The tokenID for owner inquiry /// @dev Required for ERC-721 compliance. function ownerOf(uint256 _tokenId) public view returns (address owner) { owner = itemIndexToOwner[_tokenId]; require(owner != address(0)); } function payout(address _to) public onlyCLevel { _payout(_to); } // Allows someone to send ether and obtain the token function purchase(uint256 _tokenId, bytes32 _message) public payable { address oldOwner = itemIndexToOwner[_tokenId]; address newOwner = msg.sender; uint256 sellingPrice = itemIndexToPrice[_tokenId]; // Making sure token owner is not sending to self require(oldOwner != newOwner); // Safety check to prevent against an unexpected 0x0 default. require(_addressNotNull(newOwner)); // Making sure sent amount is greater than or equal to the sellingPrice require(msg.value >= sellingPrice); uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 94), 100)); uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice); // Update prices if (sellingPrice < firstStepLimit) { // first stage itemIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 200), 94); } else if (sellingPrice < secondStepLimit) { // second stage itemIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 120), 94); } else { // third stage itemIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 115), 94); } _transfer(oldOwner, newOwner, _tokenId); // Pay previous tokenOwner if owner is not contract if (oldOwner != address(this)) { oldOwner.transfer(payment); //(1-0.06) } TokenSold(_tokenId, sellingPrice, itemIndexToPrice[_tokenId], oldOwner, newOwner, items[_tokenId].name); msg.sender.transfer(purchaseExcess); // Update the message of the item items[_tokenId].message = _message; } function priceOf(uint256 _tokenId) public view returns (uint256 price) { return itemIndexToPrice[_tokenId]; } /// @dev Assigns a new address to act as the CEO. Only available to the current CEO. /// @param _newCEO The address of the new CEO function setCEO(address _newCEO) public onlyCEO { require(_newCEO != address(0)); ceoAddress = _newCEO; } /// @dev Assigns a new address to act as the COO. Only available to the current COO. /// @param _newCOO The address of the new COO function setCOO(address _newCOO) public onlyCEO { require(_newCOO != address(0)); cooAddress = _newCOO; } /// @dev Required for ERC-721 compliance. function symbol() public pure returns (string) { return SYMBOL; } /// @notice Allow pre-approved user to take ownership of a token /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function takeOwnership(uint256 _tokenId) public { address newOwner = msg.sender; address oldOwner = itemIndexToOwner[_tokenId]; // Safety check to prevent against an unexpected 0x0 default. require(_addressNotNull(newOwner)); // Making sure transfer is approved require(_approved(newOwner, _tokenId)); _transfer(oldOwner, newOwner, _tokenId); } /// @param _owner The owner whose social media tokens we are interested in. /// @dev This method MUST NEVER be called by smart contract code. First, it's fairly /// expensive (it walks the entire Items array looking for items belonging to owner), /// but it also returns a dynamic array, which is only supported for web3 calls, and /// not contract-to-contract calls. function tokensOfOwner(address _owner) public view returns(uint256[] ownerTokens) { uint256 tokenCount = balanceOf(_owner); if (tokenCount == 0) { // Return an empty array return new uint256[](0); } else { uint256[] memory result = new uint256[](tokenCount); uint256 totalItems = totalSupply(); uint256 resultIndex = 0; uint256 itemId; for (itemId = 0; itemId <= totalItems; itemId++) { if (itemIndexToOwner[itemId] == _owner) { result[resultIndex] = itemId; resultIndex++; } } return result; } } /// For querying totalSupply of token /// @dev Required for ERC-721 compliance. function totalSupply() public view returns (uint256 total) { return items.length; } /// Owner initates the transfer of the token to another account /// @param _to The address for the token to be transferred to. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function transfer( address _to, uint256 _tokenId ) public { require(_owns(msg.sender, _tokenId)); require(_addressNotNull(_to)); _transfer(msg.sender, _to, _tokenId); } /// Third-party initiates transfer of token from address _from to address _to /// @param _from The address for the token to be transferred from. /// @param _to The address for the token to be transferred to. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function transferFrom( address _from, address _to, uint256 _tokenId ) public { require(_owns(_from, _tokenId)); require(_approved(_to, _tokenId)); require(_addressNotNull(_to)); _transfer(_from, _to, _tokenId); } /*** PRIVATE FUNCTIONS ***/ /// Safety check on _to address to prevent against an unexpected 0x0 default. function _addressNotNull(address _to) private pure returns (bool) { return _to != address(0); } /// For checking approval of transfer for address _to function _approved(address _to, uint256 _tokenId) private view returns (bool) { return itemIndexToApproved[_tokenId] == _to; } /// For creating Item function _createItem(string _name, address _owner, uint256 _price, bytes32 _message) private { Item memory _item = Item({ name: _name, message: _message }); uint256 newItemId = items.push(_item) - 1; // It's probably never going to happen, 4 billion tokens are A LOT, but // let's just be 100% sure we never let this happen. require(newItemId == uint256(uint32(newItemId))); Birth(newItemId, _name, _owner, _message); itemIndexToPrice[newItemId] = _price; // This will assign ownership, and also emit the Transfer event as // per ERC721 draft _transfer(address(0), _owner, newItemId); } /// Check for token ownership function _owns(address claimant, uint256 _tokenId) private view returns (bool) { return claimant == itemIndexToOwner[_tokenId]; } /// For paying out balance on contract function _payout(address _to) private { if (_to == address(0)) { ceoAddress.transfer(this.balance); } else { _to.transfer(this.balance); } } /// @dev Assigns ownership of a specific Item to an address. function _transfer(address _from, address _to, uint256 _tokenId) private { // Since the number of items is capped to 2^32 we can't overflow this ownershipTokenCount[_to]++; //transfer ownership itemIndexToOwner[_tokenId] = _to; // When creating new items _from is 0x0, but we can't account that address. if (_from != address(0)) { ownershipTokenCount[_from]--; // clear any previously approved ownership exchange delete itemIndexToApproved[_tokenId]; } // Emit the transfer event. Transfer(_from, _to, _tokenId); } } 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; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ceoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"payout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCEO","type":"address"}],"name":"setCEO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCOO","type":"address"}],"name":"setCOO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getItem","outputs":[{"name":"itemName","type":"string"},{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"},{"name":"itemMessage","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_message","type":"bytes32"}],"name":"createContractItem","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"name":"ownerTokens","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"itemIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_message","type":"bytes32"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","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":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cooAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"price","type":"uint256"}],"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":"","type":"uint256"}],"name":"itemIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"message","type":"bytes32"}],"name":"Birth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"winner","type":"address"},{"indexed":false,"name":"name","type":"string"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"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"}]
Contract Creation Code
606060405266038d7ea4c6800060005566be78bd4c57d0006001556707d72165f25ed00060025534156200003257600080fd5b33600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200010a6040805190810160405280600581526020017f346368616e0000000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620001606040805190810160405280600481526020017f39676167000000000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620001b66040805190810160405280600781526020017f446973636f7264000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b6200020c6040805190810160405280600881526020017f46616365626f6f6b0000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620002626040805190810160405280600b81526020017f476f6f676c6520506c75730000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620002b86040805190810160405280600981526020017f496e7374616772616d00000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b6200030e6040805190810160405280600681526020017f4d656469756d00000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620003646040805190810160405280600981526020017f5065726973636f706500000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620003ba6040805190810160405280600981526020017f50696e74657265737400000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620004106040805190810160405280600681526020017f52656464697400000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620004666040805190810160405280600581526020017f536b7970650000000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620004bc6040805190810160405280600881526020017f536e6170636861740000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620005126040805190810160405280600681526020017f54756d626c7200000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620005686040805190810160405280600681526020017f54776974636800000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620005be6040805190810160405280600781526020017f54776974746572000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620006146040805190810160405280600681526020017f57656368617400000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b6200066a6040805190810160405280600881526020017f57686174736170700000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b620006c06040805190810160405280600781526020017f596f7574756265000000000000000000000000000000000000000000000000008152506000620006c66401000000000262000f19176401000000009004565b62000cbe565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156200072357600080fd5b620007478230600054846200074b6401000000000262001b85176401000000009004565b5050565b6200075562000b19565b60006040805190810160405280878152602001846000191681525091506001600980548060010182816200078a919062000b3e565b916000526020600020906002020160008590919091506000820151816000019080519060200190620007be92919062000b73565b506020820151816001019060001916905550500390508063ffffffff1681141515620007e957600080fd5b7f66f36b34b9273ae32cc04854f32e66c77c39ca9fe755ce21b1b3d70cb844ab168187878660405180858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828103825285818151815260200191508051906020019080838360005b838110156200089657808201518184015260208101905062000879565b50505050905090810190601f168015620008c45780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a18360066000838152602001908152602001600020819055506200090e60008683620009166401000000000262001983176401000000009004565b505050505050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151562000a7557600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b604080519081016040528062000b2e62000bfa565b8152602001600080191681525090565b81548183558181151162000b6e5760020281600202836000526020600020918201910162000b6d919062000c0e565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000bb657805160ff191683800117855562000be7565b8280016001018555821562000be7579182015b8281111562000be657825182559160200191906001019062000bc9565b5b50905062000bf6919062000c4a565b5090565b602060405190810160405280600081525090565b62000c4791905b8082111562000c43576000808201600062000c31919062000c72565b60018201600090555060020162000c15565b5090565b90565b62000c6f91905b8082111562000c6b57600081600090555060010162000c51565b5090565b90565b50805460018160011615610100020316600290046000825580601f1062000c9a575062000cbb565b601f01602090049060005260206000209081019062000cba919062000c4a565b5b50565b611f808062000cce6000396000f30060606040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610143578063095ea7b3146101d15780630a0f8168146102135780630b7e9c44146102685780631051db34146102a157806318160ddd146102ce57806323b872dd146102f757806327d7874c146103585780632ba73c15146103915780633129e773146103ca57806357cdf799146104af5780636352211e1461051957806370a082311461057c5780638462151c146105c9578063880727001461065757806388888f61146106ba57806395d89b41146106df578063a3f4df7e1461076d578063a9059cbb146107fb578063b047fb501461083d578063b2e6ceeb14610892578063b9186d7d146108b5578063f76f8d78146108ec578063fe9b1a891461097a575b600080fd5b341561014e57600080fd5b6101566109dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019657808201518184015260208101905061017b565b50505050905090810190601f1680156101c35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101dc57600080fd5b610211600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a20565b005b341561021e57600080fd5b610226610af0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561027357600080fd5b61029f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b16565b005b34156102ac57600080fd5b6102b4610bd6565b604051808215151515815260200191505060405180910390f35b34156102d957600080fd5b6102e1610bdf565b6040518082815260200191505060405180910390f35b341561030257600080fd5b610356600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bec565b005b341561036357600080fd5b61038f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c3a565b005b341561039c57600080fd5b6103c8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d16565b005b34156103d557600080fd5b6103eb6004808035906020019091905050610df2565b60405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828103825286818151815260200191508051906020019080838360005b83811015610471578082015181840152602081019050610456565b50505050905090810190601f16801561049e5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34156104ba57600080fd5b610517600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560001916906020019091905050610f19565b005b341561052457600080fd5b61053a6004808035906020019091905050610f87565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058757600080fd5b6105b3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611000565b6040518082815260200191505060405180910390f35b34156105d457600080fd5b610600600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611049565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610643578082015181840152602081019050610628565b505050509050019250505060405180910390f35b341561066257600080fd5b6106786004808035906020019091905050611180565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106dd6004808035906020019091908035600019169060200190919050506111b3565b005b34156106ea57600080fd5b6106f261158c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610732578082015181840152602081019050610717565b50505050905090810190601f16801561075f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561077857600080fd5b6107806115cf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c05780820151818401526020810190506107a5565b50505050905090810190601f1680156107ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561080657600080fd5b61083b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611608565b005b341561084857600080fd5b610850611640565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561089d57600080fd5b6108b36004808035906020019091905050611666565b005b34156108c057600080fd5b6108d660048080359060200190919050506116db565b6040518082815260200191505060405180910390f35b34156108f757600080fd5b6108ff6116f8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561093f578082015181840152602081019050610924565b50505050905090810190601f16801561096c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561098557600080fd5b61099b6004808035906020019091905050611731565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109e5611d9f565b6040805190810160405280601181526020017f43727970746f536f6369616c4d65646961000000000000000000000000000000815250905090565b610a2a3382611764565b1515610a3557600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610bbf5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610bca57600080fd5b610bd3816117d0565b50565b60006001905090565b6000600980549050905090565b610bf68382611764565b1515610c0157600080fd5b610c0b82826118de565b1515610c1657600080fd5b610c1f8261194a565b1515610c2a57600080fd5b610c35838383611983565b505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cd257600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d7257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dae57600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dfa611d9f565b600080600080600986815481101515610e0f57fe5b90600052602060002090600202019050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb75780601f10610e8c57610100808354040283529160200191610eb7565b820191906000526020600020905b815481529060010190602001808311610e9a57829003601f168201915b5050505050945080600101549150600660008781526020019081526020016000205493506003600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250509193509193565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f7557600080fd5b610f83823060005484611b85565b5050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ffb57600080fd5b919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611051611db3565b600061105b611db3565b600080600061106987611000565b9450600085141561109b5760006040518059106110835750595b90808252806020026020018201604052509550611176565b846040518059106110a95750595b908082528060200260200182016040525093506110c4610bdf565b925060009150600090505b8281111515611172578673ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111655780848381518110151561114e57fe5b906020019060200201818152505081806001019250505b80806001019150506110cf565b8395505b5050505050919050565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060006003600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600660008881526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561124557600080fd5b61124e8461194a565b151561125957600080fd5b82341015151561126857600080fd5b61127d61127684605e611d30565b6064611d6b565b91506112893484611d86565b90506001548310156112c6576112aa6112a38460c8611d30565b605e611d6b565b600660008981526020019081526020016000208190555061132f565b600254831015611301576112e56112de846078611d30565b605e611d6b565b600660008981526020019081526020016000208190555061132e565b61131661130f846073611d30565b605e611d6b565b60066000898152602001908152602001600020819055505b5b61133a858589611983565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156113b0578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156113af57600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8784600660008b815260200190815260200160002054888860098d8154811015156113f757fe5b9060005260206000209060020201600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156115075780601f106114dc57610100808354040283529160200191611507565b820191906000526020600020905b8154815290600101906020018083116114ea57829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561155a57600080fd5b8560098881548110151561156a57fe5b9060005260206000209060020201600101816000191690555050505050505050565b611594611d9f565b6040805190810160405280601681526020017f43727970746f536f6369616c4d65646961546f6b656e00000000000000000000815250905090565b6040805190810160405280601181526020017f43727970746f536f6369616c4d6564696100000000000000000000000000000081525081565b6116123382611764565b151561161d57600080fd5b6116268261194a565b151561163157600080fd5b61163c338383611983565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506116ab8261194a565b15156116b657600080fd5b6116c082846118de565b15156116cb57600080fd5b6116d6818385611983565b505050565b600060066000838152602001908152602001600020549050919050565b6040805190810160405280601681526020017f43727970746f536f6369616c4d65646961546f6b656e0000000000000000000081525081565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561188357600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561187e57600080fd5b6118db565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156118da57600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611ae157600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611b8d611dc7565b6000604080519081016040528087815260200184600019168152509150600160098054806001018281611bc09190611dea565b916000526020600020906002020160008590919091506000820151816000019080519060200190611bf2929190611e1c565b506020820151816001019060001916905550500390508063ffffffff1681141515611c1c57600080fd5b7f66f36b34b9273ae32cc04854f32e66c77c39ca9fe755ce21b1b3d70cb844ab168187878660405180858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828103825285818151815260200191508051906020019080838360005b83811015611cc7578082015181840152602081019050611cac565b50505050905090810190601f168015611cf45780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1836006600083815260200190815260200160002081905550611d2860008683611983565b505050505050565b6000806000841415611d455760009150611d64565b8284029050828482811515611d5657fe5b04141515611d6057fe5b8091505b5092915050565b6000808284811515611d7957fe5b0490508091505092915050565b6000828211151515611d9457fe5b818303905092915050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b6040805190810160405280611dda611e9c565b8152602001600080191681525090565b815481835581811511611e1757600202816002028360005260206000209182019101611e169190611eb0565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e5d57805160ff1916838001178555611e8b565b82800160010185558215611e8b579182015b82811115611e8a578251825591602001919060010190611e6f565b5b509050611e989190611ee7565b5090565b602060405190810160405280600081525090565b611ee491905b80821115611ee05760008082016000611ecf9190611f0c565b600182016000905550600201611eb6565b5090565b90565b611f0991905b80821115611f05576000816000905550600101611eed565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611f325750611f51565b601f016020900490600052602060002090810190611f509190611ee7565b5b505600a165627a7a72305820763284522bf8109168c908226877a0f5ca8b894b095fd464e0aa397ed4c2fdd90029
Deployed Bytecode
0x60606040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610143578063095ea7b3146101d15780630a0f8168146102135780630b7e9c44146102685780631051db34146102a157806318160ddd146102ce57806323b872dd146102f757806327d7874c146103585780632ba73c15146103915780633129e773146103ca57806357cdf799146104af5780636352211e1461051957806370a082311461057c5780638462151c146105c9578063880727001461065757806388888f61146106ba57806395d89b41146106df578063a3f4df7e1461076d578063a9059cbb146107fb578063b047fb501461083d578063b2e6ceeb14610892578063b9186d7d146108b5578063f76f8d78146108ec578063fe9b1a891461097a575b600080fd5b341561014e57600080fd5b6101566109dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019657808201518184015260208101905061017b565b50505050905090810190601f1680156101c35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101dc57600080fd5b610211600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a20565b005b341561021e57600080fd5b610226610af0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561027357600080fd5b61029f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b16565b005b34156102ac57600080fd5b6102b4610bd6565b604051808215151515815260200191505060405180910390f35b34156102d957600080fd5b6102e1610bdf565b6040518082815260200191505060405180910390f35b341561030257600080fd5b610356600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bec565b005b341561036357600080fd5b61038f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c3a565b005b341561039c57600080fd5b6103c8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d16565b005b34156103d557600080fd5b6103eb6004808035906020019091905050610df2565b60405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828103825286818151815260200191508051906020019080838360005b83811015610471578082015181840152602081019050610456565b50505050905090810190601f16801561049e5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34156104ba57600080fd5b610517600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560001916906020019091905050610f19565b005b341561052457600080fd5b61053a6004808035906020019091905050610f87565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058757600080fd5b6105b3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611000565b6040518082815260200191505060405180910390f35b34156105d457600080fd5b610600600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611049565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610643578082015181840152602081019050610628565b505050509050019250505060405180910390f35b341561066257600080fd5b6106786004808035906020019091905050611180565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106dd6004808035906020019091908035600019169060200190919050506111b3565b005b34156106ea57600080fd5b6106f261158c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610732578082015181840152602081019050610717565b50505050905090810190601f16801561075f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561077857600080fd5b6107806115cf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c05780820151818401526020810190506107a5565b50505050905090810190601f1680156107ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561080657600080fd5b61083b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611608565b005b341561084857600080fd5b610850611640565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561089d57600080fd5b6108b36004808035906020019091905050611666565b005b34156108c057600080fd5b6108d660048080359060200190919050506116db565b6040518082815260200191505060405180910390f35b34156108f757600080fd5b6108ff6116f8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561093f578082015181840152602081019050610924565b50505050905090810190601f16801561096c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561098557600080fd5b61099b6004808035906020019091905050611731565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109e5611d9f565b6040805190810160405280601181526020017f43727970746f536f6369616c4d65646961000000000000000000000000000000815250905090565b610a2a3382611764565b1515610a3557600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610bbf5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610bca57600080fd5b610bd3816117d0565b50565b60006001905090565b6000600980549050905090565b610bf68382611764565b1515610c0157600080fd5b610c0b82826118de565b1515610c1657600080fd5b610c1f8261194a565b1515610c2a57600080fd5b610c35838383611983565b505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cd257600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d7257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dae57600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dfa611d9f565b600080600080600986815481101515610e0f57fe5b90600052602060002090600202019050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb75780601f10610e8c57610100808354040283529160200191610eb7565b820191906000526020600020905b815481529060010190602001808311610e9a57829003601f168201915b5050505050945080600101549150600660008781526020019081526020016000205493506003600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250509193509193565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f7557600080fd5b610f83823060005484611b85565b5050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ffb57600080fd5b919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611051611db3565b600061105b611db3565b600080600061106987611000565b9450600085141561109b5760006040518059106110835750595b90808252806020026020018201604052509550611176565b846040518059106110a95750595b908082528060200260200182016040525093506110c4610bdf565b925060009150600090505b8281111515611172578673ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111655780848381518110151561114e57fe5b906020019060200201818152505081806001019250505b80806001019150506110cf565b8395505b5050505050919050565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060006003600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600660008881526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561124557600080fd5b61124e8461194a565b151561125957600080fd5b82341015151561126857600080fd5b61127d61127684605e611d30565b6064611d6b565b91506112893484611d86565b90506001548310156112c6576112aa6112a38460c8611d30565b605e611d6b565b600660008981526020019081526020016000208190555061132f565b600254831015611301576112e56112de846078611d30565b605e611d6b565b600660008981526020019081526020016000208190555061132e565b61131661130f846073611d30565b605e611d6b565b60066000898152602001908152602001600020819055505b5b61133a858589611983565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156113b0578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156113af57600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8784600660008b815260200190815260200160002054888860098d8154811015156113f757fe5b9060005260206000209060020201600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156115075780601f106114dc57610100808354040283529160200191611507565b820191906000526020600020905b8154815290600101906020018083116114ea57829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561155a57600080fd5b8560098881548110151561156a57fe5b9060005260206000209060020201600101816000191690555050505050505050565b611594611d9f565b6040805190810160405280601681526020017f43727970746f536f6369616c4d65646961546f6b656e00000000000000000000815250905090565b6040805190810160405280601181526020017f43727970746f536f6369616c4d6564696100000000000000000000000000000081525081565b6116123382611764565b151561161d57600080fd5b6116268261194a565b151561163157600080fd5b61163c338383611983565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506116ab8261194a565b15156116b657600080fd5b6116c082846118de565b15156116cb57600080fd5b6116d6818385611983565b505050565b600060066000838152602001908152602001600020549050919050565b6040805190810160405280601681526020017f43727970746f536f6369616c4d65646961546f6b656e0000000000000000000081525081565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561188357600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561187e57600080fd5b6118db565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156118da57600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611ae157600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611b8d611dc7565b6000604080519081016040528087815260200184600019168152509150600160098054806001018281611bc09190611dea565b916000526020600020906002020160008590919091506000820151816000019080519060200190611bf2929190611e1c565b506020820151816001019060001916905550500390508063ffffffff1681141515611c1c57600080fd5b7f66f36b34b9273ae32cc04854f32e66c77c39ca9fe755ce21b1b3d70cb844ab168187878660405180858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828103825285818151815260200191508051906020019080838360005b83811015611cc7578082015181840152602081019050611cac565b50505050905090810190601f168015611cf45780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1836006600083815260200190815260200160002081905550611d2860008683611983565b505050505050565b6000806000841415611d455760009150611d64565b8284029050828482811515611d5657fe5b04141515611d6057fe5b8091505b5092915050565b6000808284811515611d7957fe5b0490508091505092915050565b6000828211151515611d9457fe5b818303905092915050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b6040805190810160405280611dda611e9c565b8152602001600080191681525090565b815481835581811511611e1757600202816002028360005260206000209182019101611e169190611eb0565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e5d57805160ff1916838001178555611e8b565b82800160010185558215611e8b579182015b82811115611e8a578251825591602001919060010190611e6f565b5b509050611e989190611ee7565b5090565b602060405190810160405280600081525090565b611ee491905b80821115611ee05760008082016000611ecf9190611f0c565b600182016000905550600201611eb6565b5090565b90565b611f0991905b80821115611f05576000816000905550600101611eed565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611f325750611f51565b601f016020900490600052602060002090810190611f509190611ee7565b5b505600a165627a7a72305820763284522bf8109168c908226877a0f5ca8b894b095fd464e0aa397ed4c2fdd90029
Swarm Source
bzzr://763284522bf8109168c908226877a0f5ca8b894b095fd464e0aa397ed4c2fdd9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.