More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 819 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Buy | 7434035 | 2041 days ago | IN | 0.002 ETH | 0.00012456 | ||||
Buy | 7434028 | 2041 days ago | IN | 0.016 ETH | 0.00012456 | ||||
Buy | 7314523 | 2059 days ago | IN | 0.001 ETH | 0.00030998 | ||||
Buy | 6873750 | 2143 days ago | IN | 0.008 ETH | 0.00037368 | ||||
Buy | 6873746 | 2143 days ago | IN | 0.016 ETH | 0.00037368 | ||||
Buy | 6872821 | 2143 days ago | IN | 0.016 ETH | 0.00037368 | ||||
Buy | 6872819 | 2143 days ago | IN | 0.016 ETH | 0.00043596 | ||||
Buy | 6872817 | 2143 days ago | IN | 0.016 ETH | 0.00043596 | ||||
Buy | 6872814 | 2143 days ago | IN | 0.016 ETH | 0.00043596 | ||||
Buy | 6872808 | 2143 days ago | IN | 0.016 ETH | 0.00016095 | ||||
Buy | 6872806 | 2143 days ago | IN | 0.016 ETH | 0.00043596 | ||||
Buy | 6872801 | 2143 days ago | IN | 0.016 ETH | 0.00054096 | ||||
Buy | 6871370 | 2143 days ago | IN | 0.008 ETH | 0.0003864 | ||||
Buy | 6355704 | 2228 days ago | IN | 0.001 ETH | 0.00031248 | ||||
Buy | 6355704 | 2228 days ago | IN | 0.002 ETH | 0.00011497 | ||||
Buy | 6355576 | 2228 days ago | IN | 0.002 ETH | 0.0003114 | ||||
Buy | 6355569 | 2228 days ago | IN | 0.001 ETH | 0.00031248 | ||||
Buy | 6355508 | 2228 days ago | IN | 0.004 ETH | 0.0003864 | ||||
Buy | 6036850 | 2282 days ago | IN | 0.002 ETH | 0.00013078 | ||||
Buy | 6036850 | 2282 days ago | IN | 0.002 ETH | 0.00014656 | ||||
Buy | 6036749 | 2282 days ago | IN | 0.001 ETH | 0.00018749 | ||||
Buy | 6031727 | 2283 days ago | IN | 0.001 ETH | 0.00030998 | ||||
Buy | 5948074 | 2297 days ago | IN | 0.001 ETH | 0.00069747 | ||||
Buy | 5473250 | 2379 days ago | IN | 0.001 ETH | 0.00015499 | ||||
Buy | 5268819 | 2414 days ago | IN | 0.016 ETH | 0.00023184 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
7434035 | 2041 days ago | 0.0017 ETH | ||||
7434028 | 2041 days ago | 0.0136 ETH | ||||
7314523 | 2059 days ago | 0.00085 ETH | ||||
6873750 | 2143 days ago | 0.0068 ETH | ||||
6873746 | 2143 days ago | 0.0136 ETH | ||||
6872821 | 2143 days ago | 0.0136 ETH | ||||
6872819 | 2143 days ago | 0.0136 ETH | ||||
6872817 | 2143 days ago | 0.0136 ETH | ||||
6872814 | 2143 days ago | 0.0136 ETH | ||||
6872806 | 2143 days ago | 0.0136 ETH | ||||
6872801 | 2143 days ago | 0.0136 ETH | ||||
6871370 | 2143 days ago | 0.0068 ETH | ||||
6355704 | 2228 days ago | 0.00085 ETH | ||||
6355576 | 2228 days ago | 0.0017 ETH | ||||
6355569 | 2228 days ago | 0.00085 ETH | ||||
6355508 | 2228 days ago | 0.0034 ETH | ||||
6036850 | 2282 days ago | 0.0017 ETH | ||||
6036850 | 2282 days ago | 0.0017 ETH | ||||
6036749 | 2282 days ago | 0.00085 ETH | ||||
6031727 | 2283 days ago | 0.00085 ETH | ||||
5948074 | 2297 days ago | 0.00085 ETH | ||||
5473250 | 2379 days ago | 0.00085 ETH | ||||
5268819 | 2414 days ago | 0.0136 ETH | ||||
5228161 | 2421 days ago | 0.0304 ETH | ||||
5226568 | 2421 days ago | 0.0068 ETH |
Loading...
Loading
Contract Name:
ChemistryCore
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-03-05 */ pragma solidity ^0.4.19; contract ERC721 { // Required methods function totalSupply() public view returns (uint256 total); function balanceOf(address _owner) public view returns (uint256 balance); function ownerOf(uint256 _tokenId) external view returns (address owner); function approve(address _to, uint256 _tokenId) external; function transfer(address _to, uint256 _tokenId) external; function transferFrom(address _from, address _to, uint256 _tokenId) external; function takeOwnership(uint256 _tokenId) external; // Events event Transfer(address from, address to, uint256 tokenId); event Approval(address owner, address approved, uint256 tokenId); // Optional // function name() public view returns (string name); // function symbol() public view returns (string symbol); // function tokensOfOwner(address _owner) external view returns (uint256[] tokenIds); // function tokenMetadata(uint256 _tokenId, string _preferredTransport) public view returns (string infoUrl); function supportsInterface(bytes4 _interfaceID) external view returns (bool); } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public{ owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner(){ require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner{ require(newOwner != address(0)); owner = newOwner; } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev modifier to allow actions only when the contract IS paused */ modifier whenNotPaused(){ require(!paused); _; } /** * @dev modifier to allow actions only when the contract IS NOT paused */ modifier whenPaused{ require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused { paused = true; Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused { paused = false; Unpause(); } } 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 ChemistryBase is Ownable { struct Element{ bytes32 symbol; } /*** EVENTS ***/ event Create(address owner, uint256 atomicNumber, bytes32 symbol); /// @dev Transfer event as defined in current draft of ERC721. Emitted every time a element /// ownership is assigned. event Transfer(address from, address to, uint256 tokenId); /*** CONSTANTS ***/ // currently known number of elements in periodic table uint256 public tableSize = 173; /*** STORAGE ***/ /// @dev An array containing the element struct for all Elements in existence. The ID /// of each element is actually an index of this array. Element[] public elements; /// @dev A mapping from element IDs to the address that owns them. All elements have /// some valid owner address, even miner elements are created with a non-zero owner. mapping (uint256 => address) public elementToOwner; // @dev A mapping from owner address to count of tokens that address owns. // Used internally inside balanceOf() to resolve ownership count. mapping (address => uint256) internal ownersTokenCount; /// @dev A mapping from element IDs to an address that has been approved to call /// transferFrom(). Each Element can only have one approved address for transfer /// at any time. A zero value means no approval is outstanding. mapping (uint256 => address) public elementToApproved; mapping (address => bool) public authorized; mapping (uint256 => uint256) public currentPrice; function addAuthorization (address _authorized) onlyOwner external { authorized[_authorized] = true; } function removeAuthorization (address _authorized) onlyOwner external { delete authorized[_authorized]; } modifier onlyAuthorized() { require(authorized[msg.sender]); _; } /// @dev Assigns ownership of a specific element to an address. function _transfer(address _from, address _to, uint256 _tokenId) internal { // Since the number of elements is capped to 'numberOfElements'(173) we can't overflow this ownersTokenCount[_to]++; // transfer ownership elementToOwner[_tokenId] = _to; // When creating new element _from is 0x0, but we can't account that address. if (_from != address(0)) { ownersTokenCount[_from]--; // clear any previously approved ownership exchange delete elementToApproved[_tokenId]; } // Emit the transfer event. Transfer(_from, _to, _tokenId); } /// @dev An internal method that creates a new element and stores it. This /// method doesn't do any checking and should only be called when the /// input data is known to be valid. Will generate both a Arise event /// and a Transfer event. function _createElement(bytes32 _symbol, uint256 _price) internal returns (uint256) { address owner = address(this); Element memory _element = Element({ symbol : _symbol }); uint256 newElementId = elements.push(_element) - 1; currentPrice[newElementId] = _price; // emit the create event Create(owner, newElementId, _symbol); // This will assign ownership, and also emit the Transfer event as // per ERC721 draft _transfer(0, owner, newElementId); return newElementId; } function setTableSize(uint256 _newSize) external onlyOwner { tableSize = _newSize; } function transferOwnership(address newOwner) public onlyOwner{ delete authorized[owner]; authorized[newOwner] = true; super.transferOwnership(newOwner); } } contract ElementTokenImpl is ChemistryBase, ERC721 { /// @notice Name and symbol of the non fungible token, as defined in ERC721. string public constant name = "CryptoChemistry"; string public constant symbol = "CC"; bytes4 constant InterfaceSignature_ERC165 = bytes4(keccak256('supportsInterface(bytes4)')); bytes4 constant InterfaceSignature_ERC721 = bytes4(keccak256('name()')) ^ bytes4(keccak256('symbol()')) ^ bytes4(keccak256('totalSupply()')) ^ bytes4(keccak256('balanceOf(address)')) ^ bytes4(keccak256('ownerOf(uint256)')) ^ bytes4(keccak256('approve(address,uint256)')) ^ bytes4(keccak256('transfer(address,uint256)')) ^ bytes4(keccak256('transferFrom(address,address,uint256)')) ^ bytes4(keccak256('takeOwnership(uint256)')) ^ bytes4(keccak256('tokensOfOwner(address)')); /// @notice Introspection interface as per ERC-165 (https://github.com/ethereum/EIPs/issues/165). /// Returns true for any standardized interfaces implemented by this contract. We implement /// ERC-165 and ERC-721. function supportsInterface(bytes4 _interfaceID) external view returns (bool) { return ((_interfaceID == InterfaceSignature_ERC165) || (_interfaceID == InterfaceSignature_ERC721)); } /** @dev Checks if a given address is the current owner of the specified Element tokenId. * @param _claimant the address we are validating against. * @param _tokenId element id */ function _owns(address _claimant, uint256 _tokenId) internal view returns (bool) { return elementToOwner[_tokenId] == _claimant; } function _ownerApproved(address _claimant, uint256 _tokenId) internal view returns (bool) { return elementToOwner[_tokenId] == _claimant && elementToApproved[_tokenId] == address(0); } /// @dev Checks if a given address currently has transferApproval for a particular element. /// @param _claimant the address we are confirming element is approved for. /// @param _tokenId element id function _approvedFor(address _claimant, uint256 _tokenId) internal view returns (bool) { return elementToApproved[_tokenId] == _claimant; } /// @dev Marks an address as being approved for transferFrom(), overwriting any previous /// approval. Setting _approved to address(0) clears all transfer approval. /// NOTE: _approve() does NOT send the Approval event. function _approve(uint256 _tokenId, address _approved) internal { elementToApproved[_tokenId] = _approved; } /// @notice Returns the number of tokens owned by a specific address. /// @param _owner The owner address to check. /// @dev Required for ERC-721 compliance function balanceOf(address _owner) public view returns (uint256 count) { return ownersTokenCount[_owner]; } /// @notice Transfers a element to another address /// @param _to The address of the recipient, can be a user or contract. /// @param _tokenId The ID of the element to transfer. /// @dev Required for ERC-721 compliance. function transfer(address _to, uint256 _tokenId) external { // Safety check to prevent against an unexpected 0x0 default. require(_to != address(0)); // Disallow transfers to this contract to prevent accidental misuse. require(_to != address(this)); // You can only send your own element. require(_owns(msg.sender, _tokenId)); // Reassign ownership, clear pending approvals, emit Transfer event. _transfer(msg.sender, _to, _tokenId); } /// @notice Grant another address the right to transfer a specific element via /// transferFrom(). This is the preferred flow for transfering NFTs to contracts. /// @param _to The address to be granted transfer approval. Pass address(0) to /// clear all approvals. /// @param _tokenId The ID of the element that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function approve(address _to, uint256 _tokenId) external { // Only an owner can grant transfer approval. require(_owns(msg.sender, _tokenId)); // Register the approval (replacing any previous approval). _approve(_tokenId, _to); // Emit approval event. Approval(msg.sender, _to, _tokenId); } /// @notice Transfer a element owned by another address, for which the calling address /// has previously been granted transfer approval by the owner. /// @param _from The address that owns the element to be transfered. /// @param _to The address that should take ownership of the element. Can be any address, /// including the caller. /// @param _tokenId The ID of the element to be transferred. /// @dev Required for ERC-721 compliance. function transferFrom(address _from, address _to, uint256 _tokenId) external { // Safety check to prevent against an unexpected 0x0 default. require(_to != address(0)); // Disallow transfers to this contract to prevent accidental misuse. require(_to != address(this)); // Check for approval and valid ownership require(_approvedFor(msg.sender, _tokenId)); require(_owns(_from, _tokenId)); // Reassign ownership (also clears pending approvals and emits Transfer event). _transfer(_from, _to, _tokenId); } /// @notice Returns the total number of tokens currently in existence. /// @dev Required for ERC-721 compliance. function totalSupply() public view returns (uint256) { return elements.length; } /// @notice Returns the address currently assigned ownership of a given element. /// @dev Required for ERC-721 compliance. function ownerOf(uint256 _tokenId) external view returns (address owner) { owner = elementToOwner[_tokenId]; require(owner != address(0)); } function takeOwnership(uint256 _tokenId) external { address _from = elementToOwner[_tokenId]; // Check for approval and valid ownership require(_approvedFor(msg.sender, _tokenId)); require(_from != address(0)); // Reassign ownership (also clears pending approvals and emits Transfer event). _transfer(_from, msg.sender, _tokenId); } /// @notice Returns a list of all element IDs assigned to an address. /// @param _owner The owner whose tokens we are interested in. function tokensOfOwner(address _owner) external 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 totalElements = totalSupply(); uint256 resultIndex = 0; uint256 elementId; for (elementId = 0; elementId < totalElements; elementId++) { if (elementToOwner[elementId] == _owner) { result[resultIndex] = elementId; resultIndex++; } } return result; } } } contract ContractOfSale is ElementTokenImpl { using SafeMath for uint256; event Sold (uint256 elementId, address oldOwner, address newOwner, uint256 price); uint256 private constant LIMIT_1 = 20 finney; uint256 private constant LIMIT_2 = 500 finney; uint256 private constant LIMIT_3 = 2000 finney; uint256 private constant LIMIT_4 = 5000 finney; /* Buying */ function calculateNextPrice (uint256 _price) public pure returns (uint256 _nextPrice) { if (_price < LIMIT_1) { return _price.mul(2);//100% } else if (_price < LIMIT_2) { return _price.mul(13500).div(10000);//35% } else if (_price < LIMIT_3) { return _price.mul(12500).div(10000);//25% } else if (_price < LIMIT_4) { return _price.mul(11700).div(10000);//17% } else { return _price.mul(11500).div(10000);//15% } } function _calculateOwnerCut (uint256 _price) internal pure returns (uint256 _devCut) { if (_price < LIMIT_1) { return _price.mul(1500).div(10000); // 15% } else if (_price < LIMIT_2) { return _price.mul(500).div(10000); // 5% } else if (_price < LIMIT_3) { return _price.mul(400).div(10000); // 4% } else if (_price < LIMIT_4) { return _price.mul(300).div(10000); // 3% } else { return _price.mul(200).div(10000); // 2% } } function buy (uint256 _itemId) external payable{ uint256 price = currentPrice[_itemId]; // require(currentPrice[_itemId] > 0); // require(elementToOwner[_itemId] != address(0)); // require(msg.value >= price); // require(elementToOwner[_itemId] != msg.sender); // require(msg.sender != address(0)); address oldOwner = elementToOwner[_itemId]; // address newOwner = msg.sender; // // uint256 excess = msg.value.sub(price); // _transfer(oldOwner, newOwner, _itemId); // currentPrice[_itemId] = calculateNextPrice(price); Sold(_itemId, oldOwner, newOwner, price); uint256 ownerCut = _calculateOwnerCut(price); oldOwner.transfer(price.sub(ownerCut)); if (excess > 0) { newOwner.transfer(excess); } } function priceOfElement(uint256 _elementId) external view returns (uint256 _price) { return currentPrice[_elementId]; } function priceOfElements(uint256[] _elementIds) external view returns (uint256[] _prices) { uint256 length = _elementIds.length; _prices = new uint256[](length); for(uint256 i = 0; i < length; i++) { _prices[i] = currentPrice[_elementIds[i]]; } } function nextPriceOfElement(uint256 _itemId) public view returns (uint256 _nextPrice) { return calculateNextPrice(currentPrice[_itemId]); } } contract ChemistryCore is ContractOfSale { function ChemistryCore() public { owner = msg.sender; authorized[msg.sender] = true; _createElement("0", 2 ** 255);//philosophers stone is priceless } function addElement(bytes32 _symbol) external onlyAuthorized() { uint256 elementId = elements.length + 1; require(currentPrice[elementId] == 0); require(elementToOwner[elementId] == address(0)); require(elementId <= tableSize + 1); _createElement(_symbol, 1 finney); } function addElements(bytes32[] _symbols) external onlyAuthorized() { uint256 elementId = elements.length + 1; uint256 length = _symbols.length; uint256 size = tableSize + 1; for(uint256 i = 0; i < length; i ++) { require(currentPrice[elementId] == 0); require(elementToOwner[elementId] == address(0)); require(elementId <= size); _createElement(_symbols[i], 1 finney); elementId++; } } function withdrawAll() onlyOwner() external { owner.transfer(this.balance); } function withdrawAmount(uint256 _amount) onlyOwner() external { owner.transfer(_amount); } function() external payable { require(msg.sender == address(this)); } function getElementsFromIndex(uint32 indexFrom, uint32 count) external view returns (bytes32[] memory elementsData) { //check length uint256 lenght = (elements.length - indexFrom >= count ? count : elements.length - indexFrom); elementsData = new bytes32[](lenght); for(uint256 i = 0; i < lenght; i ++) { elementsData[i] = elements[indexFrom + i].symbol; } } function getElementOwners(uint256[] _elementIds) external view returns (address[] memory owners) { uint256 lenght = _elementIds.length; owners = new address[](lenght); for(uint256 i = 0; i < lenght; i ++) { owners[i] = elementToOwner[_elementIds[i]]; } } function getElementView(uint256 _id) external view returns (string symbol) { symbol = _bytes32ToString(elements[_id].symbol); } function getElement(uint256 _id) external view returns (bytes32 symbol) { symbol = elements[_id].symbol; } function getElements(uint256[] _elementIds) external view returns (bytes32[] memory elementsData) { elementsData = new bytes32[](_elementIds.length); for(uint256 i = 0; i < _elementIds.length; i++) { elementsData[i] = elements[_elementIds[i]].symbol; } } function getElementInfoView(uint256 _itemId) external view returns (address _owner, uint256 _price, uint256 _nextPrice, string _symbol) { _price = currentPrice[_itemId]; return (elementToOwner[_itemId], _price, calculateNextPrice(_price), _bytes32ToString(elements[_itemId].symbol)); } function getElementInfo(uint256 _itemId) external view returns (address _owner, uint256 _price, uint256 _nextPrice, bytes32 _symbol) { _price = currentPrice[_itemId]; return (elementToOwner[_itemId], _price, calculateNextPrice(_price), elements[_itemId].symbol); } function _bytes32ToString(bytes32 data) internal pure returns (string) { bytes memory bytesString = new bytes(32); uint charCount = 0; for (uint j = 0; j < 32; j++) { byte char = byte(bytes32(uint256(data) * 2 ** (8 * j))); if (char != 0) { bytesString[charCount] = char; charCount++; } } bytes memory bytesStringTrimmed = new bytes(charCount); for (j = 0; j < charCount; j++) { bytesStringTrimmed[j] = bytesString[j]; } return string(bytesStringTrimmed); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_elementId","type":"uint256"}],"name":"priceOfElement","outputs":[{"name":"_price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdrawAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbols","type":"bytes32[]"}],"name":"addElements","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_itemId","type":"uint256"}],"name":"nextPriceOfElement","outputs":[{"name":"_nextPrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"bytes32"}],"name":"addElement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_authorized","type":"address"}],"name":"addAuthorization","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"getElement","outputs":[{"name":"symbol","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_elementIds","type":"uint256[]"}],"name":"getElementOwners","outputs":[{"name":"owners","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"elementToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_elementIds","type":"uint256[]"}],"name":"getElements","outputs":[{"name":"elementsData","type":"bytes32[]"}],"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":"_elementIds","type":"uint256[]"}],"name":"priceOfElements","outputs":[{"name":"_prices","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"getElementView","outputs":[{"name":"symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"currentPrice","outputs":[{"name":"","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":false,"inputs":[],"name":"withdrawAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_authorized","type":"address"}],"name":"removeAuthorization","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_itemId","type":"uint256"}],"name":"getElementInfo","outputs":[{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"},{"name":"_nextPrice","type":"uint256"},{"name":"_symbol","type":"bytes32"}],"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":"_itemId","type":"uint256"}],"name":"getElementInfoView","outputs":[{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"},{"name":"_nextPrice","type":"uint256"},{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"elementToApproved","outputs":[{"name":"","type":"address"}],"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":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"authorized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"indexFrom","type":"uint32"},{"name":"count","type":"uint32"}],"name":"getElementsFromIndex","outputs":[{"name":"elementsData","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tableSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_itemId","type":"uint256"}],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_price","type":"uint256"}],"name":"calculateNextPrice","outputs":[{"name":"_nextPrice","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"elements","outputs":[{"name":"symbol","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newSize","type":"uint256"}],"name":"setTableSize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"elementId","type":"uint256"},{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"},{"indexed":false,"name":"price","type":"uint256"}],"name":"Sold","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":false,"name":"owner","type":"address"},{"indexed":false,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"atomicNumber","type":"uint256"},{"indexed":false,"name":"symbol","type":"bytes32"}],"name":"Create","type":"event"}]
Contract Creation Code
606060405260ad60015534156200001557600080fd5b60008054600160a060020a033316600160a060020a03199182168117909116811782558152600660205260409020805460ff19166001179055620000a87f30000000000000000000000000000000000000000000000000000000000000007f800000000000000000000000000000000000000000000000000000000000000064010000000062001744620000af82021704565b50620002c2565b600080620000bc62000260565b6000309250602060405190810160405286815260028054919350600191808301620000e8838262000272565b60009283526020909220859101815190555003600081815260076020526040908190208790559091507f2d49e37741dfbdb18a354011122af0d6b3bc41a42d6b1efa3919635173c02fc09084908390899051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a162000180600084836401000000006200182a6200018982021704565b95945050505050565b600160a060020a03808316600081815260046020908152604080832080546001019055858352600390915290208054600160a060020a03191690911790558316156200020b57600160a060020a03831660009081526004602090815260408083208054600019019055838352600590915290208054600160a060020a03191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a1505050565b60206040519081016040526000815290565b8154818355818115116200029957600083815260209020620002999181019083016200029e565b505050565b620002bf91905b80821115620002bb5760008155600101620002a5565b5090565b90565b611cb780620002d26000396000f3006060604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101f957806303c49580146102455780630562b9f71461026d57806306fdde0314610283578063095ea7b31461030d578063128952e41461032f57806318160ddd1461034d57806323b872dd146103605780632864ddde146103885780633440465e1461039e57806335b28153146103b45780633a7d22bc146103d35780633a98c533146103e9578063438a13491461045a578063630c010e1461048c5780636352211e146104aa5780636b8fd600146104c057806370a08231146104de57806370d0cc86146104fd5780637a3c4c17146105135780638462151c14610529578063853828b6146105485780638da5cb5b1461055b57806394f3f81d1461056e5780639584894c1461058d57806395d89b41146105d95780639738b602146105ec578063a3ce534914610699578063a9059cbb146106af578063b2e6ceeb146106d1578063b9181611146106e7578063c037d9ce14610706578063d403011414610728578063d96a094a1461073b578063e08503ec14610746578063e0d64b371461075c578063f2fde38b14610772578063fa88532914610791575b30600160a060020a031633600160a060020a03161415156101f757600080fd5b005b341561020457600080fd5b6102317fffffffff00000000000000000000000000000000000000000000000000000000600435166107a7565b604051901515815260200160405180910390f35b341561025057600080fd5b61025b600435610a2e565b60405190815260200160405180910390f35b341561027857600080fd5b6101f7600435610a40565b341561028e57600080fd5b610296610a91565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102d25780820151838201526020016102ba565b50505050905090810190601f1680156102ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561031857600080fd5b6101f7600160a060020a0360043516602435610ac8565b341561033a57600080fd5b6101f76004803560248101910135610b3b565b341561035857600080fd5b61025b610c09565b341561036b57600080fd5b6101f7600160a060020a0360043581169060243516604435610c10565b341561039357600080fd5b61025b600435610c80565b34156103a957600080fd5b6101f7600435610c98565b34156103bf57600080fd5b6101f7600160a060020a0360043516610d23565b34156103de57600080fd5b61025b600435610d62565b34156103f457600080fd5b6104076004803560248101910135610d85565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561044657808201518382015260200161042e565b505050509050019250505060405180910390f35b341561046557600080fd5b610470600435610e24565b604051600160a060020a03909116815260200160405180910390f35b341561049757600080fd5b6104076004803560248101910135610e3f565b34156104b557600080fd5b610470600435610ec9565b34156104cb57600080fd5b6104076004803560248101910135610eed565b34156104e957600080fd5b61025b600160a060020a0360043516610f6a565b341561050857600080fd5b610296600435610f85565b341561051e57600080fd5b61025b600435610fb0565b341561053457600080fd5b610407600160a060020a0360043516610fc2565b341561055357600080fd5b6101f76110a4565b341561056657600080fd5b6104706110fa565b341561057957600080fd5b6101f7600160a060020a0360043516611109565b341561059857600080fd5b6105a3600435611145565b604051600160a060020a039094168452602084019290925260408084019190915260608301919091526080909101905180910390f35b34156105e457600080fd5b61029661119f565b34156105f757600080fd5b6106026004356111d6565b604051600160a060020a0385168152602081018490526040810183905260806060820181815290820183818151815260200191508051906020019080838360005b8381101561065b578082015183820152602001610643565b50505050905090810190601f1680156106885780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34156106a457600080fd5b610470600435611235565b34156106ba57600080fd5b6101f7600160a060020a0360043516602435611250565b34156106dc57600080fd5b6101f76004356112aa565b34156106f257600080fd5b610231600160a060020a03600435166112f7565b341561071157600080fd5b61040763ffffffff6004358116906024351661130c565b341561073357600080fd5b61025b6113bb565b6101f76004356113c1565b341561075157600080fd5b61025b600435611589565b341561076757600080fd5b61025b60043561164e565b341561077d57600080fd5b6101f7600160a060020a036004351661166d565b341561079c57600080fd5b6101f76004356116c9565b60006040517f737570706f727473496e7465726661636528627974657334290000000000000081526019016040518091039020600160e060020a03191682600160e060020a0319161480610a2657506040517f746f6b656e734f664f776e657228616464726573732900000000000000000000815260160160405180910390206040517f74616b654f776e6572736869702875696e743235362900000000000000000000815260160160405180910390206040517f7472616e7366657246726f6d28616464726573732c616464726573732c75696e81527f7432353629000000000000000000000000000000000000000000000000000000602082015260250160405180910390206040517f7472616e7366657228616464726573732c75696e743235362900000000000000815260190160405180910390206040517f617070726f766528616464726573732c75696e74323536290000000000000000815260180160405180910390206040517f6f776e65724f662875696e743235362900000000000000000000000000000000815260100160405180910390206040517f62616c616e63654f662861646472657373290000000000000000000000000000815260120160405180910390206040517f746f74616c537570706c792829000000000000000000000000000000000000008152600d0160405180910390206040517f73796d626f6c2829000000000000000000000000000000000000000000000000815260080160405180910390206040517f6e616d652829000000000000000000000000000000000000000000000000000081526006016040518091039020181818181818181818600160e060020a03191682600160e060020a031916145b90505b919050565b60009081526007602052604090205490565b60005433600160a060020a03908116911614610a5b57600080fd5b600054600160a060020a031681156108fc0282604051600060405180830381858888f193505050501515610a8e57600080fd5b50565b60408051908101604052600f81527f43727970746f4368656d69737472790000000000000000000000000000000000602082015281565b610ad233826116e9565b1515610add57600080fd5b610ae78183611709565b7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925338383604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a15050565b600160a060020a03331660009081526006602052604081205481908190819060ff161515610b6857600080fd5b50506002546001805491810193508492500160005b82811015610c015760008481526007602052604090205415610b9e57600080fd5b600084815260036020526040902054600160a060020a031615610bc057600080fd5b81841115610bcd57600080fd5b610bf4868683818110610bdc57fe5b905060200201356000191666038d7ea4c68000611744565b5060019384019301610b7d565b505050505050565b6002545b90565b600160a060020a0382161515610c2557600080fd5b30600160a060020a031682600160a060020a031614151515610c4657600080fd5b610c50338261180a565b1515610c5b57600080fd5b610c6583826116e9565b1515610c7057600080fd5b610c7b83838361182a565b505050565b600081815260076020526040812054610a2690611589565b600160a060020a03331660009081526006602052604081205460ff161515610cbf57600080fd5b5060025460010160008181526007602052604090205415610cdf57600080fd5b600081815260036020526040902054600160a060020a031615610d0157600080fd5b6001805401811115610d1257600080fd5b610c7b8266038d7ea4c68000611744565b60005433600160a060020a03908116911614610d3e57600080fd5b600160a060020a03166000908152600660205260409020805460ff19166001179055565b6000600282815481101515610d7357fe5b60009182526020909120015492915050565b610d8d611c3c565b81600081604051805910610d9e5750595b90808252806020026020018201604052509250600090505b81811015610e1c5760036000868684818110610dce57fe5b6020908102929092013583525081019190915260400160002054600160a060020a0316838281518110610dfd57fe5b600160a060020a03909216602092830290910190910152600101610db6565b505092915050565b600360205260009081526040902054600160a060020a031681565b610e47611c3c565b600082604051805910610e575750595b90808252806020026020018201604052509150600090505b82811015610ec2576002848483818110610e8557fe5b90506020020135815481101515610e9857fe5b600091825260209091200154828281518110610eb057fe5b60209081029091010152600101610e6f565b5092915050565b600081815260036020526040902054600160a060020a0316801515610a2957600080fd5b610ef5611c3c565b81600081604051805910610f065750595b90808252806020026020018201604052509250600090505b81811015610e1c5760076000868684818110610f3657fe5b90506020020135815260200190815260200160002054838281518110610f5857fe5b60209081029091010152600101610f1e565b600160a060020a031660009081526004602052604090205490565b610f8d611c3c565b610a26600283815481101515610f9f57fe5b60009182526020909120015461191a565b60076020526000908152604090205481565b610fca611c3c565b6000610fd4611c3c565b6000806000610fe287610f6a565b9450841515611012576000604051805910610ffa5750595b9080825280602002602001820160405250955061109a565b846040518059106110205750595b9080825280602002602001820160405250935061103b610c09565b925060009150600090505b8281101561109657600081815260036020526040902054600160a060020a038881169116141561108e578084838151811061107d57fe5b602090810290910101526001909101905b600101611046565b8395505b5050505050919050565b60005433600160a060020a039081169116146110bf57600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156110f857600080fd5b565b600054600160a060020a031681565b60005433600160a060020a0390811691161461112457600080fd5b600160a060020a03166000908152600660205260409020805460ff19169055565b600081815260076020908152604080832054600390925282205482908190600160a060020a03168361117681611589565b600280548990811061118457fe5b60009182526020909120015492989197509550909350915050565b60408051908101604052600281527f4343000000000000000000000000000000000000000000000000000000000000602082015281565b60008060006111e3611c3c565b600085815260076020908152604080832054600390925290912054909350600160a060020a03168361121481611589565b611226600289815481101515610f9f57fe5b93509350935093509193509193565b600560205260009081526040902054600160a060020a031681565b600160a060020a038216151561126557600080fd5b30600160a060020a031682600160a060020a03161415151561128657600080fd5b61129033826116e9565b151561129b57600080fd5b6112a633838361182a565b5050565b600081815260036020526040902054600160a060020a03166112cc338361180a565b15156112d757600080fd5b600160a060020a03811615156112ec57600080fd5b6112a681338461182a565b60066020526000908152604090205460ff1681565b611314611c3c565b6000808363ffffffff168563ffffffff166002805490500310156113435760025463ffffffff8616900361134b565b8363ffffffff165b91508160405180591061135b5750595b90808252806020026020018201604052509250600090505b81811015610e1c576002805463ffffffff8716830190811061139157fe5b6000918252602090912001548382815181106113a957fe5b60209081029091010152600101611373565b60015481565b600081815260076020526040812054908080808085116113e057600080fd5b600086815260036020526040902054600160a060020a0316151561140357600080fd5b348590101561141157600080fd5b60008681526003602052604090205433600160a060020a039081169116141561143957600080fd5b33600160a060020a0316151561144e57600080fd5b600086815260036020526040902054600160a060020a0316935033925061147b348663ffffffff611aca16565b915061148884848861182a565b61149185611589565b60076000888152602001908152602001600020819055507f23f50d55776d8003622a982ade45a6c7f083116c8dbbcd980f59942f440badb186858588604051938452600160a060020a039283166020850152911660408084019190915260608301919091526080909101905180910390a161150b85611adc565b9050600160a060020a0384166108fc61152a878463ffffffff611aca16565b9081150290604051600060405180830381858888f19350505050151561154f57600080fd5b6000821115610c0157600160a060020a03831682156108fc0283604051600060405180830381858888f193505050501515610c0157600080fd5b600066470de4df8200008210156115b2576115ab82600263ffffffff611b9416565b9050610a29565b6706f05b59d3b200008210156115e6576115ab6127106115da846134bc63ffffffff611b9416565b9063ffffffff611bc616565b671bc16d674ec8000082101561160e576115ab6127106115da846130d463ffffffff611b9416565b674563918244f40000821015611636576115ab6127106115da84612db463ffffffff611b9416565b6115ab6127106115da84612cec63ffffffff611b9416565b600280548290811061165c57fe5b600091825260209091200154905081565b60005433600160a060020a0390811691161461168857600080fd5b60008054600160a060020a03908116825260066020526040808320805460ff19908116909155918416835290912080549091166001179055610a8e81611bdd565b60005433600160a060020a039081169116146116e457600080fd5b600155565b600090815260036020526040902054600160a060020a0391821691161490565b600091825260056020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60008061174f611c3c565b60003092506020604051908101604052868152600280549193506001918083016117798382611c4e565b60009283526020909220859101815190555003600081815260076020526040908190208790559091507f2d49e37741dfbdb18a354011122af0d6b3bc41a42d6b1efa3919635173c02fc09084908390899051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a16118016000848361182a565b95945050505050565b600090815260056020526040902054600160a060020a0391821691161490565b600160a060020a0380831660008181526004602090815260408083208054600101905585835260039091529020805473ffffffffffffffffffffffffffffffffffffffff191690911790558316156118c557600160a060020a0383166000908152600460209081526040808320805460001901905583835260059091529020805473ffffffffffffffffffffffffffffffffffffffff191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a1505050565b611922611c3c565b61192a611c3c565b6000806000611937611c3c565b60206040518059106119465750595b818152601f19601f83011681016020016040529050945060009350600092505b60208310156119f1576008830260020a870291507fff000000000000000000000000000000000000000000000000000000000000008216156119e657818585815181106119af57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001909301925b600190920191611966565b836040518059106119ff5750595b818152601f19601f830116810160200160405290509050600092505b83831015611ac057848381518110611a2f57fe5b01602001517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002818481518110611a8557fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190920191611a1b565b9695505050505050565b600082821115611ad657fe5b50900390565b600066470de4df820000821015611b05576115ab6127106115da846105dc63ffffffff611b9416565b6706f05b59d3b20000821015611b2d576115ab6127106115da846101f463ffffffff611b9416565b671bc16d674ec80000821015611b55576115ab6127106115da8461019063ffffffff611b9416565b674563918244f40000821015611b7d576115ab6127106115da8461012c63ffffffff611b9416565b6115ab6127106115da8460c863ffffffff611b9416565b600080831515611ba75760009150610ec2565b50828202828482811515611bb757fe5b0414611bbf57fe5b9392505050565b6000808284811515611bd457fe5b04949350505050565b60005433600160a060020a03908116911614611bf857600080fd5b600160a060020a0381161515611c0d57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60206040519081016040526000815290565b815481835581811511610c7b57600083815260209020610c7b918101908301610c0d91905b80821115611c875760008155600101611c73565b50905600a165627a7a723058200be9c02cb501ccfd354664c3a4ccc82dff25dd614b3f299e49bc73aefac9e7300029
Deployed Bytecode
0x6060604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101f957806303c49580146102455780630562b9f71461026d57806306fdde0314610283578063095ea7b31461030d578063128952e41461032f57806318160ddd1461034d57806323b872dd146103605780632864ddde146103885780633440465e1461039e57806335b28153146103b45780633a7d22bc146103d35780633a98c533146103e9578063438a13491461045a578063630c010e1461048c5780636352211e146104aa5780636b8fd600146104c057806370a08231146104de57806370d0cc86146104fd5780637a3c4c17146105135780638462151c14610529578063853828b6146105485780638da5cb5b1461055b57806394f3f81d1461056e5780639584894c1461058d57806395d89b41146105d95780639738b602146105ec578063a3ce534914610699578063a9059cbb146106af578063b2e6ceeb146106d1578063b9181611146106e7578063c037d9ce14610706578063d403011414610728578063d96a094a1461073b578063e08503ec14610746578063e0d64b371461075c578063f2fde38b14610772578063fa88532914610791575b30600160a060020a031633600160a060020a03161415156101f757600080fd5b005b341561020457600080fd5b6102317fffffffff00000000000000000000000000000000000000000000000000000000600435166107a7565b604051901515815260200160405180910390f35b341561025057600080fd5b61025b600435610a2e565b60405190815260200160405180910390f35b341561027857600080fd5b6101f7600435610a40565b341561028e57600080fd5b610296610a91565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102d25780820151838201526020016102ba565b50505050905090810190601f1680156102ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561031857600080fd5b6101f7600160a060020a0360043516602435610ac8565b341561033a57600080fd5b6101f76004803560248101910135610b3b565b341561035857600080fd5b61025b610c09565b341561036b57600080fd5b6101f7600160a060020a0360043581169060243516604435610c10565b341561039357600080fd5b61025b600435610c80565b34156103a957600080fd5b6101f7600435610c98565b34156103bf57600080fd5b6101f7600160a060020a0360043516610d23565b34156103de57600080fd5b61025b600435610d62565b34156103f457600080fd5b6104076004803560248101910135610d85565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561044657808201518382015260200161042e565b505050509050019250505060405180910390f35b341561046557600080fd5b610470600435610e24565b604051600160a060020a03909116815260200160405180910390f35b341561049757600080fd5b6104076004803560248101910135610e3f565b34156104b557600080fd5b610470600435610ec9565b34156104cb57600080fd5b6104076004803560248101910135610eed565b34156104e957600080fd5b61025b600160a060020a0360043516610f6a565b341561050857600080fd5b610296600435610f85565b341561051e57600080fd5b61025b600435610fb0565b341561053457600080fd5b610407600160a060020a0360043516610fc2565b341561055357600080fd5b6101f76110a4565b341561056657600080fd5b6104706110fa565b341561057957600080fd5b6101f7600160a060020a0360043516611109565b341561059857600080fd5b6105a3600435611145565b604051600160a060020a039094168452602084019290925260408084019190915260608301919091526080909101905180910390f35b34156105e457600080fd5b61029661119f565b34156105f757600080fd5b6106026004356111d6565b604051600160a060020a0385168152602081018490526040810183905260806060820181815290820183818151815260200191508051906020019080838360005b8381101561065b578082015183820152602001610643565b50505050905090810190601f1680156106885780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34156106a457600080fd5b610470600435611235565b34156106ba57600080fd5b6101f7600160a060020a0360043516602435611250565b34156106dc57600080fd5b6101f76004356112aa565b34156106f257600080fd5b610231600160a060020a03600435166112f7565b341561071157600080fd5b61040763ffffffff6004358116906024351661130c565b341561073357600080fd5b61025b6113bb565b6101f76004356113c1565b341561075157600080fd5b61025b600435611589565b341561076757600080fd5b61025b60043561164e565b341561077d57600080fd5b6101f7600160a060020a036004351661166d565b341561079c57600080fd5b6101f76004356116c9565b60006040517f737570706f727473496e7465726661636528627974657334290000000000000081526019016040518091039020600160e060020a03191682600160e060020a0319161480610a2657506040517f746f6b656e734f664f776e657228616464726573732900000000000000000000815260160160405180910390206040517f74616b654f776e6572736869702875696e743235362900000000000000000000815260160160405180910390206040517f7472616e7366657246726f6d28616464726573732c616464726573732c75696e81527f7432353629000000000000000000000000000000000000000000000000000000602082015260250160405180910390206040517f7472616e7366657228616464726573732c75696e743235362900000000000000815260190160405180910390206040517f617070726f766528616464726573732c75696e74323536290000000000000000815260180160405180910390206040517f6f776e65724f662875696e743235362900000000000000000000000000000000815260100160405180910390206040517f62616c616e63654f662861646472657373290000000000000000000000000000815260120160405180910390206040517f746f74616c537570706c792829000000000000000000000000000000000000008152600d0160405180910390206040517f73796d626f6c2829000000000000000000000000000000000000000000000000815260080160405180910390206040517f6e616d652829000000000000000000000000000000000000000000000000000081526006016040518091039020181818181818181818600160e060020a03191682600160e060020a031916145b90505b919050565b60009081526007602052604090205490565b60005433600160a060020a03908116911614610a5b57600080fd5b600054600160a060020a031681156108fc0282604051600060405180830381858888f193505050501515610a8e57600080fd5b50565b60408051908101604052600f81527f43727970746f4368656d69737472790000000000000000000000000000000000602082015281565b610ad233826116e9565b1515610add57600080fd5b610ae78183611709565b7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925338383604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a15050565b600160a060020a03331660009081526006602052604081205481908190819060ff161515610b6857600080fd5b50506002546001805491810193508492500160005b82811015610c015760008481526007602052604090205415610b9e57600080fd5b600084815260036020526040902054600160a060020a031615610bc057600080fd5b81841115610bcd57600080fd5b610bf4868683818110610bdc57fe5b905060200201356000191666038d7ea4c68000611744565b5060019384019301610b7d565b505050505050565b6002545b90565b600160a060020a0382161515610c2557600080fd5b30600160a060020a031682600160a060020a031614151515610c4657600080fd5b610c50338261180a565b1515610c5b57600080fd5b610c6583826116e9565b1515610c7057600080fd5b610c7b83838361182a565b505050565b600081815260076020526040812054610a2690611589565b600160a060020a03331660009081526006602052604081205460ff161515610cbf57600080fd5b5060025460010160008181526007602052604090205415610cdf57600080fd5b600081815260036020526040902054600160a060020a031615610d0157600080fd5b6001805401811115610d1257600080fd5b610c7b8266038d7ea4c68000611744565b60005433600160a060020a03908116911614610d3e57600080fd5b600160a060020a03166000908152600660205260409020805460ff19166001179055565b6000600282815481101515610d7357fe5b60009182526020909120015492915050565b610d8d611c3c565b81600081604051805910610d9e5750595b90808252806020026020018201604052509250600090505b81811015610e1c5760036000868684818110610dce57fe5b6020908102929092013583525081019190915260400160002054600160a060020a0316838281518110610dfd57fe5b600160a060020a03909216602092830290910190910152600101610db6565b505092915050565b600360205260009081526040902054600160a060020a031681565b610e47611c3c565b600082604051805910610e575750595b90808252806020026020018201604052509150600090505b82811015610ec2576002848483818110610e8557fe5b90506020020135815481101515610e9857fe5b600091825260209091200154828281518110610eb057fe5b60209081029091010152600101610e6f565b5092915050565b600081815260036020526040902054600160a060020a0316801515610a2957600080fd5b610ef5611c3c565b81600081604051805910610f065750595b90808252806020026020018201604052509250600090505b81811015610e1c5760076000868684818110610f3657fe5b90506020020135815260200190815260200160002054838281518110610f5857fe5b60209081029091010152600101610f1e565b600160a060020a031660009081526004602052604090205490565b610f8d611c3c565b610a26600283815481101515610f9f57fe5b60009182526020909120015461191a565b60076020526000908152604090205481565b610fca611c3c565b6000610fd4611c3c565b6000806000610fe287610f6a565b9450841515611012576000604051805910610ffa5750595b9080825280602002602001820160405250955061109a565b846040518059106110205750595b9080825280602002602001820160405250935061103b610c09565b925060009150600090505b8281101561109657600081815260036020526040902054600160a060020a038881169116141561108e578084838151811061107d57fe5b602090810290910101526001909101905b600101611046565b8395505b5050505050919050565b60005433600160a060020a039081169116146110bf57600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156110f857600080fd5b565b600054600160a060020a031681565b60005433600160a060020a0390811691161461112457600080fd5b600160a060020a03166000908152600660205260409020805460ff19169055565b600081815260076020908152604080832054600390925282205482908190600160a060020a03168361117681611589565b600280548990811061118457fe5b60009182526020909120015492989197509550909350915050565b60408051908101604052600281527f4343000000000000000000000000000000000000000000000000000000000000602082015281565b60008060006111e3611c3c565b600085815260076020908152604080832054600390925290912054909350600160a060020a03168361121481611589565b611226600289815481101515610f9f57fe5b93509350935093509193509193565b600560205260009081526040902054600160a060020a031681565b600160a060020a038216151561126557600080fd5b30600160a060020a031682600160a060020a03161415151561128657600080fd5b61129033826116e9565b151561129b57600080fd5b6112a633838361182a565b5050565b600081815260036020526040902054600160a060020a03166112cc338361180a565b15156112d757600080fd5b600160a060020a03811615156112ec57600080fd5b6112a681338461182a565b60066020526000908152604090205460ff1681565b611314611c3c565b6000808363ffffffff168563ffffffff166002805490500310156113435760025463ffffffff8616900361134b565b8363ffffffff165b91508160405180591061135b5750595b90808252806020026020018201604052509250600090505b81811015610e1c576002805463ffffffff8716830190811061139157fe5b6000918252602090912001548382815181106113a957fe5b60209081029091010152600101611373565b60015481565b600081815260076020526040812054908080808085116113e057600080fd5b600086815260036020526040902054600160a060020a0316151561140357600080fd5b348590101561141157600080fd5b60008681526003602052604090205433600160a060020a039081169116141561143957600080fd5b33600160a060020a0316151561144e57600080fd5b600086815260036020526040902054600160a060020a0316935033925061147b348663ffffffff611aca16565b915061148884848861182a565b61149185611589565b60076000888152602001908152602001600020819055507f23f50d55776d8003622a982ade45a6c7f083116c8dbbcd980f59942f440badb186858588604051938452600160a060020a039283166020850152911660408084019190915260608301919091526080909101905180910390a161150b85611adc565b9050600160a060020a0384166108fc61152a878463ffffffff611aca16565b9081150290604051600060405180830381858888f19350505050151561154f57600080fd5b6000821115610c0157600160a060020a03831682156108fc0283604051600060405180830381858888f193505050501515610c0157600080fd5b600066470de4df8200008210156115b2576115ab82600263ffffffff611b9416565b9050610a29565b6706f05b59d3b200008210156115e6576115ab6127106115da846134bc63ffffffff611b9416565b9063ffffffff611bc616565b671bc16d674ec8000082101561160e576115ab6127106115da846130d463ffffffff611b9416565b674563918244f40000821015611636576115ab6127106115da84612db463ffffffff611b9416565b6115ab6127106115da84612cec63ffffffff611b9416565b600280548290811061165c57fe5b600091825260209091200154905081565b60005433600160a060020a0390811691161461168857600080fd5b60008054600160a060020a03908116825260066020526040808320805460ff19908116909155918416835290912080549091166001179055610a8e81611bdd565b60005433600160a060020a039081169116146116e457600080fd5b600155565b600090815260036020526040902054600160a060020a0391821691161490565b600091825260056020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60008061174f611c3c565b60003092506020604051908101604052868152600280549193506001918083016117798382611c4e565b60009283526020909220859101815190555003600081815260076020526040908190208790559091507f2d49e37741dfbdb18a354011122af0d6b3bc41a42d6b1efa3919635173c02fc09084908390899051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a16118016000848361182a565b95945050505050565b600090815260056020526040902054600160a060020a0391821691161490565b600160a060020a0380831660008181526004602090815260408083208054600101905585835260039091529020805473ffffffffffffffffffffffffffffffffffffffff191690911790558316156118c557600160a060020a0383166000908152600460209081526040808320805460001901905583835260059091529020805473ffffffffffffffffffffffffffffffffffffffff191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a1505050565b611922611c3c565b61192a611c3c565b6000806000611937611c3c565b60206040518059106119465750595b818152601f19601f83011681016020016040529050945060009350600092505b60208310156119f1576008830260020a870291507fff000000000000000000000000000000000000000000000000000000000000008216156119e657818585815181106119af57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001909301925b600190920191611966565b836040518059106119ff5750595b818152601f19601f830116810160200160405290509050600092505b83831015611ac057848381518110611a2f57fe5b01602001517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002818481518110611a8557fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190920191611a1b565b9695505050505050565b600082821115611ad657fe5b50900390565b600066470de4df820000821015611b05576115ab6127106115da846105dc63ffffffff611b9416565b6706f05b59d3b20000821015611b2d576115ab6127106115da846101f463ffffffff611b9416565b671bc16d674ec80000821015611b55576115ab6127106115da8461019063ffffffff611b9416565b674563918244f40000821015611b7d576115ab6127106115da8461012c63ffffffff611b9416565b6115ab6127106115da8460c863ffffffff611b9416565b600080831515611ba75760009150610ec2565b50828202828482811515611bb757fe5b0414611bbf57fe5b9392505050565b6000808284811515611bd457fe5b04949350505050565b60005433600160a060020a03908116911614611bf857600080fd5b600160a060020a0381161515611c0d57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60206040519081016040526000815290565b815481835581811511610c7b57600083815260209020610c7b918101908301610c0d91905b80821115611c875760008155600101611c73565b50905600a165627a7a723058200be9c02cb501ccfd354664c3a4ccc82dff25dd614b3f299e49bc73aefac9e7300029
Swarm Source
bzzr://0be9c02cb501ccfd354664c3a4ccc82dff25dd614b3f299e49bc73aefac9e730
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $2,493.34 | 1.0946 | $2,729.29 |
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.