Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
5 APXS
Holders
3
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
apexSolids
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-10-10 */ pragma solidity ^0.4.24; /*** * https://apexONE.io * * apex Solids - Solids is an eternal smart contract game. * * The solids are priced by number of faces. * Price increases by 30% every flip. * Over 4 hours price will fall to base. * Holders after 4 hours with no flip can collect the holder fund. * * 10% of rise buyer gets APX1 tokens in the apexONE exchange. * 5% of rise goes to holder fund. * 5% of rise goes to team and promoters. * The rest (110%) goes to previous owner. * */ contract ERC721 { 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); } contract apexONEInterface { function isStarted() public view returns (bool); function buyFor(address _referredBy, address _customerAddress) public payable returns (uint256); } contract apexSolids is ERC721 { /*================================= = MODIFIERS = =================================*/ /// @dev Access modifier for owner functions modifier onlyOwner() { require(msg.sender == contractOwner); _; } /// @dev Prevent contract calls. modifier notContract() { require(tx.origin == msg.sender); _; } /// @dev notPaused modifier notPaused() { require(paused == false); _; } /// @dev notGasbag modifier notGasbag() { require(tx.gasprice < 99999999999); _; } /* @dev notMoron (childish but fun) modifier notMoron() { require(msg.sender != 0x41FE3738B503cBaFD01C1Fd8DD66b7fE6Ec11b01); _; } */ /*============================== = EVENTS = ==============================*/ event onTokenSold( uint256 indexed tokenId, uint256 price, address prevOwner, address newOwner, string name ); /*============================== = CONSTANTS = ==============================*/ string public constant NAME = "apex Solids"; string public constant SYMBOL = "APXS"; uint256 private increaseRatePercent = 130; uint256 private devFeePercent = 5; uint256 private bagHolderFundPercent = 5; uint256 private exchangeTokenPercent = 10; uint256 private previousOwnerPercent = 110; uint256 private priceFallDuration = 4 hours; /*============================== = STORAGE = ==============================*/ /// @dev A mapping from solid IDs to the address that owns them. mapping (uint256 => address) public solidIndexToOwner; // @dev A mapping from owner address to count of tokens that address owns. mapping (address => uint256) private ownershipTokenCount; /// @dev A mapping from SolidID to an address that has been approved to call mapping (uint256 => address) public solidIndexToApproved; // @dev The address of the owner address public contractOwner; // @dev Current dev fee uint256 public currentDevFee = 0; // @dev The address of the exchange contract address public apexONEaddress; // @dev paused bool public paused; /*============================== = DATATYPES = ==============================*/ struct Solid { string name; uint256 basePrice; uint256 highPrice; uint256 fallDuration; uint256 saleTime; // when was sold last uint256 bagHolderFund; } Solid [6] public solids; constructor () public { contractOwner = msg.sender; paused=true; Solid memory _Tetrahedron = Solid({ name: "Tetrahedron", basePrice: 0.014 ether, highPrice: 0.014 ether, fallDuration: priceFallDuration, saleTime: now, bagHolderFund: 0 }); solids[1] = _Tetrahedron; Solid memory _Cube = Solid({ name: "Cube", basePrice: 0.016 ether, highPrice: 0.016 ether, fallDuration: priceFallDuration, saleTime: now, bagHolderFund: 0 }); solids[2] = _Cube; Solid memory _Octahedron = Solid({ name: "Octahedron", basePrice: 0.018 ether, highPrice: 0.018 ether, fallDuration: priceFallDuration, saleTime: now, bagHolderFund: 0 }); solids[3] = _Octahedron; Solid memory _Dodecahedron = Solid({ name: "Dodecahedron", basePrice: 0.02 ether, highPrice: 0.02 ether, fallDuration: priceFallDuration, saleTime: now, bagHolderFund: 0 }); solids[4] = _Dodecahedron; Solid memory _Icosahedron = Solid({ name: "Icosahedron", basePrice: 0.03 ether, highPrice: 0.03 ether, fallDuration: priceFallDuration, saleTime: now, bagHolderFund: 0 }); solids[5] = _Icosahedron; _transfer(0x0, contractOwner, 1); _transfer(0x0, contractOwner, 2); _transfer(0x0, contractOwner, 3); _transfer(0x0, contractOwner, 4); _transfer(0x0, contractOwner, 5); } /*** 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)); solidIndexToApproved[_tokenId] = _to; emit 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]; } /// @notice Returns all the relevant information about a specific solid. /// @param _tokenId The tokenId of the solid of interest. function getSolid(uint256 _tokenId) public view returns ( string solidName, uint256 price, address currentOwner, uint256 bagHolderFund, bool isBagFundAvailable ) { Solid storage solid = solids[_tokenId]; solidName = solid.name; price = priceOf(_tokenId); currentOwner = solidIndexToOwner[_tokenId]; bagHolderFund = solid.bagHolderFund; isBagFundAvailable = now > (solid.saleTime + priceFallDuration); } 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 = solidIndexToOwner[_tokenId]; require(owner != address(0)); } // Allows someone to send ether and obtain the token function purchase(uint256 _tokenId , address _referredBy) public payable notContract notPaused notGasbag /*notMoron*/ { address oldOwner = solidIndexToOwner[_tokenId]; address newOwner = msg.sender; uint256 currentPrice = priceOf(_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 >= currentPrice); uint256 previousOwnerGets = SafeMath.mul(SafeMath.div(currentPrice,increaseRatePercent),previousOwnerPercent); uint256 exchangeTokensAmount = SafeMath.mul(SafeMath.div(currentPrice,increaseRatePercent),exchangeTokenPercent); uint256 devFeeAmount = SafeMath.mul(SafeMath.div(currentPrice,increaseRatePercent),devFeePercent); uint256 bagHolderFundAmount = SafeMath.mul(SafeMath.div(currentPrice,increaseRatePercent),bagHolderFundPercent); currentDevFee = currentDevFee + devFeeAmount; if (exchangeContract.isStarted()) { exchangeContract.buyFor.value(exchangeTokensAmount)(_referredBy, msg.sender); }else{ // send excess back because exchange is not ready msg.sender.transfer(exchangeTokensAmount); } // do the sale _transfer(oldOwner, newOwner, _tokenId); // set new price and saleTime solids[_tokenId].highPrice = SafeMath.mul(SafeMath.div(currentPrice,100),increaseRatePercent); solids[_tokenId].saleTime = now; solids[_tokenId].bagHolderFund+=bagHolderFundAmount; // Pay previous tokenOwner if owner is not contract if (oldOwner != address(this)) { if (oldOwner.send(previousOwnerGets)){} } emit onTokenSold(_tokenId, currentPrice, oldOwner, newOwner, solids[_tokenId].name); } function priceOf(uint256 _tokenId) public view returns (uint256 price) { Solid storage solid = solids[_tokenId]; uint256 secondsPassed = now - solid.saleTime; if (secondsPassed >= solid.fallDuration || solid.highPrice==solid.basePrice) { return solid.basePrice; } uint256 totalPriceChange = solid.highPrice - solid.basePrice; uint256 currentPriceChange = totalPriceChange * secondsPassed /solid.fallDuration; uint256 currentPrice = solid.highPrice - currentPriceChange; return currentPrice; } function collectBagHolderFund(uint256 _tokenId) public notPaused { require(msg.sender == solidIndexToOwner[_tokenId]); uint256 bagHolderFund; bool isBagFundAvailable = false; ( , , , bagHolderFund, isBagFundAvailable ) = getSolid(_tokenId); require(isBagFundAvailable && bagHolderFund > 0); uint256 amount = bagHolderFund; solids[_tokenId].bagHolderFund = 0; msg.sender.transfer(amount); } /// @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 = solidIndexToOwner[_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 tokens we are interested in. /// @dev This method MUST NEVER be called by smart contract code. 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 totalTokens = totalSupply(); uint256 resultIndex = 0; uint256 tokenId; for (tokenId = 0; tokenId <= totalTokens; tokenId++) { if (solidIndexToOwner[tokenId] == _owner) { result[resultIndex] = tokenId; resultIndex++; } } return result; } } /// For querying totalSupply of token /// @dev Required for ERC-721 compliance. function totalSupply() public view returns (uint256 total) { return 5; } /// 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 solidIndexToApproved[_tokenId] == _to; } /// Check for token ownership function _owns(address claimant, uint256 _tokenId) private view returns (bool) { return claimant == solidIndexToOwner[_tokenId]; } /// @dev Assigns ownership of a specific token to an address. function _transfer(address _from, address _to, uint256 _tokenId) private { // no transfer to contract uint length; assembly { length := extcodesize(_to) } require (length == 0); ownershipTokenCount[_to]++; //transfer ownership solidIndexToOwner[_tokenId] = _to; if (_from != address(0)) { ownershipTokenCount[_from]--; // clear any previously approved ownership exchange delete solidIndexToApproved[_tokenId]; } // Emit the transfer event. emit Transfer(_from, _to, _tokenId); } /// @dev Not a charity function collectDevFees() public onlyOwner { if (currentDevFee < address(this).balance){ uint256 amount = currentDevFee; currentDevFee = 0; contractOwner.transfer(amount); } } /// @dev Interface to exchange apexONEInterface public exchangeContract; function setExchangeAddresss(address _address) public onlyOwner { exchangeContract = apexONEInterface(_address); apexONEaddress = _address; } /// @dev stop and start function setPaused(bool _paused) public onlyOwner { paused = _paused; } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ 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":"_tokenId","type":"uint256"}],"name":"getSolid","outputs":[{"name":"solidName","type":"string"},{"name":"price","type":"uint256"},{"name":"currentOwner","type":"address"},{"name":"bagHolderFund","type":"uint256"},{"name":"isBagFundAvailable","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"solids","outputs":[{"name":"name","type":"string"},{"name":"basePrice","type":"uint256"},{"name":"highPrice","type":"uint256"},{"name":"fallDuration","type":"uint256"},{"name":"saleTime","type":"uint256"},{"name":"bagHolderFund","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":"apexONEaddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"collectDevFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setExchangeAddresss","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"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":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_referredBy","type":"address"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","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":"contractOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"solidIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentDevFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"collectBagHolderFund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"solidIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"},{"indexed":false,"name":"name","type":"string"}],"name":"onTokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
6080604052608260005560056001556005600255600a600355606e6004556138406005556000600a553480156200003557600080fd5b50620000406200067b565b6200004a6200067b565b620000546200067b565b6200005e6200067b565b620000686200067b565b60098054600160a060020a03191633179055600b805460a060020a60ff02191674010000000000000000000000000000000000000000178155604080516101008101825260c081018381527f5465747261686564726f6e00000000000000000000000000000000000000000060e083019081529082526631bced02db000060208301819052928201929092526005546060820152426080820152600060a0820152965086916012916200011e91839190620006b2565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015590505060c0604051908101604052806040805190810160405280600481526020017f437562650000000000000000000000000000000000000000000000000000000081525081526020016638d7ea4c68000081526020016638d7ea4c680000815260200160055481526020014281526020016000815250935083600c6002600681101515620001dc57fe5b600602016000820151816000019080519060200190620001fe929190620006b2565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015590505060c0604051908101604052806040805190810160405280600a81526020017f4f637461686564726f6e000000000000000000000000000000000000000000008152508152602001663ff2e795f500008152602001663ff2e795f50000815260200160055481526020014281526020016000815250925082600c6003600681101515620002bc57fe5b600602016000820151816000019080519060200190620002de929190620006b2565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015590505060c0604051908101604052806040805190810160405280600c81526020017f446f64656361686564726f6e0000000000000000000000000000000000000000815250815260200166470de4df820000815260200166470de4df820000815260200160055481526020014281526020016000815250915081600c60046006811015156200039c57fe5b600602016000820151816000019080519060200190620003be929190620006b2565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015590505060c0604051908101604052806040805190810160405280600b81526020017f49636f7361686564726f6e0000000000000000000000000000000000000000008152508152602001666a94d74f4300008152602001666a94d74f430000815260200160055481526020014281526020016000815250905080600c60056006811015156200047c57fe5b6006020160008201518160000190805190602001906200049e929190620006b2565b50602082015160018083019190915560408301516002830155606083015160038301556080830151600483015560a090920151600590910155600954620004fb91600091600160a060020a0316906401000000006200059a810204565b6009546200052090600090600160a060020a031660026401000000006200059a810204565b6009546200054590600090600160a060020a031660036401000000006200059a810204565b6009546200056a90600090600160a060020a031660046401000000006200059a810204565b6009546200058f90600090600160a060020a031660056401000000006200059a810204565b505050505062000757565b813b8015620005a857600080fd5b600160a060020a03808416600081815260076020908152604080832080546001019055868352600690915290208054600160a060020a03191690911790558416156200062a57600160a060020a03841660009081526007602090815260408083208054600019019055848352600890915290208054600160a060020a03191690555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b60c0604051908101604052806060815260200160008152602001600081526020016000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006f557805160ff191683800117855562000725565b8280016001018555821562000725579182015b828111156200072557825182559160200191906001019062000708565b506200073392915062000737565b5090565b6200075491905b808211156200073357600081556001016200073e565b90565b61144a80620007676000396000f3006080604052600436106101695763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461016e578063095ea7b3146101f85780630e3fd8c21461021e5780631051db34146102e057806316c38b3c1461030957806318160ddd146103235780631c60df061461034a57806323b872dd146103fd5780632d6e7511146104275780633f0a0797146104585780635054e8bf1461046d5780635c975abb146104825780636352211e146104975780636bb3b4a4146104af57806370a08231146104d05780638462151c146104f157806395d89b4114610562578063a3f4df7e14610577578063a9059cbb1461058c578063ae77c237146105b0578063b2e6ceeb146105c7578063b9186d7d146105df578063ce606ee0146105f7578063d070b83b1461060c578063e8b5cdf514610624578063f3aff18114610639578063f47d5ac514610651578063f76f8d7814610669575b600080fd5b34801561017a57600080fd5b5061018361067e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101bd5781810151838201526020016101a5565b50505050905090810190601f1680156101ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020457600080fd5b5061021c600160a060020a03600435166024356106b5565b005b34801561022a57600080fd5b5061023660043561073d565b604051808060200186815260200185600160a060020a0316600160a060020a0316815260200184815260200183151515158152602001828103825287818151815260200191508051906020019080838360005b838110156102a1578181015183820152602001610289565b50505050905090810190601f1680156102ce5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3480156102ec57600080fd5b506102f5610828565b604080519115158252519081900360200190f35b34801561031557600080fd5b5061021c600435151561082d565b34801561032f57600080fd5b50610338610884565b60408051918252519081900360200190f35b34801561035657600080fd5b50610362600435610889565b6040518080602001878152602001868152602001858152602001848152602001838152602001828103825288818151815260200191508051906020019080838360005b838110156103bd5781810151838201526020016103a5565b50505050905090810190601f1680156103ea5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561040957600080fd5b5061021c600160a060020a0360043581169060243516604435610949565b34801561043357600080fd5b5061043c610997565b60408051600160a060020a039092168252519081900360200190f35b34801561046457600080fd5b5061043c6109a6565b34801561047957600080fd5b5061021c6109b5565b34801561048e57600080fd5b506102f5610a25565b3480156104a357600080fd5b5061043c600435610a46565b3480156104bb57600080fd5b5061021c600160a060020a0360043516610a6f565b3480156104dc57600080fd5b50610338600160a060020a0360043516610abf565b3480156104fd57600080fd5b50610512600160a060020a0360043516610ada565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561054e578181015183820152602001610536565b505050509050019250505060405180910390f35b34801561056e57600080fd5b50610183610bac565b34801561058357600080fd5b50610183610be3565b34801561059857600080fd5b5061021c600160a060020a0360043516602435610c1a565b61021c600435600160a060020a0360243516610c4e565b3480156105d357600080fd5b5061021c60043561106a565b3480156105eb57600080fd5b506103386004356110b8565b34801561060357600080fd5b5061043c611139565b34801561061857600080fd5b5061043c600435611148565b34801561063057600080fd5b50610338611163565b34801561064557600080fd5b5061021c600435611169565b34801561065d57600080fd5b5061043c600435611237565b34801561067557600080fd5b50610183611252565b60408051808201909152600b81527f6170657820536f6c696473000000000000000000000000000000000000000000602082015290565b6106bf3382611289565b15156106ca57600080fd5b600081815260086020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03861690811790915582518481529251909233927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92592918290030190a35050565b6060600080808080600c876006811061075257fe5b60060201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292935083918301828280156107dd5780601f106107b2576101008083540402835291602001916107dd565b820191906000526020600020905b8154815290600101906020018083116107c057829003601f168201915b505050505095506107ed876110b8565b6000978852600660205260409097205460058083015490546004909301549799600160a060020a039092169790965090910142119350915050565b600190565b600954600160a060020a0316331461084457600080fd5b600b8054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b600590565b600c816006811061089657fe5b60060201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292935083918301828280156109215780601f106108f657610100808354040283529160200191610921565b820191906000526020600020905b81548152906001019060200180831161090457829003601f168201915b5050505050908060010154908060020154908060030154908060040154908060050154905086565b6109538382611289565b151561095e57600080fd5b61096882826112a9565b151561097357600080fd5b61097c826112c9565b151561098757600080fd5b6109928383836112d7565b505050565b600b54600160a060020a031681565b603054600160a060020a031681565b600954600090600160a060020a031633146109cf57600080fd5b600a5430311115610a225750600a80546000918290556009546040519192600160a060020a039091169183156108fc0291849190818181858888f19350505050158015610a20573d6000803e3d6000fd5b505b50565b600b5474010000000000000000000000000000000000000000900460ff1681565b600081815260066020526040902054600160a060020a0316801515610a6a57600080fd5b919050565b600954600160a060020a03163314610a8657600080fd5b60308054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff199283168117909155600b8054909216179055565b600160a060020a031660009081526007602052604090205490565b6060600060606000806000610aee87610abf565b9450841515610b0d576040805160008152602081019091529550610ba2565b84604051908082528060200260200182016040528015610b37578160200160208202803883390190505b509350610b42610884565b925060009150600090505b828111610b9e57600081815260066020526040902054600160a060020a0388811691161415610b9657808483815181101515610b8557fe5b602090810290910101526001909101905b600101610b4d565b8395505b5050505050919050565b60408051808201909152600481527f4150585300000000000000000000000000000000000000000000000000000000602082015290565b60408051808201909152600b81527f6170657820536f6c696473000000000000000000000000000000000000000000602082015281565b610c243382611289565b1515610c2f57600080fd5b610c38826112c9565b1515610c4357600080fd5b610a203383836112d7565b6000808080808080323314610c6257600080fd5b600b5474010000000000000000000000000000000000000000900460ff1615610c8a57600080fd5b64174876e7ff3a10610c9b57600080fd5b600089815260066020526040902054600160a060020a03169650339550610cc1896110b8565b9450600160a060020a038781169087161415610cdc57600080fd5b610ce5866112c9565b1515610cf057600080fd5b34851115610cfd57600080fd5b610d14610d0c866000546113d0565b6004546113ec565b9350610d2d610d25866000546113d0565b6003546113ec565b9250610d46610d3e866000546113d0565b6001546113ec565b9150610d5f610d57866000546113d0565b6002546113ec565b600a805484019055603054604080517f544736e60000000000000000000000000000000000000000000000000000000081529051929350600160a060020a039091169163544736e6916004808201926020929091908290030181600087803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b505050506040513d6020811015610df457600080fd5b505115610e9e57603054604080517fcaa877e7000000000000000000000000000000000000000000000000000000008152600160a060020a038b811660048301523360248301529151919092169163caa877e791869160448082019260209290919082900301818588803b158015610e6b57600080fd5b505af1158015610e7f573d6000803e3d6000fd5b50505050506040513d6020811015610e9657600080fd5b50610ecd9050565b604051339084156108fc029085906000818181858888f19350505050158015610ecb573d6000803e3d6000fd5b505b610ed887878b6112d7565b610eee610ee68660646113d0565b6000546113ec565b600c8a60068110610efb57fe5b600602016002018190555042600c8a600681101515610f1657fe5b600602016004018190555080600c8a600681101515610f3157fe5b60060201600501805491909101905530600160a060020a03881614610f7657604051600160a060020a0388169085156108fc029086906000818181858888f150505050505b887f136c8670bae1a157608c4b0201053960f4271b43daf46cbf6ac6d729033b4be6868989600c8560068110610fa857fe5b60408051868152600160a060020a038087166020830152851691810191909152608060608201818152600693909302939093018054600260001961010060018416150201909116049382018490529290919060a08301908490801561104e5780601f106110235761010080835404028352916020019161104e565b820191906000526020600020905b81548152906001019060200180831161103157829003601f168201915b50509550505050505060405180910390a2505050505050505050565b6000818152600660205260409020543390600160a060020a031661108d826112c9565b151561109857600080fd5b6110a282846112a9565b15156110ad57600080fd5b6109928183856112d7565b60008080808080600c87600681106110cc57fe5b6006020194508460040154420393508460030154841015806110f5575084600101548560020154145b156111065784600101549550610ba2565b84600101548560020154039250846003015484840281151561112457fe5b60029096015495049094039695505050505050565b600954600160a060020a031681565b600660205260009081526040902054600160a060020a031681565b600a5481565b600b546000908190819074010000000000000000000000000000000000000000900460ff161561119857600080fd5b600084815260066020526040902054600160a060020a031633146111bb57600080fd5b600091506111c88461073d565b909650945084925050811590506111df5750600083115b15156111ea57600080fd5b50816000600c85600681106111fb57fe5b600602016005015560405133906108fc8315029083906000818181858888f19350505050158015611230573d6000803e3d6000fd5b5050505050565b600860205260009081526040902054600160a060020a031681565b60408051808201909152600481527f4150585300000000000000000000000000000000000000000000000000000000602082015281565b600090815260066020526040902054600160a060020a0390811691161490565b600090815260086020526040902054600160a060020a0391821691161490565b600160a060020a0316151590565b813b80156112e457600080fd5b600160a060020a0380841660008181526007602090815260408083208054600101905586835260069091529020805473ffffffffffffffffffffffffffffffffffffffff1916909117905584161561137f57600160a060020a0384166000908152600760209081526040808320805460001901905584835260089091529020805473ffffffffffffffffffffffffffffffffffffffff191690555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b60008082848115156113de57fe5b0490508091505b5092915050565b6000808315156113ff57600091506113e5565b5082820282848281151561140f57fe5b041461141757fe5b93925050505600a165627a7a72305820c64625bcbf4dc8ce94d5f9e3e58b5578f2a7cb1fb165302ba404f90256dee7020029
Deployed Bytecode
0x6080604052600436106101695763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461016e578063095ea7b3146101f85780630e3fd8c21461021e5780631051db34146102e057806316c38b3c1461030957806318160ddd146103235780631c60df061461034a57806323b872dd146103fd5780632d6e7511146104275780633f0a0797146104585780635054e8bf1461046d5780635c975abb146104825780636352211e146104975780636bb3b4a4146104af57806370a08231146104d05780638462151c146104f157806395d89b4114610562578063a3f4df7e14610577578063a9059cbb1461058c578063ae77c237146105b0578063b2e6ceeb146105c7578063b9186d7d146105df578063ce606ee0146105f7578063d070b83b1461060c578063e8b5cdf514610624578063f3aff18114610639578063f47d5ac514610651578063f76f8d7814610669575b600080fd5b34801561017a57600080fd5b5061018361067e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101bd5781810151838201526020016101a5565b50505050905090810190601f1680156101ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020457600080fd5b5061021c600160a060020a03600435166024356106b5565b005b34801561022a57600080fd5b5061023660043561073d565b604051808060200186815260200185600160a060020a0316600160a060020a0316815260200184815260200183151515158152602001828103825287818151815260200191508051906020019080838360005b838110156102a1578181015183820152602001610289565b50505050905090810190601f1680156102ce5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3480156102ec57600080fd5b506102f5610828565b604080519115158252519081900360200190f35b34801561031557600080fd5b5061021c600435151561082d565b34801561032f57600080fd5b50610338610884565b60408051918252519081900360200190f35b34801561035657600080fd5b50610362600435610889565b6040518080602001878152602001868152602001858152602001848152602001838152602001828103825288818151815260200191508051906020019080838360005b838110156103bd5781810151838201526020016103a5565b50505050905090810190601f1680156103ea5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561040957600080fd5b5061021c600160a060020a0360043581169060243516604435610949565b34801561043357600080fd5b5061043c610997565b60408051600160a060020a039092168252519081900360200190f35b34801561046457600080fd5b5061043c6109a6565b34801561047957600080fd5b5061021c6109b5565b34801561048e57600080fd5b506102f5610a25565b3480156104a357600080fd5b5061043c600435610a46565b3480156104bb57600080fd5b5061021c600160a060020a0360043516610a6f565b3480156104dc57600080fd5b50610338600160a060020a0360043516610abf565b3480156104fd57600080fd5b50610512600160a060020a0360043516610ada565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561054e578181015183820152602001610536565b505050509050019250505060405180910390f35b34801561056e57600080fd5b50610183610bac565b34801561058357600080fd5b50610183610be3565b34801561059857600080fd5b5061021c600160a060020a0360043516602435610c1a565b61021c600435600160a060020a0360243516610c4e565b3480156105d357600080fd5b5061021c60043561106a565b3480156105eb57600080fd5b506103386004356110b8565b34801561060357600080fd5b5061043c611139565b34801561061857600080fd5b5061043c600435611148565b34801561063057600080fd5b50610338611163565b34801561064557600080fd5b5061021c600435611169565b34801561065d57600080fd5b5061043c600435611237565b34801561067557600080fd5b50610183611252565b60408051808201909152600b81527f6170657820536f6c696473000000000000000000000000000000000000000000602082015290565b6106bf3382611289565b15156106ca57600080fd5b600081815260086020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03861690811790915582518481529251909233927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92592918290030190a35050565b6060600080808080600c876006811061075257fe5b60060201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292935083918301828280156107dd5780601f106107b2576101008083540402835291602001916107dd565b820191906000526020600020905b8154815290600101906020018083116107c057829003601f168201915b505050505095506107ed876110b8565b6000978852600660205260409097205460058083015490546004909301549799600160a060020a039092169790965090910142119350915050565b600190565b600954600160a060020a0316331461084457600080fd5b600b8054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b600590565b600c816006811061089657fe5b60060201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292935083918301828280156109215780601f106108f657610100808354040283529160200191610921565b820191906000526020600020905b81548152906001019060200180831161090457829003601f168201915b5050505050908060010154908060020154908060030154908060040154908060050154905086565b6109538382611289565b151561095e57600080fd5b61096882826112a9565b151561097357600080fd5b61097c826112c9565b151561098757600080fd5b6109928383836112d7565b505050565b600b54600160a060020a031681565b603054600160a060020a031681565b600954600090600160a060020a031633146109cf57600080fd5b600a5430311115610a225750600a80546000918290556009546040519192600160a060020a039091169183156108fc0291849190818181858888f19350505050158015610a20573d6000803e3d6000fd5b505b50565b600b5474010000000000000000000000000000000000000000900460ff1681565b600081815260066020526040902054600160a060020a0316801515610a6a57600080fd5b919050565b600954600160a060020a03163314610a8657600080fd5b60308054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff199283168117909155600b8054909216179055565b600160a060020a031660009081526007602052604090205490565b6060600060606000806000610aee87610abf565b9450841515610b0d576040805160008152602081019091529550610ba2565b84604051908082528060200260200182016040528015610b37578160200160208202803883390190505b509350610b42610884565b925060009150600090505b828111610b9e57600081815260066020526040902054600160a060020a0388811691161415610b9657808483815181101515610b8557fe5b602090810290910101526001909101905b600101610b4d565b8395505b5050505050919050565b60408051808201909152600481527f4150585300000000000000000000000000000000000000000000000000000000602082015290565b60408051808201909152600b81527f6170657820536f6c696473000000000000000000000000000000000000000000602082015281565b610c243382611289565b1515610c2f57600080fd5b610c38826112c9565b1515610c4357600080fd5b610a203383836112d7565b6000808080808080323314610c6257600080fd5b600b5474010000000000000000000000000000000000000000900460ff1615610c8a57600080fd5b64174876e7ff3a10610c9b57600080fd5b600089815260066020526040902054600160a060020a03169650339550610cc1896110b8565b9450600160a060020a038781169087161415610cdc57600080fd5b610ce5866112c9565b1515610cf057600080fd5b34851115610cfd57600080fd5b610d14610d0c866000546113d0565b6004546113ec565b9350610d2d610d25866000546113d0565b6003546113ec565b9250610d46610d3e866000546113d0565b6001546113ec565b9150610d5f610d57866000546113d0565b6002546113ec565b600a805484019055603054604080517f544736e60000000000000000000000000000000000000000000000000000000081529051929350600160a060020a039091169163544736e6916004808201926020929091908290030181600087803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b505050506040513d6020811015610df457600080fd5b505115610e9e57603054604080517fcaa877e7000000000000000000000000000000000000000000000000000000008152600160a060020a038b811660048301523360248301529151919092169163caa877e791869160448082019260209290919082900301818588803b158015610e6b57600080fd5b505af1158015610e7f573d6000803e3d6000fd5b50505050506040513d6020811015610e9657600080fd5b50610ecd9050565b604051339084156108fc029085906000818181858888f19350505050158015610ecb573d6000803e3d6000fd5b505b610ed887878b6112d7565b610eee610ee68660646113d0565b6000546113ec565b600c8a60068110610efb57fe5b600602016002018190555042600c8a600681101515610f1657fe5b600602016004018190555080600c8a600681101515610f3157fe5b60060201600501805491909101905530600160a060020a03881614610f7657604051600160a060020a0388169085156108fc029086906000818181858888f150505050505b887f136c8670bae1a157608c4b0201053960f4271b43daf46cbf6ac6d729033b4be6868989600c8560068110610fa857fe5b60408051868152600160a060020a038087166020830152851691810191909152608060608201818152600693909302939093018054600260001961010060018416150201909116049382018490529290919060a08301908490801561104e5780601f106110235761010080835404028352916020019161104e565b820191906000526020600020905b81548152906001019060200180831161103157829003601f168201915b50509550505050505060405180910390a2505050505050505050565b6000818152600660205260409020543390600160a060020a031661108d826112c9565b151561109857600080fd5b6110a282846112a9565b15156110ad57600080fd5b6109928183856112d7565b60008080808080600c87600681106110cc57fe5b6006020194508460040154420393508460030154841015806110f5575084600101548560020154145b156111065784600101549550610ba2565b84600101548560020154039250846003015484840281151561112457fe5b60029096015495049094039695505050505050565b600954600160a060020a031681565b600660205260009081526040902054600160a060020a031681565b600a5481565b600b546000908190819074010000000000000000000000000000000000000000900460ff161561119857600080fd5b600084815260066020526040902054600160a060020a031633146111bb57600080fd5b600091506111c88461073d565b909650945084925050811590506111df5750600083115b15156111ea57600080fd5b50816000600c85600681106111fb57fe5b600602016005015560405133906108fc8315029083906000818181858888f19350505050158015611230573d6000803e3d6000fd5b5050505050565b600860205260009081526040902054600160a060020a031681565b60408051808201909152600481527f4150585300000000000000000000000000000000000000000000000000000000602082015281565b600090815260066020526040902054600160a060020a0390811691161490565b600090815260086020526040902054600160a060020a0391821691161490565b600160a060020a0316151590565b813b80156112e457600080fd5b600160a060020a0380841660008181526007602090815260408083208054600101905586835260069091529020805473ffffffffffffffffffffffffffffffffffffffff1916909117905584161561137f57600160a060020a0384166000908152600760209081526040808320805460001901905584835260089091529020805473ffffffffffffffffffffffffffffffffffffffff191690555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b60008082848115156113de57fe5b0490508091505b5092915050565b6000808315156113ff57600091506113e5565b5082820282848281151561140f57fe5b041461141757fe5b93925050505600a165627a7a72305820c64625bcbf4dc8ce94d5f9e3e58b5578f2a7cb1fb165302ba404f90256dee7020029
Swarm Source
bzzr://c64625bcbf4dc8ce94d5f9e3e58b5578f2a7cb1fb165302ba404f90256dee702
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.