ETH Price: $3,433.34 (+4.02%)

Token

Mozo Sale Token (SMZO)
 

Overview

Max Total Supply

700,000,000 SMZO

Holders

2,489

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 2 Decimals)

Balance
0 SMZO

Value
$0.00
0xdC85Cb26F7CdAF165C5d5e242A20509a99CA1194
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MozoSaleToken

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-07-15
*/

pragma solidity 0.4.23;

/**
 * @title Utility interfaces
 * @author Biglabs Pte. Ltd.
 * @dev Smart contract with owner
*/

contract Owner {
    /**
    * @dev Get smart contract's owner
    * @return The owner of the smart contract
    */
    function owner() public view returns (address);
    
    //check address is a valid owner (owner or coOwner)
    function isValidOwner(address _address) public view returns(bool);

}



/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title Utility smart contracts
 * @author Biglabs Pte. Ltd.
 * @dev Upgradable contract with agent
 */
 
contract Upgradable {
    function upgrade() public;
    function getRequiredTokens(uint _level) public pure returns (uint);
    function getLevel() public view returns (uint);
}





/**
 * @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 Subtracts 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;
  }
}


/**
 * @title Utility smart contracts
 * @author Biglabs Pte. Ltd.
 * @dev Timeline smart contract (within the period)
 */
 
contract Timeline {
    //start time
    uint public startTime;

    //end time
    uint public endTime;

    modifier started() {
        require(now >= startTime);
        _;
    }

    modifier notEnded() {
        require(now <= endTime);
        _;
    }

    modifier isEnded() {
        require(now >= endTime);
        _;
    }

    modifier onlyWhileOpen() {
        require(now >= startTime && now <= endTime);
        _;
    }


    /**
     * @dev Timeline constructor
     * @param _startTime The opening time in seconds (unix Time)
     * @param _endTime The closing time in seconds (unix Time)
     */
    function Timeline(
        uint256 _startTime,
        uint256 _endTime
    )
        public 
    {
        require(_startTime > now);
        require(_endTime > _startTime);
        startTime = _startTime;
        endTime = _endTime;
    }

}










/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  uint256 totalSupply_;

  /**
  * @dev total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return balances[_owner];
  }

}





/**
 * @title Utility interfaces
 * @author Biglabs Pte. Ltd.
 * @dev ERC20 smart contract with owner
*/

contract OwnerERC20 is ERC20Basic, Owner {
}










/**
 * @title Utility smart contracts
 * @author Biglabs Pte. Ltd.
 * @dev Chain smart contract with the same owner
 */
 
contract ChainOwner is Owner {
    //parent contract
    OwnerERC20 internal parent;

    /**
    * @param _parent The parent smart contract
    */
    function ChainOwner(OwnerERC20 _parent) internal {
        parent = _parent;
    }

    modifier onlyOwner() {
        require(parent.isValidOwner(msg.sender));
        _;
    }

    function owner() public view returns (address) {
        return parent.owner();
    }

    modifier validOwner(OwnerERC20 _smzoToken) {
        //check if function not called by owner or coOwner
        if (!parent.isValidOwner(msg.sender)) {
            //require this called from smart contract
            OwnerERC20 ico = OwnerERC20(msg.sender);
            //this will throw exception if not

            //ensure the same owner
            require(ico.owner() == _smzoToken.owner());
        }
        _;
    }
    
    function isValidOwner(address _address) public view returns(bool) {
        if (_address == owner()) {
            return true;
        }
        return false;
    }

}


/**
 * @title Utility smart contracts
 * @author Biglabs Pte. Ltd.
 * @dev Chain smart contract with the same owner
 */
 
contract ChainCoOwner is ChainOwner {

    mapping(address=>bool) internal coOwner;
    
    address[] internal coOwnerList;

    /**
     * @param _parent The parent smart contract
     * @param _coOwner Array of coOwner
    */
    function ChainCoOwner(OwnerERC20 _parent, address[] _coOwner) ChainOwner(_parent) internal {
        _addCoOwners(_coOwner);
    }
    
    function _addCoOwners(address[] _coOwner) internal {
        uint len = _coOwner.length;
        for (uint i=0; i < len; i++) {
            coOwner[_coOwner[i]] = true;
            coOwnerList.push(_coOwner[i]);
        }
    }

    function _addCoOwner(address _coOwner) internal {
        coOwner[_coOwner] = true;
        coOwnerList.push(_coOwner);
    }

    function _disableCoOwners(address[] _coOwner) internal {
        uint len = _coOwner.length;
        for (uint i=0; i < len; i++) {
            coOwner[_coOwner[i]] = false;
        }
    }

    function _disableCoOwner(address _coOwner) internal {
        coOwner[_coOwner] = false;
    }

    /**
     * @dev Check address is valid owner (owner or coOwner)
     * @param _address Address to check
     * 
    */
    function isValidOwner(address _address) public view returns(bool) {
        if (_address == owner() || coOwner[_address] == true) {
            return true;
        }
        return false;
    }

}





/**
 * @title Utility interfaces
 * @author Biglabs Pte. Ltd.
 * @dev ICO smart contract
 */
 
contract ICO is OwnerERC20 {
    //transfer tokens (use wei contribution information)
    function transferByEth(address _to, uint _weiAmount, uint _value) public returns (bool);

    //calculate no tokens
    function calculateNoToken(uint _weiAmount) public view returns(uint);
}



/**
 * @title Mozo sale token for ICO
 * @author Biglabs Pte. Ltd.
 */

