Contract Overview |  MeasurableDataToken
Balance: 0 Ether
Ether Value: $0
Transactions: 17149 txns
Token Tracker: Measurable Data Token (MDT)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x14f5cd0d27013c6f2d035e11fc16cecf782c9c06at txn 0x6098253ad9e75f9d8e036d9adcd55b110389febd3bc97282868233f64fe18191
Token Balance:
 Latest 25 transactions from a total of 17149 transactions

TxHash Age From To Value [TxFee]
0x13c0a80eacb5c3051bca4e011d731b8e61e21430be5b3cce452985ad8e4a356d20 mins ago0x9dd59d799fe0722b4ac8c040e742a0aca8d8764c  IN   MeasurableDataToken0 Ether0.00131446
0x654be3100e5dc9b3e224c63607a200421db832d3eeefd79b698bb547c3925d141 hr 36 mins ago0x36e29833eacacce0326bb5aa48909fb2e5ce3c6b  IN   MeasurableDataToken0 Ether0.0013167
0xed75d6b1f6437e18f6eb899da31754a7488a1dba54eca84d29afe566d1c7d25c2 hrs 51 mins ago0x4af39d44ebf46ff800847df98bc3b233129ce73c  IN   MeasurableDataToken0 Ether0.0013167
0x6298ab73c7e9823fb51d65a16406913df04ff29f5aba0ef765d41cfff1db188a4 hrs 6 mins ago0x1e375ea4f4e344f4d0c0fc8b220b51df37ddcddb  IN   MeasurableDataToken0 Ether0.0013167
0xa6ff42c458de1673144f137dae2564d48c0125e31bf8ce9010f16df265fb0a5d5 hrs 22 mins ago0xd9b72449c7034b15c2fd0103f1a0efae77de841b  IN   MeasurableDataToken0 Ether0.0013167
0x81f7e82f964383e170ab71722380102e99a2fbba0c2001b7b43399ac89fe09c25 hrs 30 mins ago0xee90d5b07b9b1619aecee60c5738ab401794c3c3  IN   MeasurableDataToken0 Ether0.00015834
0xc76f28bf96b915d950f5604e1d6fad1d06b72c0e8fb5d543dcca6d7e4d1eee915 hrs 49 mins ago0xbbfb5e3197f47b893effc9a4f83f45af8d8c2178  IN   MeasurableDataToken0 Ether0.0013167
0xdd4f3e57113a7db17269f813e045a5956562452646ce1eec4a2aca7f2edf330b7 hrs 5 mins ago0xcc11c8191efb681df56809fe0aa1ea976a71b673  IN   MeasurableDataToken0 Ether0.0013167
0x8c25bf94dd02368ff1d236db79f471ac9edd3e1a62e1d3f19346d4c1f361fdf08 hrs 36 mins ago0xe84554d59589a82999c689736652df96eda8f297  IN   MeasurableDataToken0 Ether0.00131222
0x455778fc26c638ea5f62bb6de4c1dfa83664f2180f4cab417a41d54623a3c9e99 hrs 52 mins ago0x9e12a079fb0ef948213a9e6b10fc79a623a7e67c  IN   MeasurableDataToken0 Ether0.0013167
0x3a8eb0da3f0f8de6bbf20420f3e6338ba1c7cdb8c0536332514e3b37fad5b2a810 hrs 16 mins agoFCoin  IN   MeasurableDataToken0 Ether0.00052492
0x7c55927693c94a47c9af151f046883d3092f42096939bba3a03b2df9aaf8812910 hrs 33 mins ago0xc94aba1508053b6a2cbb8aa5942f21dbbede9dd0  IN   MeasurableDataToken0 Ether0.0013167
0xc75ad4639b9de7fd4de649376bf57bcfb6f327164c80236e5936f8658df91a4411 hrs 48 mins ago0xb391c0f5907a628834fe1e87c8a8e4703bc306fc  IN   MeasurableDataToken0 Ether0.0013167
0xc8ac8703232edfb9e12bebaf2c9776787a2f924b70c2353d3986425d6231ffbc13 hrs 3 mins ago0x035821dfb07f7709080a2fbd410aac1e4927aaaf  IN   MeasurableDataToken0 Ether0.0013167
0x6818b30e41b98e17acf6b80eb18e9254e43537de109f2f59bdd292650d23bb5b14 hrs 18 mins ago0xd9b72449c7034b15c2fd0103f1a0efae77de841b  IN   MeasurableDataToken0 Ether0.0013167
0x783c3f69ceb5ee79fd71aafc645212afd1bc753416b81629aa15e89e906cbea415 hrs 4 mins agoGate.io_1  IN   MeasurableDataToken0 Ether0.0005196708
0x1b24ba8d4bfa5c3289ba7ed30d508e9fd36614b559cdbd4e0d7054f2d61bf13715 hrs 33 mins ago0x7c7250534ab46b88452192eb3e228a945ecb28b6  IN   MeasurableDataToken0 Ether0.00131222
0xae43e41c91bea5ccd5c62248cc975fbadb97ae73093d76f2eafa6f4011f2199016 hrs 48 mins ago0x79c71531a4726584d8961981e3f8ed0fe99380e3  IN   MeasurableDataToken0 Ether0.00130998
0x4c2e8d679f9ab415dd24dd7fc6c41ee9ff588714b5ce1c5b2729e9cd4d28e69c18 hrs 2 mins ago0xb35521afa353fb7ffc1f932b75c74fb8a681fb90  IN   MeasurableDataToken0 Ether0.00131222
0x517629242881fbc76be8450150c3d80b01e3220d5187ce58f81f74898099e6f318 hrs 47 mins agoGate.io_1  IN   MeasurableDataToken0 Ether0.0004948944
0xeb740fc14a26a205da1dcb162f573bacfdaa1134c0b8cfc9b3c42edcfc5b15aa18 hrs 47 mins agoGate.io_1  IN   MeasurableDataToken0 Ether0.0004940496
0xe0632cfe9b23bfafd1a04cef587e850f06e4724a58368a342bad336d2141b5ca19 hrs 17 mins ago0xb35521afa353fb7ffc1f932b75c74fb8a681fb90  IN   MeasurableDataToken0 Ether0.00131222
0xbeb122c705818c1eee1b671489a01f4c56bcb18e167622338af34bae3f1a628920 hrs 13 mins agoGate.io_1  IN   MeasurableDataToken0 Ether0.0002886884
0x69725a672e3d9a8b2c68f056e13dd41abb9c2b5a3ae50abfbd076d23bb3419c420 hrs 31 mins ago0x79c71531a4726584d8961981e3f8ed0fe99380e3  IN   MeasurableDataToken0 Ether0.00130998
0x19786c91e99687a3c487e14a84836b4d66f6d673e5cbf96ea412411177f3998021 hrs 46 mins ago0x27419160a60f04976f17567f123a11da40e62990  IN   MeasurableDataToken0 Ether0.0013167
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: MDToken
Compiler Text: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || 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;
  }

  function max64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a >= b ? a : b;
    }

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

  function max256(uint256 a, uint256 b) internal pure returns (uint256) {
      return a >= b ? a : b;
  }

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

