ETH Price: $1,714.61 (-3.44%)
Gas: 23 Gwei

Token

Cointorox (OROX)
 

Overview

Max Total Supply

0 OROX

Holders

1,072 (0.00%)

Total Transfers

-

Market

Price

$0.00 @ 0.000000 ETH

Fully Diluted Market Cap

$0.00

Circulating Supply Market Cap

$1,015.21

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Cointorox is a Comprehensive Cryptocurrency Ecosystem Consisting of an AI & Machine-Learning Powered Trading Signal Service, Marketplace, Decentralized Wallet Supporting Atomic Swaps, Blockchain Games, and an Airdrop Central.

Market

Volume (24H):$0.00
Market Capitalization:$1,015.21
Circulating Supply:5,525,108.00 OROX
Market Data Source: Coinmarketcap

ICO Information

Project Sector : Finance
ICO Start Date : Nov 15, 2018
ICO End Date : Jan 13, 2019
Total Cap : 10,000,000 OROX
Hard Cap : 17,500 ETH
Token Distribution Date : Jan 15, 2019
ICO Price  : 0.0025 ETH (1 ETH = 400 OROX)
Bonus : 10% for referral
Country : Estonia

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Cointorox

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-11-25
*/

pragma solidity 0.4.25; /*


___________________________________________________________________
  _      _                                        ______           
  |  |  /          /                                /              
--|-/|-/-----__---/----__----__---_--_----__-------/-------__------
  |/ |/    /___) /   /   ' /   ) / /  ) /___)     /      /   )     
__/__|____(___ _/___(___ _(___/_/_/__/_(___ _____/______(___/__o_o_


 ██████╗ ██████╗ ██╗███╗   ██╗████████╗ ██████╗ ██████╗  ██████╗ ██╗  ██╗
██╔════╝██╔═══██╗██║████╗  ██║╚══██╔══╝██╔═══██╗██╔══██╗██╔═══██╗╚██╗██╔╝
██║     ██║   ██║██║██╔██╗ ██║   ██║   ██║   ██║██████╔╝██║   ██║ ╚███╔╝ 
██║     ██║   ██║██║██║╚██╗██║   ██║   ██║   ██║██╔══██╗██║   ██║ ██╔██╗ 
╚██████╗╚██████╔╝██║██║ ╚████║   ██║   ╚██████╔╝██║  ██║╚██████╔╝██╔╝ ██╗
 ╚═════╝ ╚═════╝ ╚═╝╚═╝  ╚═══╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝
                                                                         

// ----------------------------------------------------------------------------
// 'Cointorox' Token contract with following features
//      => ERC20 Compliance
//      => Higher control of ICO by owner
//      => selfdestruct ability by owner
//      => SafeMath implementation 
//      => User whitelisting
//      => Burnable and no minting
//
// Name        : Cointorox
// Symbol      : OROX
// Total supply: 10,000,000 (10 Million)
// Decimals    : 18
//
// Copyright (c) 2018 Cointorox Inc. ( https://cointorox.com )
// Contract designed by EtherAuthority ( https://EtherAuthority.io )
// ----------------------------------------------------------------------------
  
*/ 

//*******************************************************************//
//------------------------ SafeMath Library -------------------------//
//*******************************************************************//
    /**
     * @title SafeMath
     * @dev Math operations with safety checks that throw on error
     */
    library SafeMath {
      function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
          return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
      }
    
      function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
      }
    
      function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
      }
    
      function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
      }
    }


//*******************************************************************//
//------------------ Contract to Manage Ownership -------------------//
//*******************************************************************//
    
    contract owned {
        address public owner;
        
         constructor () public {
            owner = msg.sender;
        }
    
        modifier onlyOwner {
            require(msg.sender == owner);
            _;
        }
    
        function transferOwnership(address newOwner) onlyOwner public {
            owner = newOwner;
        }
    }
    
    interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes  _extraData) external; }