contract MozoSaleToken is BasicToken, Timeline, ChainCoOwner, ICO {
    using SafeMath for uint;

    //sale token name, use in ICO phase only
    string public constant name = "Mozo Sale Token";

    //sale token symbol, use in ICO phase only
    string public constant symbol = "SMZO";

    //token symbol
    uint8 public constant decimals = 2;

    //KYC/AML threshold: 20k SGD = 15k USD = 165k token (x100)
    uint public constant AML_THRESHOLD = 16500000;

    //No. repicients that has bonus tokens
    uint public noBonusTokenRecipients;

    //total no. bonus tokens
    uint public totalBonusToken;

    //bonus transferred flags
    mapping(address => bool) bonus_transferred_repicients;

    //maximum transferring per function
    uint public constant MAX_TRANSFER = 80;

    //number of transferred address
    uint public transferredIndex;

    //indicate hardcap is reached or not
    bool public isCapped = false;

    //total wei collected
    uint public totalCapInWei;

    //rate
    uint public rate;

    //flag indicate whether ICO is stopped for bonus
    bool public isStopped;

    //hold all address to transfer Mozo tokens when releasing
    address[] public transferAddresses;

    //whitelist (Already register KYC/AML)
    mapping(address => bool) public whitelist;

    //contain map of address that buy over the threshold for KYC/AML 
    //but buyer is not in the whitelist yes
    mapping(address => uint) public pendingAmounts;

    /**
     * @dev Throws if called by any account that's not whitelisted.
     */
    modifier onlyWhitelisted() {
        require(whitelist[msg.sender]);
        _;
    }

    /**
     * @dev Only owner or coOwner
    */
    modifier onlyOwnerOrCoOwner() {
        require(isValidOwner(msg.sender));
        _;
    }

    /**
     * @dev Only stopping for bonus distribution
    */
    modifier onlyStopping() {
        require(isStopped == true);
        _;
    }

    /**
     * Only owner or smart contract of the same owner in chain.
     */
    modifier onlySameChain() {
        //check if function not called by owner or coOwner
        if (!isValidOwner(msg.sender)) {
            //require this called from smart contract
            ChainOwner sm = ChainOwner(msg.sender);
            //this will throw exception if not

            //ensure the same owner
            require(sm.owner() == owner());
        }
        _;
    }


    /**
     * @notice owner should transfer to this smart contract {_supply} Mozo tokens manually
     * @param _mozoToken Mozo token smart contract
     * @param _coOwner Array of coOwner
     * @param _supply Total number of tokens = No. tokens * 10^decimals = No. tokens * 100
     * @param _rate number of wei to buy 0.01 Mozo sale token
     * @param _openingTime The opening time in seconds (unix Time)
     * @param _closingTime The closing time in seconds (unix Time)
     */
    function MozoSaleToken(
        OwnerERC20 _mozoToken,
        address[] _coOwner,
        uint _supply,
        uint _rate,
        uint _openingTime,
        uint _closingTime
    )
    public
    ChainCoOwner(_mozoToken, _coOwner)
    Timeline(_openingTime, _closingTime)
    onlyOwner()
    {
        require(_supply > 0);
        require(_rate > 0);

        rate = _rate;
        totalSupply_ = _supply;

        //assign all sale tokens to owner
        balances[_mozoToken.owner()] = totalSupply_;

        //add owner and co_owner to whitelist
        addAddressToWhitelist(msg.sender);
        addAddressesToWhitelist(_coOwner);
        emit Transfer(0x0, _mozoToken.owner(), totalSupply_);
    }
    
    function addCoOwners(address[] _coOwner) public onlyOwner {
        _addCoOwners(_coOwner);
    }

    function addCoOwner(address _coOwner) public onlyOwner {
        _addCoOwner(_coOwner);
    }

    function disableCoOwners(address[] _coOwner) public onlyOwner {
        _disableCoOwners(_coOwner);
    }

    function disableCoOwner(address _coOwner) public onlyOwner {
        _disableCoOwner(_coOwner);
    }

    /**
     * @dev Get Rate: number of wei to buy 0.01 Mozo token
     */
    function getRate() public view returns (uint) {
        return rate;
    }

    /**
     * @dev Set Rate: 
     * @param _rate Number of wei to buy 0.01 Mozo token
     */
    function setRate(uint _rate) public onlyOwnerOrCoOwner {
        rate = _rate;
    }

    /**
     * @dev Get flag indicates ICO reached hardcap
     */
    function isReachCapped() public view returns (bool) {
        return isCapped;
    }

    /**
     * @dev add an address to the whitelist, sender must have enough tokens
     * @param _address address for adding to whitelist
     * @return true if the address was added to the whitelist, false if the address was already in the whitelist
     */
    function addAddressToWhitelist(address _address) onlyOwnerOrCoOwner public returns (bool success) {
        if (!whitelist[_address]) {
            whitelist[_address] = true;
            //transfer pending amount of tokens to user
            uint noOfTokens = pendingAmounts[_address];
            if (noOfTokens > 0) {
                pendingAmounts[_address] = 0;
                transfer(_address, noOfTokens);
            }
            success = true;
        }
    }

    /**
     * @dev add addresses to the whitelist, sender must have enough tokens
     * @param _addresses addresses for adding to whitelist
     * @return true if at least one address was added to the whitelist, 
     * false if all addresses were already in the whitelist  
     */
    function addAddressesToWhitelist(address[] _addresses) onlyOwnerOrCoOwner public returns (bool success) {
        uint length = _addresses.length;
        for (uint i = 0; i < length; i++) {
            if (addAddressToWhitelist(_addresses[i])) {
                success = true;
            }
        }
    }

    /**
     * @dev remove an address from the whitelist
     * @param _address address
     * @return true if the address was removed from the whitelist, 
     * false if the address wasn't in the whitelist in the first place 
     */
    function removeAddressFromWhitelist(address _address) onlyOwnerOrCoOwner public returns (bool success) {
        if (whitelist[_address]) {
            whitelist[_address] = false;
            success = true;
        }
    }

    /**
     * @dev remove addresses from the whitelist
     * @param _addresses addresses
     * @return true if at least one address was removed from the whitelist, 
     * false if all addresses weren't in the whitelist in the first place
     */
    function removeAddressesFromWhitelist(address[] _addresses) onlyOwnerOrCoOwner public returns (bool success) {
        uint length = _addresses.length;
        for (uint i = 0; i < length; i++) {
            if (removeAddressFromWhitelist(_addresses[i])) {
                success = true;
            }
        }
    }

    /**
     * Stop selling for bonus transfer
     * @notice Owner should release InvestmentDiscount smart contract before call this
     */
    function setStop() onlyOwnerOrCoOwner {
        isStopped = true;
    }

    /**
     * @dev Set hardcap is reached
     * @notice Owner must release all sale smart contracts
     */
    function setReachCapped() public onlyOwnerOrCoOwner {
        isCapped = true;
    }

    /**
     * @dev Get total distribution in Wei
     */
    function getCapInWei() public view returns (uint) {
        return totalCapInWei;
    }

    /**
     * @dev Get no. investors
     */
    function getNoInvestor() public view returns (uint) {
        return transferAddresses.length;
    }

    /**
     * @dev Get unsold tokens
     */
    function getUnsoldToken() public view returns (uint) {
        uint unsold = balances[owner()];
        for (uint j = 0; j < coOwnerList.length; j++) {
            unsold = unsold.add(balances[coOwnerList[j]]);
        }

        return unsold;
    }

    /**
     * @dev Get distributed tokens
     */
    function getDistributedToken() public view returns (uint) {
        return totalSupply_.sub(getUnsoldToken());
    }

    /**
     * @dev Override transfer token for a specified address
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */
    function transfer(address _to, uint _value) public returns (bool) {
        //required this contract has enough Mozo tokens
        //obsolete
        //if (msg.sender == owner()) {
        //    require(parent.balanceOf(this) >= getDistributedToken().add(_value));
        //}
        //we will check it when releasing smart contract

        //owners or balances already greater than 0, no need to add to list
        bool notAddToList = isValidOwner(_to) || (balances[_to] > 0);

        //check AML threshold
        if (!isStopped) {
            if (!whitelist[_to]) {
                if ((_value + balances[_to]) > AML_THRESHOLD) {
                    pendingAmounts[_to] = pendingAmounts[_to].add(_value);
                    return true;
                }
            }
        }

        if (BasicToken.transfer(_to, _value)) {
            if (!notAddToList) {
                transferAddresses.push(_to);
            }
            return true;
        }

        return false;
    }

    /**
     * @param _weiAmount Contribution in wei
     * 
     */
    function calculateNoToken(uint _weiAmount) public view returns (uint) {
        return _weiAmount.div(rate);
    }

    /**
     * @dev Override transfer token for a specified address
     * @param _to The address to transfer to.
     * @param _weiAmount The wei amount spent to by token
     */
    function transferByEth(address _to, uint _weiAmount, uint _value)
    public
    onlyWhileOpen
    onlySameChain()
    returns (bool)
    {
        if (transfer(_to, _value)) {
            totalCapInWei = totalCapInWei.add(_weiAmount);
            return true;
        }
        return false;
    }

    /**
     * @dev Release smart contract
     * @notice Owner must release all sale smart contracts
     */
    function release() public onlyOwnerOrCoOwner {
        _release();
    }

    /**
     * @dev Investor claim tokens
     */
    function claim() public isEnded {
        require(balances[msg.sender] > 0);
        uint investorBalance = balances[msg.sender];

        balances[msg.sender] = 0;
        parent.transfer(msg.sender, investorBalance);
    }

    /**
     * @param _recipients list of repicients
     * @param _amount list of no. tokens
    */
    function bonusToken(address[] _recipients, uint[] _amount) public onlyOwnerOrCoOwner onlyStopping {
        uint len = _recipients.length;
        uint len1 = _amount.length;
        require(len == len1);
        require(len <= MAX_TRANSFER);
        uint i;
        uint total = 0;
        for (i = 0; i < len; i++) {
            if (bonus_transferred_repicients[_recipients[i]] == false) {
                bonus_transferred_repicients[_recipients[i]] = transfer(_recipients[i], _amount[i]);
                total = total.add(_amount[i]);
            }
        }
        totalBonusToken = totalBonusToken.add(total);
        noBonusTokenRecipients = noBonusTokenRecipients.add(len);
    }

    function min(uint a, uint b) internal pure returns (uint) {
        return a < b ? a : b;
    }

    /**
     * @notice Only call after releasing all sale smart contracts, this smart contract must have enough Mozo tokens
     * @dev Release smart contract
     */
    function _release() internal {
        uint length = min(transferAddresses.length, transferredIndex + MAX_TRANSFER);
        uint i = transferredIndex;

        if (isCapped) {
            //Reach hardcap, burn all owner sale token
            for (; i < length; i++) {
                address ad = transferAddresses[i];
                uint b = balances[ad];
                if (b == 0) {
                    continue;
                }

                balances[ad] = 0;
                // send Mozo token from ICO account to investor address
                parent.transfer(ad, b);
            }
        } else {
            uint unsold = getUnsoldToken();
            uint sold = totalSupply_.sub(unsold);

            if (sold <= 0) {
                //very bad if we reach here
                return;
            }
            for (; i < length; i++) {
                ad = transferAddresses[i];
                //obsolete
                //no need to check because we checked before adding
                //if (ad == owner()) {
                //    continue;
                //}
                b = balances[ad];
                if (b == 0) {
                    continue;
                }
                //distribute all unsold token to investors
                b = b.add(b.mul(unsold).div(sold));

                // send Mozo token from ICO account to investor address
                balances[ad] = 0;
                parent.transfer(ad, b);
            }
        }

        transferredIndex = i - 1;

        //transfer remain tokens to owner
        //for testing only
        //parent.transfer(owner(), parent.balanceOf(address(this)));
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"isReachCapped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCapInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"}],"name":"removeAddressesFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transferredIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getDistributedToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeAddressFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rate","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_coOwner","type":"address[]"}],"name":"disableCoOwners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_coOwner","type":"address[]"}],"name":"addCoOwners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_coOwner","type":"address"}],"name":"addCoOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isCapped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addAddressToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_weiAmount","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"transferByEth","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"noBonusTokenRecipients","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transferAddresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"release","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getUnsoldToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setStop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalBonusToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_TRANSFER","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"pendingAmounts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"AML_THRESHOLD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isValidOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setReachCapped","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalCapInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_coOwner","type":"address"}],"name":"disableCoOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_weiAmount","type":"uint256"}],"name":"calculateNoToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"}],"name":"addAddressesToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getNoInvestor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_recipients","type":"address[]"},{"name":"_amount","type":"uint256[]"}],"name":"bonusToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_mozoToken","type":"address"},{"name":"_coOwner","type":"address[]"},{"name":"_supply","type":"uint256"},{"name":"_rate","type":"uint256"},{"name":"_openingTime","type":"uint256"},{"name":"_closingTime","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"}]