contract Ownable {
  address public owner;

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    owner = newOwner;
    OwnershipTransferred(owner, newOwner);
  }

}

contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address _owner) public constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) public returns (bool success);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
}

contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    mapping(address => uint256) balances;

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

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

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

}

contract ERC20 is ERC20Basic {
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

contract ERC677 is ERC20 {
    function transferAndCall(address _to, uint256 _value, bytes _data) public returns (bool success);
    
    event ERC677Transfer(address indexed _from, address indexed _to, uint256 _value, bytes _data);
}

contract ERC677Receiver {
    function onTokenTransfer(address _sender, uint _value, bytes _data) public returns (bool success);
}

contract ERC677Token is ERC677 {

    /**
    * @dev Transfer token to a contract address with additional data if the recipient is a contact.
    * @param _to address The address to transfer to.
    * @param _value uint256 The amount to be transferred.
    * @param _data bytes The extra data to be passed to the receiving contract.
    */
    function transferAndCall(address _to, uint256 _value, bytes _data) public returns (bool success) {
        require(super.transfer(_to, _value));
        ERC677Transfer(msg.sender, _to, _value, _data);
        if (isContract(_to)) {
            contractFallback(_to, _value, _data);
        }
        return true;
    }

    // PRIVATE

    function contractFallback(address _to, uint256 _value, bytes _data) private {
        ERC677Receiver receiver = ERC677Receiver(_to);
        require(receiver.onTokenTransfer(msg.sender, _value, _data));
    }

    // assemble the given address bytecode. If bytecode exists then the _addr is a contract.
    function isContract(address _addr) private view returns (bool hasCode) {
        uint length;
        assembly { length := extcodesize(_addr) }
        return length > 0;
    }
}

contract StandardToken is ERC20, BasicToken {

    mapping (address => mapping (address => uint256)) allowed;

    /**
    * @dev Transfer tokens from one address to another.
    * @param _from address The address which you want to send tokens from.
    * @param _to address The address which you want to transfer to.
    * @param _value uint256 the amout of tokens to be transfered.
    */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));

        var _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // require (_value <= _allowance);

        balances[_to] = balances[_to].add(_value);
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        Transfer(_from, _to, _value);
        return true;
    }

    /**
    * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * @param _spender address The address which will spend the funds.
    * @param _value uint256 The amount of tokens to be spent.
    */
    function approve(address _spender, uint256 _value) public returns (bool) {
        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
    * @dev Function to check the amount of tokens that an owner allowed to a spender.
    * @param _owner address The address which owns the funds.
    * @param _spender address The address which will spend the funds.
    * @return A uint256 specifing the amount of tokens still avaible for the spender.
    */
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
}