//***************************************************************//
//------------------ ERC20 Standard Template -------------------//
//***************************************************************//
    
    contract TokenERC20 {
        // Public variables of the token
        using SafeMath for uint256;
        string public name;
        string public symbol;
        uint8 public decimals = 18; // 18 decimals is the strongly suggested default, avoid changing it
        uint256 public totalSupply;
        bool public safeguard = false;  //putting safeguard on will halt all non-owner functions
    
        // This creates an array with all balances
        mapping (address => uint256) public balanceOf;
        mapping (address => mapping (address => uint256)) public allowance;
    
        // This generates a public event on the blockchain that will notify clients
        event Transfer(address indexed from, address indexed to, uint256 value);
    
        // This notifies clients about the amount burnt
        event Burn(address indexed from, uint256 value);
    
        /**
         * Constrctor function
         *
         * Initializes contract with initial supply tokens to the creator of the contract
         */
        constructor (
            uint256 initialSupply,
            string memory tokenName,
            string memory tokenSymbol
        ) public {
            totalSupply = initialSupply.mul(1 ether);       // Update total supply with the decimal amount
            balanceOf[msg.sender] = totalSupply;            // All the tokens will be sent to owner
            name = tokenName;                               // Set the name for display purposes
            symbol = tokenSymbol;                           // Set the symbol for display purposes
        }
    
        /**
         * Internal transfer, only can be called by this contract
         */
        function _transfer(address _from, address _to, uint _value) internal {
            require(!safeguard);
            // Prevent transfer to 0x0 address. Use burn() instead
            require(_to != address(0x0));
            // Check if the sender has enough
            require(balanceOf[_from] >= _value);
            // Check for overflows
            require(balanceOf[_to].add(_value) > balanceOf[_to]);
            // Save this for an assertion in the future
            uint previousBalances = balanceOf[_from].add(balanceOf[_to]);
            // Subtract from the sender
            balanceOf[_from] = balanceOf[_from].sub(_value);
            // Add the same to the recipient
            balanceOf[_to] = balanceOf[_to].add(_value);
            emit Transfer(_from, _to, _value);
            // Asserts are used to use static analysis to find bugs in your code. They should never fail
            assert(balanceOf[_from].add(balanceOf[_to]) == previousBalances);
        }
    
        /**
         * Transfer tokens
         *
         * Send `_value` tokens to `_to` from your account
         *
         * @param _to The address of the recipient
         * @param _value the amount to send
         */
        function transfer(address _to, uint256 _value) public returns (bool success) {
            _transfer(msg.sender, _to, _value);
            return true;
        }
    
        /**
         * Transfer tokens from other address
         *
         * Send `_value` tokens to `_to` in behalf of `_from`
         *
         * @param _from The address of the sender
         * @param _to The address of the recipient
         * @param _value the amount to send
         */
        function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
            require(!safeguard);
            require(_value <= allowance[_from][msg.sender]);     // Check allowance
            allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);
            _transfer(_from, _to, _value);
            return true;
        }
    
        /**
         * Set allowance for other address
         *
         * Allows `_spender` to spend no more than `_value` tokens in your behalf
         *
         * @param _spender The address authorized to spend
         * @param _value the max amount they can spend
         */
        function approve(address _spender, uint256 _value) public
            returns (bool success) {
            require(!safeguard);
            allowance[msg.sender][_spender] = _value;
            return true;
        }
    
        /**
         * Set allowance for other address and notify
         *
         * Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it
         *
         * @param _spender The address authorized to spend
         * @param _value the max amount they can spend
         * @param _extraData some extra information to send to the approved contract
         */
        function approveAndCall(address _spender, uint256 _value, bytes memory _extraData)
            public
            returns (bool success) {
            require(!safeguard);
            tokenRecipient spender = tokenRecipient(_spender);
            if (approve(_spender, _value)) {
                spender.receiveApproval(msg.sender, _value, address(this), _extraData);
                return true;
            }
        }
    
        /**
         * Destroy tokens
         *
         * Remove `_value` tokens from the system irreversibly
         *
         * @param _value the amount of money to burn
         */
        function burn(uint256 _value) public returns (bool success) {
            require(!safeguard);
            require(balanceOf[msg.sender] >= _value);   // Check if the sender has enough
            balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);            // Subtract from the sender
            totalSupply = totalSupply.sub(_value);                      // Updates totalSupply
            emit Burn(msg.sender, _value);
            return true;
        }
    
        /**
         * Destroy tokens from other account
         *
         * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
         *
         * @param _from the address of the sender
         * @param _value the amount of money to burn
         */
        function burnFrom(address _from, uint256 _value) public returns (bool success) {
            require(!safeguard);
            require(balanceOf[_from] >= _value);                // Check if the targeted balance is enough
            require(_value <= allowance[_from][msg.sender]);    // Check allowance
            balanceOf[_from] = balanceOf[_from].sub(_value);                         // Subtract from the targeted balance
            allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);             // Subtract from the sender's allowance
            totalSupply = totalSupply.sub(_value);                              // Update totalSupply
            emit  Burn(_from, _value);
            return true;
        }
        
    }
    