6080604052600b805460ff191690553480156200001b57600080fd5b50604051620023923803806200239283398101604090815281516020830151918301516060840151608085015160a086015193959490940193919290919085858184844282116200006b57600080fd5b8181116200007857600080fd5b60029190915560035560048054600160a060020a031916600160a060020a0392909216919091179055620000b5816401000000006200031e810204565b505060048054604080517fb8248dff000000000000000000000000000000000000000000000000000000008152600160a060020a03338116948201949094529051929091169163b8248dff916024808201926020929091908290030181600087803b1580156200012457600080fd5b505af115801562000139573d6000803e3d6000fd5b505050506040513d60208110156200015057600080fd5b505115156200015e57600080fd5b600084116200016c57600080fd5b600083116200017a57600080fd5b82600d819055508360018190555060015460008088600160a060020a0316638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620001e657600080fd5b505af1158015620001fb573d6000803e3d6000fd5b505050506040513d60208110156200021257600080fd5b5051600160a060020a031681526020810191909152604001600020556200024233640100000000620003d0810204565b50620002578564010000000062000489810204565b5085600160a060020a0316638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620002b057600080fd5b505af1158015620002c5573d6000803e3d6000fd5b505050506040513d6020811015620002dc57600080fd5b50516001546040805191825251600160a060020a039092169160009160008051602062002372833981519152919081900360200190a3505050505050620008b1565b805160005b81811015620003cb5760016005600085848151811015156200034157fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905582516006908490839081106200038557fe5b6020908102919091018101518254600180820185556000948552929093209092018054600160a060020a031916600160a060020a03909316929092179091550162000323565b505050565b600080620003e7336401000000006200050a810204565b1515620003f357600080fd5b600160a060020a03831660009081526010602052604090205460ff161515620004835750600160a060020a0382166000908152601060209081526040808320805460ff191660011790556011909152812054908111156200047e57600160a060020a0383166000908152601160205260408120556200047c838264010000000062000574810204565b505b600191505b50919050565b60008080620004a1336401000000006200050a810204565b1515620004ad57600080fd5b5050815160005b818110156200050357620004ef8482815181101515620004d057fe5b90602001906020020151620003d0640100000000026401000000009004565b15620004fa57600192505b600101620004b4565b5050919050565b60006200051f640100000000620006e7810204565b600160a060020a031682600160a060020a031614806200055c5750600160a060020a03821660009081526005602052604090205460ff1615156001145b156200056b575060016200056f565b5060005b919050565b6000806200058b846401000000006200050a810204565b80620005ad5750600160a060020a038416600090815260208190526040812054115b600e5490915060ff1615156200065d57600160a060020a03841660009081526010602052604090205460ff1615156200065d57600160a060020a03841660009081526020819052604090205462fbc52090840111156200065d57600160a060020a0384166000908152601160205260409020546200063a9084640100000000620016516200078982021704565b600160a060020a03851660009081526011602052604090205560019150620006e0565b62000677848464010000000062001913620007a082021704565b15620006db57801515620006d157600f80546001810182556000919091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802018054600160a060020a031916600160a060020a0386161790555b60019150620006e0565b600091505b5092915050565b6000600460009054906101000a9004600160a060020a0316600160a060020a0316638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200075657600080fd5b505af11580156200076b573d6000803e3d6000fd5b505050506040513d60208110156200078257600080fd5b5051905090565b6000828201838110156200079957fe5b9392505050565b6000600160a060020a0383161515620007b857600080fd5b600160a060020a033316600090815260208190526040902054821115620007de57600080fd5b600160a060020a033316600090815260208190526040902054620008119083640100000000620014bb6200089e82021704565b600160a060020a033381166000908152602081905260408082209390935590851681522054620008509083640100000000620016516200078982021704565b600160a060020a03808516600081815260208181526040918290209490945580518681529051919333909316926000805160206200237283398151915292918290030190a350600192915050565b600082821115620008ab57fe5b50900390565b611ab180620008c16000396000f3006080604052600436106102005763ffffffff60e060020a60003504166302a1a7a8811461020557806306fdde031461022e5780630eafb6da146102b857806318160ddd146102df57806324953eaa146102f45780632757e9761461034957806327d6ba211461035e578063286dd3f5146103735780632c4e722e14610394578063313ce567146103a95780633197cbb6146103d457806334fcf437146103e95780633f683b6a1461040357806345deb696146104185780634a1af1b51461046d5780634e71d92d146104c2578063563a4024146104d7578063671528d4146104f8578063679aefce1461050d57806370a082311461052257806378e97925146105435780637b9417c8146105585780637e190ab91461057957806384c019e3146105a057806386697527146105b557806386d1a69f146105e95780638872c094146105fe5780638da5cb5b1461061357806392cf1d491461062857806395d89b411461063d5780639b19251a146106525780639d1e351c146106735780639d53827f14610688578063a5f6f0541461069d578063a9059cbb146106be578063b6607cc5146106e2578063b8248dff146106f7578063cafe2f1914610718578063cbb055271461072d578063cf3f252d14610742578063dfd1976214610763578063e2ec6ec31461077b578063fc196cf3146107d0578063ff62652d146107e5575b600080fd5b34801561021157600080fd5b5061021a610873565b604080519115158252519081900360200190f35b34801561023a57600080fd5b5061024361087c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027d578181015183820152602001610265565b50505050905090810190601f1680156102aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c457600080fd5b506102cd6108b3565b60408051918252519081900360200190f35b3480156102eb57600080fd5b506102cd6108b9565b34801561030057600080fd5b506040805160206004803580820135838102808601850190965280855261021a953695939460249493850192918291850190849080828437509497506108bf9650505050505050565b34801561035557600080fd5b506102cd610920565b34801561036a57600080fd5b506102cd610926565b34801561037f57600080fd5b5061021a600160a060020a0360043516610947565b3480156103a057600080fd5b506102cd6109a7565b3480156103b557600080fd5b506103be6109ad565b6040805160ff9092168252519081900360200190f35b3480156103e057600080fd5b506102cd6109b2565b3480156103f557600080fd5b506104016004356109b8565b005b34801561040f57600080fd5b5061021a6109d1565b34801561042457600080fd5b5060408051602060048035808201358381028086018501909652808552610401953695939460249493850192918291850190849080828437509497506109da9650505050505050565b34801561047957600080fd5b506040805160206004803580820135838102808601850190965280855261040195369593946024949385019291829185019084908082843750949750610a739650505050505050565b3480156104ce57600080fd5b50610401610b09565b3480156104e357600080fd5b50610401600160a060020a0360043516610bf1565b34801561050457600080fd5b5061021a610c87565b34801561051957600080fd5b506102cd610c90565b34801561052e57600080fd5b506102cd600160a060020a0360043516610c96565b34801561054f57600080fd5b506102cd610cb1565b34801561056457600080fd5b5061021a600160a060020a0360043516610cb7565b34801561058557600080fd5b5061021a600160a060020a0360043516602435604435610d57565b3480156105ac57600080fd5b506102cd610e54565b3480156105c157600080fd5b506105cd600435610e5a565b60408051600160a060020a039092168252519081900360200190f35b3480156105f557600080fd5b50610401610e82565b34801561060a57600080fd5b506102cd610ea0565b34801561061f57600080fd5b506105cd610f33565b34801561063457600080fd5b50610401610fb9565b34801561064957600080fd5b50610243610fdc565b34801561065e57600080fd5b5061021a600160a060020a0360043516611013565b34801561067f57600080fd5b506102cd611028565b34801561069457600080fd5b506102cd61102e565b3480156106a957600080fd5b506102cd600160a060020a0360043516611033565b3480156106ca57600080fd5b5061021a600160a060020a0360043516602435611045565b3480156106ee57600080fd5b506102cd611198565b34801561070357600080fd5b5061021a600160a060020a036004351661119f565b34801561072457600080fd5b506104016111fa565b34801561073957600080fd5b506102cd61121d565b34801561074e57600080fd5b50610401600160a060020a0360043516611223565b34801561076f57600080fd5b506102cd6004356112b9565b34801561078757600080fd5b506040805160206004803580820135838102808601850190965280855261021a953695939460249493850192918291850190849080828437509497506112d69650505050505050565b3480156107dc57600080fd5b506102cd611330565b3480156107f157600080fd5b506040805160206004803580820135838102808601850190965280855261040195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506113369650505050505050565b600b5460ff1690565b60408051808201909152600f81527f4d6f7a6f2053616c6520546f6b656e0000000000000000000000000000000000602082015281565b600c5490565b60015490565b60008060006108cd3361119f565b15156108d857600080fd5b5050815160005b818110156109195761090784828151811015156108f857fe5b90602001906020020151610947565b1561091157600192505b6001016108df565b5050919050565b600a5481565b6000610942610933610ea0565b6001549063ffffffff6114bb16565b905090565b60006109523361119f565b151561095d57600080fd5b600160a060020a03821660009081526010602052604090205460ff16156109a25750600160a060020a0381166000908152601060205260409020805460ff1916905560015b919050565b600d5481565b600281565b60035481565b6109c13361119f565b15156109cc57600080fd5b600d55565b600e5460ff1681565b600480546040805160e060020a63b8248dff028152600160a060020a03338116948201949094529051929091169163b8248dff916024808201926020929091908290030181600087803b158015610a3057600080fd5b505af1158015610a44573d6000803e3d6000fd5b505050506040513d6020811015610a5a57600080fd5b50511515610a6757600080fd5b610a70816114cd565b50565b600480546040805160e060020a63b8248dff028152600160a060020a03338116948201949094529051929091169163b8248dff916024808201926020929091908290030181600087803b158015610ac957600080fd5b505af1158015610add573d6000803e3d6000fd5b505050506040513d6020811015610af357600080fd5b50511515610b0057600080fd5b610a7081611528565b600354600090421015610b1b57600080fd5b600160a060020a03331660009081526020819052604081205411610b3e57600080fd5b50600160a060020a033381166000818152602081815260408083208054908490556004805483517fa9059cbb000000000000000000000000000000000000000000000000000000008152918201969096526024810182905291519095949094169363a9059cbb93604480840194938390030190829087803b158015610bc257600080fd5b505af1158015610bd6573d6000803e3d6000fd5b505050506040513d6020811015610bec57600080fd5b505050565b600480546040805160e060020a63b8248dff028152600160a060020a03338116948201949094529051929091169163b8248dff916024808201926020929091908290030181600087803b158015610c4757600080fd5b505af1158015610c5b573d6000803e3d6000fd5b505050506040513d6020811015610c7157600080fd5b50511515610c7e57600080fd5b610a70816115de565b600b5460ff1681565b600d5490565b600160a060020a031660009081526020819052604090205490565b60025481565b600080610cc33361119f565b1515610cce57600080fd5b600160a060020a03831660009081526010602052604090205460ff161515610d515750600160a060020a0382166000908152601060209081526040808320805460ff19166001179055601190915281205490811115610d4c57600160a060020a038316600090815260116020526040812055610d4a8382611045565b505b600191505b50919050565b60006002544210158015610d6d57506003544211155b1515610d7857600080fd5b6000610d833361119f565b1515610e19575033610d93610f33565b600160a060020a031681600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610dda57600080fd5b505af1158015610dee573d6000803e3d6000fd5b505050506040513d6020811015610e0457600080fd5b5051600160a060020a031614610e1957600080fd5b610e238584611045565b15610e4757600c54610e3b908563ffffffff61165116565b600c5560019150610e4c565b600091505b509392505050565b60075481565b600f805482908110610e6857fe5b600091825260209091200154600160a060020a0316905081565b610e8b3361119f565b1515610e9657600080fd5b610e9e611667565b565b6000806000806000610eb0610f33565b600160a060020a0316600160a060020a03168152602001908152602001600020549150600090505b600654811015610d5157610f29600080600684815481101515610ef757fe5b6000918252602080832090910154600160a060020a03168352820192909252604001902054839063ffffffff61165116565b9150600101610ed8565b6000600460009054906101000a9004600160a060020a0316600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f8857600080fd5b505af1158015610f9c573d6000803e3d6000fd5b505050506040513d6020811015610fb257600080fd5b5051905090565b610fc23361119f565b1515610fcd57600080fd5b600e805460ff19166001179055565b60408051808201909152600481527f534d5a4f00000000000000000000000000000000000000000000000000000000602082015281565b60106020526000908152604090205460ff1681565b60085481565b605081565b60116020526000908152604090205481565b6000806110518461119f565b806110725750600160a060020a038416600090815260208190526040812054115b600e5490915060ff16151561111457600160a060020a03841660009081526010602052604090205460ff16151561111457600160a060020a03841660009081526020819052604090205462fbc520908401111561111457600160a060020a0384166000908152601160205260409020546110f2908463ffffffff61165116565b600160a060020a03851660009081526011602052604090205560019150611191565b61111e8484611913565b1561118c5780151561118357600f80546001810182556000919091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386161790555b60019150611191565b600091505b5092915050565b62fbc52081565b60006111a9610f33565b600160a060020a031682600160a060020a031614806111e55750600160a060020a03821660009081526005602052604090205460ff1615156001145b156111f2575060016109a2565b506000919050565b6112033361119f565b151561120e57600080fd5b600b805460ff19166001179055565b600c5481565b600480546040805160e060020a63b8248dff028152600160a060020a03338116948201949094529051929091169163b8248dff916024808201926020929091908290030181600087803b15801561127957600080fd5b505af115801561128d573d6000803e3d6000fd5b505050506040513d60208110156112a357600080fd5b505115156112b057600080fd5b610a7081611a0c565b60006112d0600d5483611a2d90919063ffffffff16565b92915050565b60008060006112e43361119f565b15156112ef57600080fd5b5050815160005b818110156109195761131e848281518110151561130f57fe5b90602001906020020151610cb7565b1561132857600192505b6001016112f6565b600f5490565b6000806000806113453361119f565b151561135057600080fd5b600e5460ff16151560011461136457600080fd5b85518551909450925082841461137957600080fd5b605084111561138757600080fd5b5060009050805b83821015611487576009600087848151811015156113a857fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16151561147c5761140c86838151811015156113e557fe5b9060200190602002015186848151811015156113fd57fe5b90602001906020020151611045565b60096000888581518110151561141e57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905584516114799086908490811061146257fe5b60209081029091010151829063ffffffff61165116565b90505b60019091019061138e565b60085461149a908263ffffffff61165116565b6008556007546114b0908563ffffffff61165116565b600755505050505050565b6000828211156114c757fe5b50900390565b805160005b81811015610bec5760006005600085848151811015156114ee57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790556001016114d2565b805160005b81811015610bec57600160056000858481518110151561154957fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff1916911515919091179055825160069084908390811061158c57fe5b602090810291909101810151825460018082018555600094855292909320909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909316929092179091550161152d565b600160a060020a03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b60008282018381101561166057fe5b9392505050565b600080600080600080611684600f805490506050600a5401611a44565b600a54600b54919750955060ff161561179f575b8585101561179a57600f8054869081106116ae57fe5b6000918252602080832090910154600160a060020a03168083529082905260409091205490945092508215156116e35761178f565b600160a060020a038085166000818152602081815260408083208390556004805482517fa9059cbb00000000000000000000000000000000000000000000000000000000815291820195909552602481018990529051939094169363a9059cbb9360448083019491928390030190829087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b505050506040513d602081101561178c57600080fd5b50505b600190940193611698565b611902565b6117a7610ea0565b6001549092506117bd908363ffffffff6114bb16565b9050600081116117cc5761190b565b8585101561190257600f8054869081106117e257fe5b6000918252602080832090910154600160a060020a0316808352908290526040909120549094509250821515611817576118f7565b61184761183a8261182e868663ffffffff611a5a16565b9063ffffffff611a2d16565b849063ffffffff61165116565b600160a060020a038086166000818152602081815260408083208390556004805482517fa9059cbb00000000000000000000000000000000000000000000000000000000815291820195909552602481018790529051959850929093169363a9059cbb936044808501949193918390030190829087803b1580156118ca57600080fd5b505af11580156118de573d6000803e3d6000fd5b505050506040513d60208110156118f457600080fd5b50505b6001909401936117cc565b6000198501600a555b505050505050565b6000600160a060020a038316151561192a57600080fd5b600160a060020a03331660009081526020819052604090205482111561194f57600080fd5b600160a060020a033316600090815260208190526040902054611978908363ffffffff6114bb16565b600160a060020a0333811660009081526020819052604080822093909355908516815220546119ad908363ffffffff61165116565b600160a060020a03808516600081815260208181526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600192915050565b600160a060020a03166000908152600560205260409020805460ff19169055565b6000808284811515611a3b57fe5b04949350505050565b6000818310611a535781611660565b5090919050565b600080831515611a6d5760009150611191565b50828202828482811515611a7d57fe5b041461166057fe00a165627a7a723058202adf467a4795fdaf42bae5f76c8d6410441a024d82d07fd1f08ae4baaca2aa3e0029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000044bf22949f9cc84b61b9328a9d885d1b5c806b4100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000001bfc050c4a0000000000000000000000000000000000000000000000000000000005b4ad4df000000000000000000000000000000000000000000000000000000005b67299b0000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102005763ffffffff60e060020a60003504166302a1a7a8811461020557806306fdde031461022e5780630eafb6da146102b857806318160ddd146102df57806324953eaa146102f45780632757e9761461034957806327d6ba211461035e578063286dd3f5146103735780632c4e722e14610394578063313ce567146103a95780633197cbb6146103d457806334fcf437146103e95780633f683b6a1461040357806345deb696146104185780634a1af1b51461046d5780634e71d92d146104c2578063563a4024146104d7578063671528d4146104f8578063679aefce1461050d57806370a082311461052257806378e97925146105435780637b9417c8146105585780637e190ab91461057957806384c019e3146105a057806386697527146105b557806386d1a69f146105e95780638872c094146105fe5780638da5cb5b1461061357806392cf1d491461062857806395d89b411461063d5780639b19251a146106525780639d1e351c146106735780639d53827f14610688578063a5f6f0541461069d578063a9059cbb146106be578063b6607cc5146106e2578063b8248dff146106f7578063cafe2f1914610718578063cbb055271461072d578063cf3f252d14610742578063dfd1976214610763578063e2ec6ec31461077b578063fc196cf3146107d0578063ff62652d146107e5575b600080fd5b34801561021157600080fd5b5061021a610873565b604080519115158252519081900360200190f35b34801561023a57600080fd5b5061024361087c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027d578181015183820152602001610265565b50505050905090810190601f1680156102aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c457600080fd5b506102cd6108b3565b60408051918252519081900360200190f35b3480156102eb57600080fd5b506102cd6108b9565b34801561030057600080fd5b506040805160206004803580820135838102808601850190965280855261021a953695939460249493850192918291850190849080828437509497506108bf9650505050505050565b34801561035557600080fd5b506102cd610920565b34801561036a57600080fd5b506102cd610926565b34801561037f57600080fd5b5061021a600160a060020a0360043516610947565b3480156103a057600080fd5b506102cd6109a7565b3480156103b557600080fd5b506103be6109ad565b6040805160ff9092168252519081900360200190f35b3480156103e057600080fd5b506102cd6109b2565b3480156103f557600080fd5b506104016004356109b8565b005b34801561040f57600080fd5b5061021a6109d1565b34801561042457600080fd5b5060408051602060048035808201358381028086018501909652808552610401953695939460249493850192918291850190849080828437509497506109da9650505050505050565b34801561047957600080fd5b506040805160206004803580820135838102808601850190965280855261040195369593946024949385019291829185019084908082843750949750610a739650505050505050565b3480156104ce57600080fd5b50610401610b09565b3480156104e357600080fd5b50610401600160a060020a0360043516610bf1565b34801561050457600080fd5b5061021a610c87565b34801561051957600080fd5b506102cd610c90565b34801561052e57600080fd5b506102cd600160a060020a0360043516610c96565b34801561054f57600080fd5b506102cd610cb1565b34801561056457600080fd5b5061021a600160a060020a0360043516610cb7565b34801561058557600080fd5b5061021a600160a060020a0360043516602435604435610d57565b3480156105ac57600080fd5b506102cd610e54565b3480156105c157600080fd5b506105cd600435610e5a565b60408051600160a060020a039092168252519081900360200190f35b3480156105f557600080fd5b50610401610e82565b34801561060a57600080fd5b506102cd610ea0565b34801561061f57600080fd5b506105cd610f33565b34801561063457600080fd5b50610401610fb9565b34801561064957600080fd5b50610243610fdc565b34801561065e57600080fd5b5061021a600160a060020a0360043516611013565b34801561067f57600080fd5b506102cd611028565b34801561069457600080fd5b506102cd61102e565b3480156106a957600080fd5b506102cd600160a060020a0360043516611033565b3480156106ca57600080fd5b5061021a600160a060020a0360043516602435611045565b3480156106ee57600080fd5b506102cd611198565b34801561070357600080fd5b5061021a600160a060020a036004351661119f565b34801561072457600080fd5b506104016111fa565b34801561073957600080fd5b506102cd61121d565b34801561074e57600080fd5b50610401600160a060020a0360043516611223565b34801561076f57600080fd5b506102cd6004356112b9565b34801561078757600080fd5b506040805160206004803580820135838102808601850190965280855261021a953695939460249493850192918291850190849080828437509497506112d69650505050505050565b3480156107dc57600080fd5b506102cd611330565b3480156107f157600080fd5b506040805160206004803580820135838102808601850190965280855261040195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506113369650505050505050565b600b5460ff1690565b60408051808201909152600f81527f4d6f7a6f2053616c6520546f6b656e0000000000000000000000000000000000602082015281565b600c5490565b60015490565b60008060006108cd3361119f565b15156108d857600080fd5b5050815160005b818110156109195761090784828151811015156108f857fe5b90602001906020020151610947565b1561091157600192505b6001016108df565b5050919050565b600a5481565b6000610942610933610ea0565b6001549063ffffffff6114bb16565b905090565b60006109523361119f565b151561095d57600080fd5b600160a060020a03821660009081526010602052604090205460ff16156109a25750600160a060020a0381166000908152601060205260409020805460ff1916905560015b919050565b600d5481565b600281565b60035481565b6109c13361119f565b15156109cc57600080fd5b600d55565b600e5460ff1681565b600480546040805160e060020a63b8248dff028152600160a060020a03338116948201949094529051929091169163b8248dff916024808201926020929091908290030181600087803b158015610a3057600080fd5b505af1158015610a44573d6000803e3d6000fd5b505050506040513d6020811015610a5a57600080fd5b50511515610a6757600080fd5b610a70816114cd565b50565b600480546040805160e060020a63b8248dff028152600160a060020a03338116948201949094529051929091169163b8248dff916024808201926020929091908290030181600087803b158015610ac957600080fd5b505af1158015610add573d6000803e3d6000fd5b505050506040513d6020811015610af357600080fd5b50511515610b0057600080fd5b610a7081611528565b600354600090421015610b1b57600080fd5b600160a060020a03331660009081526020819052604081205411610b3e57600080fd5b50600160a060020a033381166000818152602081815260408083208054908490556004805483517fa9059cbb000000000000000000000000000000000000000000000000000000008152918201969096526024810182905291519095949094169363a9059cbb93604480840194938390030190829087803b158015610bc257600080fd5b505af1158015610bd6573d6000803e3d6000fd5b505050506040513d6020811015610bec57600080fd5b505050565b600480546040805160e060020a63b8248dff028152600160a060020a03338116948201949094529051929091169163b8248dff916024808201926020929091908290030181600087803b158015610c4757600080fd5b505af1158015610c5b573d6000803e3d6000fd5b505050506040513d6020811015610c7157600080fd5b50511515610c7e57600080fd5b610a70816115de565b600b5460ff1681565b600d5490565b600160a060020a031660009081526020819052604090205490565b60025481565b600080610cc33361119f565b1515610cce57600080fd5b600160a060020a03831660009081526010602052604090205460ff161515610d515750600160a060020a0382166000908152601060209081526040808320805460ff19166001179055601190915281205490811115610d4c57600160a060020a038316600090815260116020526040812055610d4a8382611045565b505b600191505b50919050565b60006002544210158015610d6d57506003544211155b1515610d7857600080fd5b6000610d833361119f565b1515610e19575033610d93610f33565b600160a060020a031681600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610dda57600080fd5b505af1158015610dee573d6000803e3d6000fd5b505050506040513d6020811015610e0457600080fd5b5051600160a060020a031614610e1957600080fd5b610e238584611045565b15610e4757600c54610e3b908563ffffffff61165116565b600c5560019150610e4c565b600091505b509392505050565b60075481565b600f805482908110610e6857fe5b600091825260209091200154600160a060020a0316905081565b610e8b3361119f565b1515610e9657600080fd5b610e9e611667565b565b6000806000806000610eb0610f33565b600160a060020a0316600160a060020a03168152602001908152602001600020549150600090505b600654811015610d5157610f29600080600684815481101515610ef757fe5b6000918252602080832090910154600160a060020a03168352820192909252604001902054839063ffffffff61165116565b9150600101610ed8565b6000600460009054906101000a9004600160a060020a0316600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f8857600080fd5b505af1158015610f9c573d6000803e3d6000fd5b505050506040513d6020811015610fb257600080fd5b5051905090565b610fc23361119f565b1515610fcd57600080fd5b600e805460ff19166001179055565b60408051808201909152600481527f534d5a4f00000000000000000000000000000000000000000000000000000000602082015281565b60106020526000908152604090205460ff1681565b60085481565b605081565b60116020526000908152604090205481565b6000806110518461119f565b806110725750600160a060020a038416600090815260208190526040812054115b600e5490915060ff16151561111457600160a060020a03841660009081526010602052604090205460ff16151561111457600160a060020a03841660009081526020819052604090205462fbc520908401111561111457600160a060020a0384166000908152601160205260409020546110f2908463ffffffff61165116565b600160a060020a03851660009081526011602052604090205560019150611191565b61111e8484611913565b1561118c5780151561118357600f80546001810182556000919091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386161790555b60019150611191565b600091505b5092915050565b62fbc52081565b60006111a9610f33565b600160a060020a031682600160a060020a031614806111e55750600160a060020a03821660009081526005602052604090205460ff1615156001145b156111f2575060016109a2565b506000919050565b6112033361119f565b151561120e57600080fd5b600b805460ff19166001179055565b600c5481565b600480546040805160e060020a63b8248dff028152600160a060020a03338116948201949094529051929091169163b8248dff916024808201926020929091908290030181600087803b15801561127957600080fd5b505af115801561128d573d6000803e3d6000fd5b505050506040513d60208110156112a357600080fd5b505115156112b057600080fd5b610a7081611a0c565b60006112d0600d5483611a2d90919063ffffffff16565b92915050565b60008060006112e43361119f565b15156112ef57600080fd5b5050815160005b818110156109195761131e848281518110151561130f57fe5b90602001906020020151610cb7565b1561132857600192505b6001016112f6565b600f5490565b6000806000806113453361119f565b151561135057600080fd5b600e5460ff16151560011461136457600080fd5b85518551909450925082841461137957600080fd5b605084111561138757600080fd5b5060009050805b83821015611487576009600087848151811015156113a857fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16151561147c5761140c86838151811015156113e557fe5b9060200190602002015186848151811015156113fd57fe5b90602001906020020151611045565b60096000888581518110151561141e57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905584516114799086908490811061146257fe5b60209081029091010151829063ffffffff61165116565b90505b60019091019061138e565b60085461149a908263ffffffff61165116565b6008556007546114b0908563ffffffff61165116565b600755505050505050565b6000828211156114c757fe5b50900390565b805160005b81811015610bec5760006005600085848151811015156114ee57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790556001016114d2565b805160005b81811015610bec57600160056000858481518110151561154957fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff1916911515919091179055825160069084908390811061158c57fe5b602090810291909101810151825460018082018555600094855292909320909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909316929092179091550161152d565b600160a060020a03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b60008282018381101561166057fe5b9392505050565b600080600080600080611684600f805490506050600a5401611a44565b600a54600b54919750955060ff161561179f575b8585101561179a57600f8054869081106116ae57fe5b6000918252602080832090910154600160a060020a03168083529082905260409091205490945092508215156116e35761178f565b600160a060020a038085166000818152602081815260408083208390556004805482517fa9059cbb00000000000000000000000000000000000000000000000000000000815291820195909552602481018990529051939094169363a9059cbb9360448083019491928390030190829087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b505050506040513d602081101561178c57600080fd5b50505b600190940193611698565b611902565b6117a7610ea0565b6001549092506117bd908363ffffffff6114bb16565b9050600081116117cc5761190b565b8585101561190257600f8054869081106117e257fe5b6000918252602080832090910154600160a060020a0316808352908290526040909120549094509250821515611817576118f7565b61184761183a8261182e868663ffffffff611a5a16565b9063ffffffff611a2d16565b849063ffffffff61165116565b600160a060020a038086166000818152602081815260408083208390556004805482517fa9059cbb00000000000000000000000000000000000000000000000000000000815291820195909552602481018790529051959850929093169363a9059cbb936044808501949193918390030190829087803b1580156118ca57600080fd5b505af11580156118de573d6000803e3d6000fd5b505050506040513d60208110156118f457600080fd5b50505b6001909401936117cc565b6000198501600a555b505050505050565b6000600160a060020a038316151561192a57600080fd5b600160a060020a03331660009081526020819052604090205482111561194f57600080fd5b600160a060020a033316600090815260208190526040902054611978908363ffffffff6114bb16565b600160a060020a0333811660009081526020819052604080822093909355908516815220546119ad908363ffffffff61165116565b600160a060020a03808516600081815260208181526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600192915050565b600160a060020a03166000908152600560205260409020805460ff19169055565b6000808284811515611a3b57fe5b04949350505050565b6000818310611a535781611660565b5090919050565b600080831515611a6d5760009150611191565b50828202828482811515611a7d57fe5b041461166057fe00a165627a7a723058202adf467a4795fdaf42bae5f76c8d6410441a024d82d07fd1f08ae4baaca2aa3e0029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000044bf22949f9cc84b61b9328a9d885d1b5c806b4100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000001bfc050c4a0000000000000000000000000000000000000000000000000000000005b4ad4df000000000000000000000000000000000000000000000000000000005b67299b0000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _mozoToken (address): 0x44bf22949F9cc84b61B9328a9d885d1b5C806b41

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 00000000000000000000000044bf22949f9cc84b61b9328a9d885d1b5c806b41
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 000000000000000000000000000000000000000000000000000000104c533c00
Arg [3] : 000000000000000000000000000000000000000000000000000001bfc050c4a0
Arg [4] : 000000000000000000000000000000000000000000000000000000005b4ad4df
Arg [5] : 000000000000000000000000000000000000000000000000000000005b67299b
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000000


Swarm Source

bzzr://2adf467a4795fdaf42bae5f76c8d6410441a024d82d07fd1f08ae4baaca2aa3e
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.