contract MDToken is StandardToken, ERC677Token, Ownable {
    using SafeMath for uint256;

    // Token metadata
    string public constant name = "Measurable Data Token";
    string public constant symbol = "MDT";
    uint256 public constant decimals = 18;
    uint256 public constant maxSupply = 10 * (10**8) * (10**decimals); // 1 billion MDT

    // 240 million MDT reserved for MDT team (24%)
    uint256 public constant TEAM_TOKENS_RESERVED = 240 * (10**6) * (10**decimals);

    // 150 million MDT reserved for user growth (15%)
    uint256 public constant USER_GROWTH_TOKENS_RESERVED = 150 * (10**6) * (10**decimals);

    // 110 million MDT reserved for early investors (11%)
    uint256 public constant INVESTORS_TOKENS_RESERVED = 110 * (10**6) * (10**decimals);

    // 200 million MDT reserved for bonus giveaway (20%)
    uint256 public constant BONUS_TOKENS_RESERVED = 200 * (10**6) * (10**decimals);

    // Token sale wallet address, contains tokens for private sale, early bird and bonus giveaway
    address public tokenSaleAddress;

    // MDT team wallet address
    address public mdtTeamAddress;

    // User Growth Pool wallet address
    address public userGrowthAddress;

    // Early Investors wallet address
    address public investorsAddress;

    // MDT team foundation wallet address, contains tokens which were not sold during token sale and unraised bonus
    address public mdtFoundationAddress;

    event Burn(address indexed _burner, uint256 _value);

    /// @dev Reverts if address is 0x0 or this token address
    modifier validRecipient(address _recipient) {
        require(_recipient != address(0) && _recipient != address(this));
        _;
    }

    /**
    * @dev MDToken contract constructor.
    * @param _tokenSaleAddress address The token sale address.
    * @param _mdtTeamAddress address The MDT team address.
    * @param _userGrowthAddress address The user growth address.
    * @param _investorsAddress address The investors address.
    * @param _mdtFoundationAddress address The MDT Foundation address.
    * @param _presaleAmount uint256 Amount of MDT tokens sold during presale.
    * @param _earlybirdAmount uint256 Amount of MDT tokens to sold during early bird.
    */
    function MDToken(
        address _tokenSaleAddress,
        address _mdtTeamAddress,
        address _userGrowthAddress,
        address _investorsAddress,
        address _mdtFoundationAddress,
        uint256 _presaleAmount,
        uint256 _earlybirdAmount)
        public
    {

        require(_tokenSaleAddress != address(0));
        require(_mdtTeamAddress != address(0));
        require(_userGrowthAddress != address(0));
        require(_investorsAddress != address(0));
        require(_mdtFoundationAddress != address(0));

        tokenSaleAddress = _tokenSaleAddress;
        mdtTeamAddress = _mdtTeamAddress;
        userGrowthAddress = _userGrowthAddress;
        investorsAddress = _investorsAddress;
        mdtFoundationAddress = _mdtFoundationAddress;

        // issue tokens to token sale, MDT team, etc
        uint256 saleAmount = _presaleAmount.add(_earlybirdAmount).add(BONUS_TOKENS_RESERVED);
        mint(tokenSaleAddress, saleAmount);
        mint(mdtTeamAddress, TEAM_TOKENS_RESERVED);
        mint(userGrowthAddress, USER_GROWTH_TOKENS_RESERVED);
        mint(investorsAddress, INVESTORS_TOKENS_RESERVED);

        // issue remaining tokens to MDT Foundation
        uint256 remainingTokens = maxSupply.sub(totalSupply);
        if (remainingTokens > 0) {
            mint(mdtFoundationAddress, remainingTokens);
        }
    }

    /**
    * @dev Mint MDT tokens. (internal use only)
    * @param _to address Address to send minted MDT to.
    * @param _amount uint256 Amount of MDT tokens to mint.
    */
    function mint(address _to, uint256 _amount)
        private
        validRecipient(_to)
        returns (bool)
    {
        require(totalSupply.add(_amount) <= maxSupply);
        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);

        Transfer(0x0, _to, _amount);
        return true;
    }

    /**
    * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * @param _spender address The address which will spend the funds.
    * @param _value uint256 The amount of tokens to be spent.
    */
    function approve(address _spender, uint256 _value)
        public
        validRecipient(_spender)
        returns (bool)
    {
        return super.approve(_spender, _value);
    }

    /**
    * @dev Transfer token for a specified address.
    * @param _to address The address to transfer to.
    * @param _value uint256 The amount to be transferred.
    */
    function transfer(address _to, uint256 _value)
        public
        validRecipient(_to)
        returns (bool)
    {
        return super.transfer(_to, _value);
    }

    /**
    * @dev Transfer token to a contract address with additional data if the recipient is a contact.
    * @param _to address The address to transfer to.
    * @param _value uint256 The amount to be transferred.
    * @param _data bytes The extra data to be passed to the receiving contract.
    */
    function transferAndCall(address _to, uint256 _value, bytes _data)
        public
        validRecipient(_to)
        returns (bool success)
    {
        return super.transferAndCall(_to, _value, _data);
    }

    /**
    * @dev Transfer tokens from one address to another.
    * @param _from address The address which you want to send tokens from.
    * @param _to address The address which you want to transfer to.
    * @param _value uint256 the amout of tokens to be transfered.
    */
    function transferFrom(address _from, address _to, uint256 _value)
        public
        validRecipient(_to)
        returns (bool)
    {
        return super.transferFrom(_from, _to, _value);
    }

    /**
     * @dev Burn tokens. (token owner only)
     * @param _value uint256 The amount to be burned.
     * @return always true.
     */
    function burn(uint256 _value)
        public
        onlyOwner
        returns (bool)
    {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(msg.sender, _value);
        return true;
    }

    /**
     * @dev Burn tokens on behalf of someone. (token owner only)
     * @param _from address The address of the owner of the token.
     * @param _value uint256 The amount to be burned.
     * @return always true.
     */
    function burnFrom(address _from, uint256 _value)
        public
        onlyOwner
        returns(bool)
    {
        var _allowance = allowed[_from][msg.sender];
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(_from, _value);
        return true;
    }

    /**
     * @dev Transfer to owner any tokens send by mistake to this contract. (token owner only)
     * @param token ERC20 The address of the token to transfer.
     * @param amount uint256 The amount to be transfered.
     */
    function emergencyERC20Drain(ERC20 token, uint256 amount)
        public
        onlyOwner
    {
        token.transfer(owner, amount);
    }

    /**
     * @dev Change to a new token sale address. (token owner only)
     * @param _tokenSaleAddress address The new token sale address.
     */
    function changeTokenSaleAddress(address _tokenSaleAddress)
        public
        onlyOwner
        validRecipient(_tokenSaleAddress)
    {
        tokenSaleAddress = _tokenSaleAddress;
    }

    /**
     * @dev Change to a new MDT team address. (token owner only)
     * @param _mdtTeamAddress address The new MDT team address.
     */
    function changeMdtTeamAddress(address _mdtTeamAddress)
        public
        onlyOwner
        validRecipient(_mdtTeamAddress)
    {
        mdtTeamAddress = _mdtTeamAddress;
    }

    /**
     * @dev Change to a new user growth address. (token owner only)
     * @param _userGrowthAddress address The new user growth address.
     */
    function changeUserGrowthAddress(address _userGrowthAddress)
        public
        onlyOwner
        validRecipient(_userGrowthAddress)
    {
        userGrowthAddress = _userGrowthAddress;
    }

    /**
     * @dev Change to a new investors address. (token owner only)
     * @param _investorsAddress address The new investors address.
     */
    function changeInvestorsAddress(address _investorsAddress)
        public
        onlyOwner
        validRecipient(_investorsAddress)
    {
        investorsAddress = _investorsAddress;
    }

    /**
     * @dev Change to a new MDT Foundation address. (token owner only)
     * @param _mdtFoundationAddress address The new MDT Foundation address.
     */
    function changeMdtFoundationAddress(address _mdtFoundationAddress)
        public
        onlyOwner
        validRecipient(_mdtFoundationAddress)
    {
        mdtFoundationAddress = _mdtFoundationAddress;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"mdtFoundationAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenSaleAddress","outputs":[{"name":"","type":"address"}],"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":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TEAM_TOKENS_RESERVED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"userGrowthAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mdtTeamAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_mdtFoundationAddress","type":"address"}],"name":"changeMdtFoundationAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"USER_GROWTH_TOKENS_RESERVED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"INVESTORS_TOKENS_RESERVED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_investorsAddress","type":"address"}],"name":"changeInvestorsAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenSaleAddress","type":"address"}],"name":"changeTokenSaleAddress","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":"_userGrowthAddress","type":"address"}],"name":"changeUserGrowthAddress","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"investorsAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_mdtTeamAddress","type":"address"}],"name":"changeMdtTeamAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"}],"name":"emergencyERC20Drain","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BONUS_TOKENS_RESERVED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenSaleAddress","type":"address"},{"name":"_mdtTeamAddress","type":"address"},{"name":"_userGrowthAddress","type":"address"},{"name":"_investorsAddress","type":"address"},{"name":"_mdtFoundationAddress","type":"address"},{"name":"_presaleAmount","type":"uint256"},{"name":"_earlybirdAmount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_burner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_data","type":"bytes"}],"name":"ERC677Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","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"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200001057600080fd5b60405160e080620017098339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805160038054600160a060020a03191633600160a060020a0390811691909117909155909250600091508190891615156200008657600080fd5b600160a060020a03881615156200009c57600080fd5b600160a060020a0387161515620000b257600080fd5b600160a060020a0386161515620000c857600080fd5b600160a060020a0385161515620000de57600080fd5b60048054600160a060020a0319908116600160a060020a038c8116919091179092556005805482168b84161790556006805482168a841617905560078054821689841617905560088054909116918716919091179055620001736aa56fa5b99019a5c80000006200015e8686640100000000620002a08102620010c61704565b90640100000000620010c6620002a082021704565b6004549092506200019c90600160a060020a031683640100000000620011e6620002b782021704565b50600554620001ce90600160a060020a03166ac685fa11e01ec6f0000000640100000000620011e6620002b782021704565b506006546200020090600160a060020a03166a7c13bc4b2c133c56000000640100000000620011e6620002b782021704565b506007546200023290600160a060020a03166a5afd67f2dc0e1b2e000000640100000000620011e6620002b782021704565b506000546200025d906b033b2e3c9fd0803ce80000009064010000000062000fde620003d682021704565b9050600081111562000291576008546200028f90600160a060020a031682640100000000620011e6620002b782021704565b505b505050505050505050620003e9565b600082820183811015620002b057fe5b9392505050565b600082600160a060020a03811615801590620002e5575030600160a060020a031681600160a060020a031614155b1515620002f157600080fd5b6000546b033b2e3c9fd0803ce8000000906200031c9085640100000000620010c6620002a082021704565b11156200032857600080fd5b600054620003459084640100000000620010c6620002a082021704565b6000908155600160a060020a0385168152600160205260409020546200037a9084640100000000620010c6620002a082021704565b600160a060020a0385166000818152600160205260408082209390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35060019392505050565b600082821115620003e357fe5b50900390565b61131080620003f96000396000f3006060604052600436106101665763ffffffff60e060020a600035041663039b267d811461016b57806306fdde031461019a578063095ea7b3146102245780631448b3ca1461025a57806318160ddd1461026d57806323b872dd146102925780632970c9c6146102ba57806330b823f7146102cd578063313ce567146102e05780633b6d05c7146102f35780634000aea01461030657806342966c681461036b5780634693667a146103815780634c25deb5146103a25780634fe2f085146103b557806368c4eb74146103c857806370a08231146103e757806379cc6790146104065780637af8c4f2146104285780638da5cb5b14610447578063945796801461045a57806395d89b4114610479578063a9059cbb1461048c578063b7629dcb146104ae578063cbcabc13146104c1578063d5abeb01146104e0578063db0e16f1146104f3578063dd62ed3e14610515578063f1f732cb1461053a578063f2fde38b1461054d575b600080fd5b341561017657600080fd5b61017e61056c565b604051600160a060020a03909116815260200160405180910390f35b34156101a557600080fd5b6101ad61057b565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e95780820151838201526020016101d1565b50505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022f57600080fd5b610246600160a060020a03600435166024356105b2565b604051901515815260200160405180910390f35b341561026557600080fd5b61017e6105fc565b341561027857600080fd5b61028061060b565b60405190815260200160405180910390f35b341561029d57600080fd5b610246600160a060020a0360043581169060243516604435610611565b34156102c557600080fd5b61028061065d565b34156102d857600080fd5b61017e61066c565b34156102eb57600080fd5b61028061067b565b34156102fe57600080fd5b61017e610680565b341561031157600080fd5b61024660048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061068f95505050505050565b341561037657600080fd5b6102466004356106d2565b341561038c57600080fd5b6103a0600160a060020a036004351661078e565b005b34156103ad57600080fd5b610280610802565b34156103c057600080fd5b610280610811565b34156103d357600080fd5b6103a0600160a060020a0360043516610820565b34156103f257600080fd5b610280600160a060020a0360043516610894565b341561041157600080fd5b610246600160a060020a03600435166024356108af565b341561043357600080fd5b6103a0600160a060020a03600435166109c5565b341561045257600080fd5b61017e610a39565b341561046557600080fd5b6103a0600160a060020a0360043516610a48565b341561048457600080fd5b6101ad610abc565b341561049757600080fd5b610246600160a060020a0360043516602435610af3565b34156104b957600080fd5b61017e610b35565b34156104cc57600080fd5b6103a0600160a060020a0360043516610b44565b34156104eb57600080fd5b610280610bb8565b34156104fe57600080fd5b6103a0600160a060020a0360043516602435610bc8565b341561052057600080fd5b610280600160a060020a0360043581169060243516610c65565b341561054557600080fd5b610280610c90565b341561055857600080fd5b6103a0600160a060020a0360043516610c9f565b600854600160a060020a031681565b60408051908101604052601581527f4d656173757261626c65204461746120546f6b656e0000000000000000000000602082015281565b600082600160a060020a038116158015906105df575030600160a060020a031681600160a060020a031614155b15156105ea57600080fd5b6105f48484610d21565b949350505050565b600454600160a060020a031681565b60005481565b600082600160a060020a0381161580159061063e575030600160a060020a031681600160a060020a031614155b151561064957600080fd5b610654858585610dc7565b95945050505050565b6ac685fa11e01ec6f000000081565b600654600160a060020a031681565b601281565b600554600160a060020a031681565b600083600160a060020a038116158015906106bc575030600160a060020a031681600160a060020a031614155b15156106c757600080fd5b610654858585610ef0565b60035460009033600160a060020a039081169116146106f057600080fd5b600160a060020a033316600090815260016020526040902054610719908363ffffffff610fde16565b600160a060020a03331660009081526001602052604081209190915554610746908363ffffffff610fde16565b600055600160a060020a0333167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a2506001919050565b60035433600160a060020a039081169116146107a957600080fd5b80600160a060020a038116158015906107d4575030600160a060020a031681600160a060020a031614155b15156107df57600080fd5b5060088054600160a060020a031916600160a060020a0392909216919091179055565b6a7c13bc4b2c133c5600000081565b6a5afd67f2dc0e1b2e00000081565b60035433600160a060020a0390811691161461083b57600080fd5b80600160a060020a03811615801590610866575030600160a060020a031681600160a060020a031614155b151561087157600080fd5b5060078054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a031660009081526001602052604090205490565b600354600090819033600160a060020a039081169116146108cf57600080fd5b50600160a060020a03808416600081815260026020908152604080832033909516835293815283822054928252600190529190912054610915908463ffffffff610fde16565b600160a060020a03851660009081526001602052604090205561093e818463ffffffff610fde16565b600160a060020a038086166000908152600260209081526040808320339094168352929052908120919091555461097b908463ffffffff610fde16565b600055600160a060020a0384167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58460405190815260200160405180910390a25060019392505050565b60035433600160a060020a039081169116146109e057600080fd5b80600160a060020a03811615801590610a0b575030600160a060020a031681600160a060020a031614155b1515610a1657600080fd5b5060048054600160a060020a031916600160a060020a0392909216919091179055565b600354600160a060020a031681565b60035433600160a060020a03908116911614610a6357600080fd5b80600160a060020a03811615801590610a8e575030600160a060020a031681600160a060020a031614155b1515610a9957600080fd5b5060068054600160a060020a031916600160a060020a0392909216919091179055565b60408051908101604052600381527f4d44540000000000000000000000000000000000000000000000000000000000602082015281565b600082600160a060020a03811615801590610b20575030600160a060020a031681600160a060020a031614155b1515610b2b57600080fd5b6105f48484610ff0565b600754600160a060020a031681565b60035433600160a060020a03908116911614610b5f57600080fd5b80600160a060020a03811615801590610b8a575030600160a060020a031681600160a060020a031614155b1515610b9557600080fd5b5060058054600160a060020a031916600160a060020a0392909216919091179055565b6b033b2e3c9fd0803ce800000081565b60035433600160a060020a03908116911614610be357600080fd5b600354600160a060020a038084169163a9059cbb91168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610c4657600080fd5b6102c65a03f11515610c5757600080fd5b505050604051805150505050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6aa56fa5b99019a5c800000081565b60035433600160a060020a03908116911614610cba57600080fd5b600160a060020a0381161515610ccf57600080fd5b60038054600160a060020a031916600160a060020a03838116918217928390559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000811580610d535750600160a060020a03338116600090815260026020908152604080832093871683529290522054155b1515610d5e57600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600080600160a060020a0384161515610ddf57600080fd5b50600160a060020a038085166000908152600260209081526040808320338516845282528083205493871683526001909152902054610e24908463ffffffff6110c616565b600160a060020a038086166000908152600160205260408082209390935590871681522054610e59908463ffffffff610fde16565b600160a060020a038616600090815260016020526040902055610e82818463ffffffff610fde16565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b6000610efc8484610ff0565b1515610f0757600080fd5b83600160a060020a031633600160a060020a03167f72db2339068fd324bbc28f2944e01064da539ac76064b6ce4a97a5f81de43dd6858560405182815260406020820181815290820183818151815260200191508051906020019080838360005b83811015610f80578082015183820152602001610f68565b50505050905090810190601f168015610fad5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3610fc4846110dc565b15610fd457610fd48484846110e4565b5060019392505050565b600082821115610fea57fe5b50900390565b6000600160a060020a038316151561100757600080fd5b600160a060020a033316600090815260016020526040902054611030908363ffffffff610fde16565b600160a060020a033381166000908152600160205260408082209390935590851681522054611065908363ffffffff6110c616565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000828201838110156110d557fe5b9392505050565b6000903b1190565b82600160a060020a03811663a4c0ed363385856000604051602001526040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561116d578082015183820152602001611155565b50505050905090810190601f16801561119a5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15156111ba57600080fd5b6102c65a03f115156111cb57600080fd5b5050506040518051905015156111e057600080fd5b50505050565b600082600160a060020a03811615801590611213575030600160a060020a031681600160a060020a031614155b151561121e57600080fd5b6000546b033b2e3c9fd0803ce80000009061123f908563ffffffff6110c616565b111561124a57600080fd5b60005461125d908463ffffffff6110c616565b6000908155600160a060020a038516815260016020526040902054611288908463ffffffff6110c616565b600160a060020a0385166000818152600160205260408082209390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a350600193925050505600a165627a7a72305820314f0b913803be60883cd8c88b7907f69d8ffae07d6dcb0591246a7301eb6aa700290000000000000000000000004b9b85bfec31f8bd5b183339cb155f3d8de114f1000000000000000000000000135338c6033cba64ddff14a06e74c9a15e9f93f5000000000000000000000000446c3c34baf72d1f016e52263d16a45f13b9b128000000000000000000000000eb9821605641389c4c29da5a6b9d94d108c47941000000000000000000000000818cf9a5a26c5164800016c77c90a70c3d6ac71a0000000000000000000000000000000000000000007c13bc4b2c133c560000000000000000000000000000000000000000000000007c13bc4b2c133c56000000

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

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000004b9b85bfec31f8bd5b183339cb155f3d8de114f1
Arg [1] : 000000000000000000000000135338c6033cba64ddff14a06e74c9a15e9f93f5
Arg [2] : 000000000000000000000000446c3c34baf72d1f016e52263d16a45f13b9b128
Arg [3] : 000000000000000000000000eb9821605641389c4c29da5a6b9d94d108c47941
Arg [4] : 000000000000000000000000818cf9a5a26c5164800016c77c90a70c3d6ac71a
Arg [5] : 0000000000000000000000000000000000000000007c13bc4b2c133c56000000
Arg [6] : 0000000000000000000000000000000000000000007c13bc4b2c133c56000000


   Swarm Source:
bzzr://314f0b913803be60883cd8c88b7907f69d8ffae07d6dcb0591246a7301eb6aa7

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.