//****************************************************************************//
//---------------------  COINTOROX MAIN CODE STARTS HERE ---------------------//
//****************************************************************************//
    
    contract Cointorox is owned, TokenERC20 {
        
        /*************************************/
        /*  User whitelisting functionality  */
        /*************************************/
        bool public whitelistingStatus = false;
        mapping (address => bool) public whitelisted;
        
        /**
         * Change whitelisting status on or off
         *
         * When whitelisting is true, then crowdsale will only accept investors who are whitelisted.
         */
        function changeWhitelistingStatus() onlyOwner public{
            if (whitelistingStatus == false){
                whitelistingStatus = true;
            }
            else{
                whitelistingStatus = false;    
            }
        }
        
        /**
         * Whitelist any user address - only Owner can do this
         *
         * It will add user address in whitelisted mapping
         */
        function whitelistUser(address userAddress) onlyOwner public{
            require(whitelistingStatus == true);
            require(userAddress != address(0x0));
            whitelisted[userAddress] = true;
        }
        
        /**
         * Whitelist Many user address at once - only Owner can do this
         * It will require maximum of 150 addresses to prevent block gas limit max-out and DoS attack
         * It will add user address in whitelisted mapping
         */
        function whitelistManyUsers(address[] memory userAddresses) onlyOwner public{
            require(whitelistingStatus == true);
            uint256 addressCount = userAddresses.length;
            require(addressCount <= 150);
            for(uint256 i = 0; i < addressCount; i++){
                require(userAddresses[i] != address(0x0));
                whitelisted[userAddresses[i]] = true;
            }
        }
        
        
        
        /*********************************/
        /* Code for the ERC20 OROX Token */
        /*********************************/
    
        /* Public variables of the token */
        string private tokenName = "Cointorox";
        string private tokenSymbol = "OROX";
        uint256 private initialSupply = 10000000;  //10 Million
        
        
        /* Records for the fronzen accounts */
        mapping (address => bool) public frozenAccount;
        
        /* This generates a public event on the blockchain that will notify clients */
        event FrozenFunds(address target, bool frozen);
    
        /* Initializes contract with initial supply tokens to the creator of the contract */
        constructor () TokenERC20(initialSupply, tokenName, tokenSymbol) public {}

        /* Internal transfer, only can be called by this contract */
        function _transfer(address _from, address _to, uint _value) internal {
            require(!safeguard);
            require (_to != address(0x0));                      // Prevent transfer to 0x0 address. Use burn() instead
            require (balanceOf[_from] >= _value);               // Check if the sender has enough
            require (balanceOf[_to].add(_value) >= balanceOf[_to]); // Check for overflows
            require(!frozenAccount[_from]);                     // Check if sender is frozen
            require(!frozenAccount[_to]);                       // Check if recipient is frozen
            balanceOf[_from] = balanceOf[_from].sub(_value);    // Subtract from the sender
            balanceOf[_to] = balanceOf[_to].add(_value);        // Add the same to the recipient
            emit Transfer(_from, _to, _value);
        }
        
        /// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens
        /// @param target Address to be frozen
        /// @param freeze either to freeze it or not
        function freezeAccount(address target, bool freeze) onlyOwner public {
                frozenAccount[target] = freeze;
            emit  FrozenFunds(target, freeze);
        }

          
        //Just in rare case, owner wants to transfer Ether from contract to owner address
        function manualWithdrawEther()onlyOwner public{
            address(owner).transfer(address(this).balance);
        }
        
        //selfdestruct function. just in case owner decided to destruct this contract.
        function destructContract()onlyOwner public{
            selfdestruct(owner);
        }
        
        /**
         * Change safeguard status on or off
         *
         * When safeguard is true, then all the non-owner functions will stop working.
         * When safeguard is false, then all the functions will resume working back again!
         */
        function changeSafeguardStatus() onlyOwner public{
            if (safeguard == false){
                safeguard = true;
            }
            else{
                safeguard = false;    
            }
        }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"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":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"userAddress","type":"address"}],"name":"whitelistUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"changeSafeguardStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"manualWithdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"userAddresses","type":"address[]"}],"name":"whitelistManyUsers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"changeWhitelistingStatus","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":"destructContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"safeguard","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"whitelistingStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

6003805460ff19908116601217909155600580548216905560088054909116905560c0604052600960808190527f436f696e746f726f78000000000000000000000000000000000000000000000060a09081526200006191600a9190620002a1565b506040805180820190915260048082527f4f524f58000000000000000000000000000000000000000000000000000000006020909201918252620000a891600b91620002a1565b5062989680600c55348015620000bd57600080fd5b50600c54600a805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156200014b5780601f106200011f576101008083540402835291602001916200014b565b820191906000526020600020905b8154815290600101906020018083116200012d57829003601f168201915b5050600b8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815295509193509150830182828015620001dd5780601f10620001b157610100808354040283529160200191620001dd565b820191906000526020600020905b815481529060010190602001808311620001bf57829003601f168201915b505060008054600160a060020a0319163317905550620002189150849050670de0b6b3a764000064010000000062000fa66200026782021704565b6004819055336000908152600660209081526040909120919091558251620002479160019190850190620002a1565b5080516200025d906002906020840190620002a1565b5050505062000346565b6000808315156200027c57600091506200029a565b508282028284828115156200028d57fe5b04146200029657fe5b8091505b5092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e457805160ff191683800117855562000314565b8280016001018555821562000314579182015b8281111562000314578251825591602001919060010190620002f7565b506200032292915062000326565b5090565b6200034391905b808211156200032257600081556001016200032d565b90565b610ffd80620003566000396000f3006080604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020f57806323b872dd14610236578063313ce5671461026057806342966c681461028b5780634a4c560d146102a35780634bec8335146102c65780635954c8c5146102db57806370a08231146102f057806375ee19081461031157806379cc6790146103665780637ec69c501461038a5780638da5cb5b1461039f5780639499e018146103d057806395d89b41146103e5578063a9059cbb146103fa578063b414d4b61461041e578063b57dbdc61461043f578063bd694af214610454578063cae9ca5114610469578063d936547e146104d2578063dd62ed3e146104f3578063e724529c1461051a578063f2fde38b14610540575b600080fd5b34801561015957600080fd5b50610162610561565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019c578181015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e357600080fd5b506101fb600160a060020a03600435166024356105ee565b604080519115158252519081900360200190f35b34801561021b57600080fd5b5061022461062f565b60408051918252519081900360200190f35b34801561024257600080fd5b506101fb600160a060020a0360043581169060243516604435610635565b34801561026c57600080fd5b506102756106e5565b6040805160ff9092168252519081900360200190f35b34801561029757600080fd5b506101fb6004356106ee565b3480156102af57600080fd5b506102c4600160a060020a03600435166107a1565b005b3480156102d257600080fd5b506102c4610805565b3480156102e757600080fd5b506102c4610847565b3480156102fc57600080fd5b50610224600160a060020a036004351661089c565b34801561031d57600080fd5b50604080516020600480358082013583810280860185019096528085526102c4953695939460249493850192918291850190849080828437509497506108ae9650505050505050565b34801561037257600080fd5b506101fb600160a060020a036004351660243561097c565b34801561039657600080fd5b506102c4610acc565b3480156103ab57600080fd5b506103b4610b0d565b60408051600160a060020a039092168252519081900360200190f35b3480156103dc57600080fd5b506102c4610b1c565b3480156103f157600080fd5b50610162610b41565b34801561040657600080fd5b506101fb600160a060020a0360043516602435610b99565b34801561042a57600080fd5b506101fb600160a060020a0360043516610baf565b34801561044b57600080fd5b506101fb610bc4565b34801561046057600080fd5b506101fb610bcd565b34801561047557600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101fb948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610bd69650505050505050565b3480156104de57600080fd5b506101fb600160a060020a0360043516610d03565b3480156104ff57600080fd5b50610224600160a060020a0360043581169060243516610d18565b34801561052657600080fd5b506102c4600160a060020a03600435166024351515610d35565b34801561054c57600080fd5b506102c4600160a060020a0360043516610db0565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e65780601f106105bb576101008083540402835291602001916105e6565b820191906000526020600020905b8154815290600101906020018083116105c957829003601f168201915b505050505081565b60055460009060ff161561060157600080fd5b50336000908152600760209081526040808320600160a060020a039590951683529390529190912055600190565b60045481565b60055460009060ff161561064857600080fd5b600160a060020a038416600090815260076020908152604080832033845290915290205482111561067857600080fd5b600160a060020a03841660009081526007602090815260408083203384529091529020546106ac908363ffffffff610df616565b600160a060020a03851660009081526007602090815260408083203384529091529020556106db848484610e08565b5060019392505050565b60035460ff1681565b60055460009060ff161561070157600080fd5b3360009081526006602052604090205482111561071d57600080fd5b3360009081526006602052604090205461073d908363ffffffff610df616565b33600090815260066020526040902055600454610760908363ffffffff610df616565b60045560408051838152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2506001919050565b600054600160a060020a031633146107b857600080fd5b60085460ff1615156001146107cc57600080fd5b600160a060020a03811615156107e157600080fd5b600160a060020a03166000908152600960205260409020805460ff19166001179055565b600054600160a060020a0316331461081c57600080fd5b60055460ff16151561083a576005805460ff19166001179055610845565b6005805460ff191690555b565b600054600160a060020a0316331461085e57600080fd5b60008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015610899573d6000803e3d6000fd5b50565b60066020526000908152604090205481565b600080548190600160a060020a031633146108c857600080fd5b60085460ff1615156001146108dc57600080fd5b8251915060968211156108ee57600080fd5b5060005b8181101561097757825160009084908390811061090b57fe5b60209081029091010151600160a060020a0316141561092957600080fd5b600160096000858481518110151561093d57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790556001016108f2565b505050565b60055460009060ff161561098f57600080fd5b600160a060020a0383166000908152600660205260409020548211156109b457600080fd5b600160a060020a03831660009081526007602090815260408083203384529091529020548211156109e457600080fd5b600160a060020a038316600090815260066020526040902054610a0d908363ffffffff610df616565b600160a060020a0384166000908152600660209081526040808320939093556007815282822033835290522054610a4a908363ffffffff610df616565b600160a060020a0384166000908152600760209081526040808320338452909152902055600454610a81908363ffffffff610df616565b600455604080518381529051600160a060020a038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b600054600160a060020a03163314610ae357600080fd5b60085460ff161515610b01576008805460ff19166001179055610845565b6008805460ff19169055565b600054600160a060020a031681565b600054600160a060020a03163314610b3357600080fd5b600054600160a060020a0316ff5b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105e65780601f106105bb576101008083540402835291602001916105e6565b6000610ba6338484610e08565b50600192915050565b600d6020526000908152604090205460ff1681565b60055460ff1681565b60085460ff1681565b600554600090819060ff1615610beb57600080fd5b5083610bf781856105ee565b15610cfb576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610c8f578181015183820152602001610c77565b50505050905090810190601f168015610cbc5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610cde57600080fd5b505af1158015610cf2573d6000803e3d6000fd5b50505050600191505b509392505050565b60096020526000908152604090205460ff1681565b600760209081526000928352604080842090915290825290205481565b600054600160a060020a03163314610d4c57600080fd5b600160a060020a0382166000818152600d6020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600054600160a060020a03163314610dc757600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600082821115610e0257fe5b50900390565b60055460ff1615610e1857600080fd5b600160a060020a0382161515610e2d57600080fd5b600160a060020a038316600090815260066020526040902054811115610e5257600080fd5b600160a060020a038216600090815260066020526040902054610e7b818363ffffffff610f8c16565b1015610e8657600080fd5b600160a060020a0383166000908152600d602052604090205460ff1615610eac57600080fd5b600160a060020a0382166000908152600d602052604090205460ff1615610ed257600080fd5b600160a060020a038316600090815260066020526040902054610efb908263ffffffff610df616565b600160a060020a038085166000908152600660205260408082209390935590841681522054610f30908263ffffffff610f8c16565b600160a060020a0380841660008181526006602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082820183811015610f9b57fe5b8091505b5092915050565b600080831515610fb95760009150610f9f565b50828202828482811515610fc957fe5b0414610f9b57fe00a165627a7a7230582057e4923604f55140b1f022f22fa634b9ac1cbf44bcddfd84a065faefea9f89d10029

Swarm Source

bzzr://57e4923604f55140b1f022f22fa634b9ac1cbf44bcddfd84a065faefea9f89d1
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.