ETH Price: $3,466.80 (-1.14%)
Gas: 3 Gwei

Contract

0x8198e349AFD0A09EfB06B460452eC1BeAb7a20aa
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer121971312021-04-08 4:53:391203 days ago1617857619IN
0x8198e349...eAb7a20aa
0 ETH0.0021257691
Transfer120802632021-03-21 5:28:211221 days ago1616304501IN
0x8198e349...eAb7a20aa
0 ETH0.0050147194.00000145
Transfer105974512020-08-05 3:56:491449 days ago1596599809IN
0x8198e349...eAb7a20aa
0 ETH0.0014366461.5
Transfer99777752020-05-01 3:00:591545 days ago1588302059IN
0x8198e349...eAb7a20aa
0 ETH0.000350889.15
Transfer99747922020-04-30 15:39:581545 days ago1588261198IN
0x8198e349...eAb7a20aa
0 ETH0.0007669620
Transfer99054222020-04-19 22:03:171556 days ago1587333797IN
0x8198e349...eAb7a20aa
0 ETH0.000046692
Transfer98926222020-04-17 22:28:341558 days ago1587162514IN
0x8198e349...eAb7a20aa
0 ETH0.000023341
Transfer98657542020-04-13 18:59:411562 days ago1586804381IN
0x8198e349...eAb7a20aa
0 ETH0.000287617.5
Transfer98611552020-04-13 1:46:091563 days ago1586742369IN
0x8198e349...eAb7a20aa
0 ETH0.000038341
Transfer96951452020-03-18 10:44:151588 days ago1584528255IN
0x8198e349...eAb7a20aa
0 ETH0.000128312.40625
Transfer96866472020-03-17 3:28:171590 days ago1584415697IN
0x8198e349...eAb7a20aa
0 ETH0.000128312.40625
Transfer96839832020-03-16 17:37:501590 days ago1584380270IN
0x8198e349...eAb7a20aa
0 ETH0.000178343.34375
Transfer96839452020-03-16 17:28:021590 days ago1584379682IN
0x8198e349...eAb7a20aa
0 ETH0.000178343.34375
Transfer92544932020-01-10 17:46:341656 days ago1578678394IN
0x8198e349...eAb7a20aa
0 ETH0.000038341
Transfer92046102020-01-03 2:36:031664 days ago1578018963IN
0x8198e349...eAb7a20aa
0 ETH0.000035021.5
Transfer92044332020-01-03 1:54:141664 days ago1578016454IN
0x8198e349...eAb7a20aa
0 ETH0.000057521.5
Transfer91649542019-12-26 8:46:061672 days ago1577349966IN
0x8198e349...eAb7a20aa
0 ETH0.000306888
Transfer91648492019-12-26 8:17:061672 days ago1577348226IN
0x8198e349...eAb7a20aa
0 ETH0.000306688
Transfer88318062019-10-29 3:51:221730 days ago1572321082IN
0x8198e349...eAb7a20aa
0 ETH0.000126312.40625
Transfer88152512019-10-26 11:54:561732 days ago1572090896IN
0x8198e349...eAb7a20aa
0 ETH0.0004957913.2
Transfer86913962019-10-06 23:07:401752 days ago1570403260IN
0x8198e349...eAb7a20aa
0 ETH0.000037561
Transfer82582472019-07-31 11:53:121819 days ago1564573992IN
0x8198e349...eAb7a20aa
0 ETH0.000037561
Transfer81449402019-07-13 20:52:341837 days ago1563051154IN
0x8198e349...eAb7a20aa
0 ETH0.000076992.04999999
Transfer81292822019-07-11 10:08:401840 days ago1562839720IN
0x8198e349...eAb7a20aa
0 ETH0.000037561
Transfer80834242019-07-04 7:10:081847 days ago1562224208IN
0x8198e349...eAb7a20aa
0 ETH0.0004072910.84375
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MDToken

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 500 runs

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

pragma solidity ^0.4.18;

// File: contracts/commons/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    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;
  }
}

// File: contracts/flavours/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;

  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));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }
}

// File: contracts/flavours/Lockable.sol

/**
 * @title Lockable
 * @dev Base contract which allows children to
 *      implement main operations locking mechanism.
 */
contract Lockable is Ownable {
  event Lock();
  event Unlock();

  bool public locked = false;

  /**
   * @dev Modifier to make a function callable
  *       only when the contract is not locked.
   */
  modifier whenNotLocked() {
    require(!locked);
    _;
  }

  /**
   * @dev Modifier to make a function callable
   *      only when the contract is locked.
   */
  modifier whenLocked() {
    require(locked);
    _;
  }

  /**
   * @dev called by the owner to locke, triggers locked state
   */
  function lock() onlyOwner whenNotLocked public {
    locked = true;
    Lock();
  }

  /**
   * @dev called by the owner
   *      to unlock, returns to unlocked state
   */
  function unlock() onlyOwner whenLocked public {
    locked = false;
    Unlock();
  }
}

// File: contracts/base/BaseFixedERC20Token.sol

contract BaseFixedERC20Token is Lockable {
  using SafeMath for uint;

  /// @dev ERC20 Total supply
  uint public totalSupply;

  mapping(address => uint) balances;

  mapping(address => mapping (address => uint)) private allowed;

  /// @dev Fired if Token transfered accourding to ERC20
  event Transfer(address indexed from, address indexed to, uint value);

  /// @dev Fired if Token withdraw is approved accourding to ERC20
  event Approval(address indexed owner, address indexed spender, uint value);

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

  /**
   * @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_, uint value_) whenNotLocked public returns (bool) {
    require(to_ != address(0) && 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_);
    Transfer(msg.sender, to_, value_);
    return true;
  }

  /**
   * @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_ uint the amount of tokens to be transferred
   */
  function transferFrom(address from_, address to_, uint value_) whenNotLocked public returns (bool) {
    require(to_ != address(0) && value_ <= balances[from_] && value_ <= allowed[from_][msg.sender]);
    balances[from_] = balances[from_].sub(value_);
    balances[to_] = balances[to_].add(value_);
    allowed[from_][msg.sender] = allowed[from_][msg.sender].sub(value_);
    Transfer(from_, to_, value_);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering.
   *
   * 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 in:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   *
   * @param spender_ The address which will spend the funds.
   * @param value_ The amount of tokens to be spent.
   */
  function approve(address spender_, uint value_) whenNotLocked public returns (bool) {
    if (value_ != 0 && allowed[msg.sender][spender_] != 0) {
      revert();
    }
    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 uint specifying the amount of tokens still available for the spender.
   */
  function allowance(address owner_, address spender_) view public returns (uint) {
    return allowed[owner_][spender_];
  }
}

// File: contracts/base/BaseICOToken.sol

/**
 * @dev Not mintable, ERC20 compilant token, distributed by ICO/Pre-ICO.
 */
contract BaseICOToken is BaseFixedERC20Token {

  /// @dev Available supply of tokens
  uint public availableSupply;

  /// @dev ICO/Pre-ICO smart contract allowed to distribute public funds for this
  address public ico;

  /// @dev Fired if investment for `amount` of tokens performed by `to` address
  event ICOTokensInvested(address indexed to, uint amount);

  /// @dev ICO contract changed for this token
  event ICOChanged(address indexed icoContract);

  /**
   * @dev Not mintable, ERC20 compilant token, distributed by ICO/Pre-ICO.
   * @param totalSupply_ Total tokens supply.
   */
  function BaseICOToken(uint totalSupply_) public {
    locked = true;
    totalSupply = totalSupply_;
    availableSupply = totalSupply_;
  }

  /**
   * @dev Set address of ICO smart-contract which controls token
   * initial token distribution.
   * @param ico_ ICO contract address.
   */
  function changeICO(address ico_) onlyOwner public {
    ico = ico_;
    ICOChanged(ico);
  }

  function isValidICOInvestment(address to_, uint amount_) internal view returns(bool) {
    return msg.sender == ico && to_ != address(0) && amount_ <= availableSupply;
  }

  /**
   * @dev Assign `amount_` of tokens to investor identified by `to_` address.
   * @param to_ Investor address.
   * @param amount_ Number of tokens distributed.
   */
  function icoInvestment(address to_, uint amount_) public returns (uint) {
    require(isValidICOInvestment(to_, amount_));
    availableSupply -= amount_;
    balances[to_] = balances[to_].add(amount_);
    ICOTokensInvested(to_, amount_);
    return amount_;
  }
}

// File: contracts/MDToken.sol

/**
 * @title MD token contract.
 */
contract MDToken is BaseICOToken {
  using SafeMath for uint;

  string public constant name = 'MD Tokens';

  string public constant symbol = 'MDTK';

  uint8 public constant decimals = 18;

  uint internal constant ONE_TOKEN = 1e18;

  /// @dev Fired some tokens distributed to someone from staff,business
  event ReservedTokensDistributed(address indexed to, uint8 group, uint amount);

  function MDToken(uint totalSupplyTokens_,
                   uint reservedStaffTokens_,
                   uint reservedBusinessTokens_,
                   uint reservedEcosystemTokens_)
    BaseICOToken(totalSupplyTokens_ * ONE_TOKEN) public {
    require(availableSupply == totalSupply);
    availableSupply = availableSupply
                        .sub(reservedStaffTokens_ * ONE_TOKEN)
                        .sub(reservedBusinessTokens_ * ONE_TOKEN)
                        .sub(reservedEcosystemTokens_ * ONE_TOKEN);
    reserved[RESERVED_STAFF_GROUP] = reservedStaffTokens_ * ONE_TOKEN;
    reserved[RESERVED_BUSINESS_GROUP] = reservedBusinessTokens_ * ONE_TOKEN;
    reserved[RESERVED_ECOSYSTEM_GROUP] = reservedEcosystemTokens_ * ONE_TOKEN;
  }

  // Disable direct payments
  function() external payable {
    revert();
  }

  //---------------------------- MD tokens specific

  uint8 public RESERVED_STAFF_GROUP = 0x1;

  uint8 public RESERVED_BUSINESS_GROUP = 0x2;

  uint8 public RESERVED_ECOSYSTEM_GROUP = 0x4;

  /// @dev Token reservation mapping: key(RESERVED_X) => value(number of tokens)
  mapping(uint8 => uint) public reserved;

  /**
   * @dev Get reserved tokens for specific group
   */
  function getReservedTokens(uint8 group_) view public returns (uint) {
    return reserved[group_];
  }

  /**
   * @dev Assign `amount_` of privately distributed tokens
   *      to someone identified with `to_` address.
   * @param to_   Tokens owner
   * @param group_ Group identifier of privately distributed tokens
   * @param amount_ Number of tokens distributed with decimals part
   */
  function assignReserved(address to_, uint8 group_, uint amount_) onlyOwner public {
    require(to_ != address(0) && (group_ & 0x7) != 0);
    // SafeMath will check reserved[group_] >= amount
    reserved[group_] = reserved[group_].sub(amount_);
    balances[to_] = balances[to_].add(amount_);
    ReservedTokensDistributed(to_, group_, amount_);
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"group_","type":"uint8"}],"name":"getReservedTokens","outputs":[{"name":"","type":"uint256"}],"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":false,"inputs":[{"name":"to_","type":"address"},{"name":"group_","type":"uint8"},{"name":"amount_","type":"uint256"}],"name":"assignReserved","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from_","type":"address"},{"name":"to_","type":"address"},{"name":"value_","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ico_","type":"address"}],"name":"changeICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"RESERVED_STAFF_GROUP","outputs":[{"name":"","type":"uint8"}],"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":false,"inputs":[{"name":"to_","type":"address"},{"name":"amount_","type":"uint256"}],"name":"icoInvestment","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"availableSupply","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":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"RESERVED_ECOSYSTEM_GROUP","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"reserved","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner_","type":"address"},{"name":"spender_","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"RESERVED_BUSINESS_GROUP","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"totalSupplyTokens_","type":"uint256"},{"name":"reservedStaffTokens_","type":"uint256"},{"name":"reservedBusinessTokens_","type":"uint256"},{"name":"reservedEcosystemTokens_","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"group","type":"uint8"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ReservedTokensDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ICOTokensInvested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"icoContract","type":"address"}],"name":"ICOChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60606040526000805460a060020a60ff0219908116909155600580547401000000000000000000000000000000000000000092169190911760a860020a60ff02191675020000000000000000000000000000000000000000001760b060020a60ff021916760400000000000000000000000000000000000000000000179055341561008957600080fd5b604051608080611039833981016040528080519190602001805191906020018051919060200180516000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff021916179055670de0b6b3a764000086026001819055600455915061010b9050565b610166670de0b6b3a76400008202610153670de0b6b3a76400008502610153670de0b6b3a764000088026004546101fc64010000000002610d8c179091906401000000009004565b90640100000000610d8c6101fc82021704565b6004556005805460ff740100000000000000000000000000000000000000009091048116600090815260066020526040808220670de0b6b3a76400009788029055835475010000000000000000000000000000000000000000009004831682528082209587029095559154760100000000000000000000000000000000000000000000900416815291909120910290555061020e565b60008282111561020857fe5b50900390565b610e1c8061021d6000396000f30060606040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014257806308612c35146101cc578063095ea7b3146101f75780631019635d1461022d57806318160ddd1461025757806323b872dd1461026a578063313ce567146102925780635d452201146102bb5780636d47fb71146102ea5780636dd0c51e1461030957806370a082311461031c5780637277236b1461033b5780637ecc2b561461035d5780638da5cb5b1461037057806395d89b411461038357806396cb4bc51461039657806397ab4786146103a9578063a69df4b5146103c2578063a9059cbb146103d5578063cf309012146103f7578063dd62ed3e1461040a578063eae9dbec1461042f578063f2fde38b14610442578063f83d08ba14610461575b600080fd5b341561014d57600080fd5b610155610474565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610191578082015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d757600080fd5b6101e560ff600435166104ab565b60405190815260200160405180910390f35b341561020257600080fd5b610219600160a060020a03600435166024356104c0565b604051901515815260200160405180910390f35b341561023857600080fd5b610255600160a060020a036004351660ff6024351660443561058f565b005b341561026257600080fd5b6101e5610690565b341561027557600080fd5b610219600160a060020a0360043581169060243516604435610696565b341561029d57600080fd5b6102a561083f565b60405160ff909116815260200160405180910390f35b34156102c657600080fd5b6102ce610844565b604051600160a060020a03909116815260200160405180910390f35b34156102f557600080fd5b610255600160a060020a0360043516610853565b341561031457600080fd5b6102a56108cc565b341561032757600080fd5b6101e5600160a060020a03600435166108ed565b341561034657600080fd5b6101e5600160a060020a0360043516602435610908565b341561036857600080fd5b6101e56109a9565b341561037b57600080fd5b6102ce6109af565b341561038e57600080fd5b6101556109be565b34156103a157600080fd5b6102a56109f5565b34156103b457600080fd5b6101e560ff60043516610a18565b34156103cd57600080fd5b610255610a2a565b34156103e057600080fd5b610219600160a060020a0360043516602435610aba565b341561040257600080fd5b610219610bdd565b341561041557600080fd5b6101e5600160a060020a0360043581169060243516610bfe565b341561043a57600080fd5b6102a5610c29565b341561044d57600080fd5b610255600160a060020a0360043516610c4b565b341561046c57600080fd5b610255610ce6565b60408051908101604052600981527f4d4420546f6b656e730000000000000000000000000000000000000000000000602082015281565b60ff1660009081526006602052604090205490565b6000805474010000000000000000000000000000000000000000900460ff16156104e957600080fd5b811580159061051c5750600160a060020a0333811660009081526003602090815260408083209387168352929052205415155b1561052657600080fd5b600160a060020a03338116600081815260036020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005433600160a060020a039081169116146105aa57600080fd5b600160a060020a038316158015906105c457506007821615155b15156105cf57600080fd5b60ff82166000908152600660205260409020546105f2908263ffffffff610d8c16565b60ff8316600090815260066020908152604080832093909355600160a060020a038616825260029052205461062d908263ffffffff610d9e16565b600160a060020a0384166000818152600260205260409081902092909255907f9b25e6f19951830b3dbcfcd62be59f689237a770339d40af72e2380fc4042fe490849084905160ff909216825260208201526040908101905180910390a2505050565b60015481565b6000805474010000000000000000000000000000000000000000900460ff16156106bf57600080fd5b600160a060020a038316158015906106ef5750600160a060020a0384166000908152600260205260409020548211155b80156107215750600160a060020a03808516600090815260036020908152604080832033909416835292905220548211155b151561072c57600080fd5b600160a060020a038416600090815260026020526040902054610755908363ffffffff610d8c16565b600160a060020a03808616600090815260026020526040808220939093559085168152205461078a908363ffffffff610d9e16565b600160a060020a038085166000908152600260209081526040808320949094558783168252600381528382203390931682529190915220546107d2908363ffffffff610d8c16565b600160a060020a03808616600081815260036020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b601281565b600554600160a060020a031681565b60005433600160a060020a0390811691161461086e57600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167ff75d34bb42a98ed9c96ce1821b7834a59d12693611bf4fe2776dae6d512d6d1460405160405180910390a250565b60055474010000000000000000000000000000000000000000900460ff1681565b600160a060020a031660009081526002602052604090205490565b60006109148383610db4565b151561091f57600080fd5b600480548390039055600160a060020a038316600090815260026020526040902054610951908363ffffffff610d9e16565b600160a060020a0384166000818152600260205260409081902092909255907fb34195a3d0de1e5150c8bbe5f5163b622b1ed771ce55319230906552a62160649084905190815260200160405180910390a250919050565b60045481565b600054600160a060020a031681565b60408051908101604052600481527f4d44544b00000000000000000000000000000000000000000000000000000000602082015281565b600554760100000000000000000000000000000000000000000000900460ff1681565b60066020526000908152604090205481565b60005433600160a060020a03908116911614610a4557600080fd5b60005474010000000000000000000000000000000000000000900460ff161515610a6e57600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f70e3fffea7bbb557facdee48ed7f7af5179030adef9ad0c876df039a718f359e60405160405180910390a1565b6000805474010000000000000000000000000000000000000000900460ff1615610ae357600080fd5b600160a060020a03831615801590610b135750600160a060020a0333166000908152600260205260409020548211155b1515610b1e57600080fd5b600160a060020a033316600090815260026020526040902054610b47908363ffffffff610d8c16565b600160a060020a033381166000908152600260205260408082209390935590851681522054610b7c908363ffffffff610d9e16565b600160a060020a0380851660008181526002602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b60005474010000000000000000000000000000000000000000900460ff1681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b6005547501000000000000000000000000000000000000000000900460ff1681565b60005433600160a060020a03908116911614610c6657600080fd5b600160a060020a0381161515610c7b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610d0157600080fd5b60005474010000000000000000000000000000000000000000900460ff1615610d2957600080fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790557f46620e39f4e119bf05f13544f8ef38338fc06c17f6b731c7f95bee356572db9660405160405180910390a1565b600082821115610d9857fe5b50900390565b600082820183811015610dad57fe5b9392505050565b60055460009033600160a060020a039081169116148015610ddd5750600160a060020a03831615155b8015610dad5750506004549011159190505600a165627a7a7230582037e4d8d784fe4d32cfc2a0e0837a5f11160b5dc626a48a71591e7cca31c8a8290029000000000000000000000000000000000000000000000000000000001dcd650000000000000000000000000000000000000000000000000000000000047868c000000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000000000008f0d180

Deployed Bytecode

0x60606040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014257806308612c35146101cc578063095ea7b3146101f75780631019635d1461022d57806318160ddd1461025757806323b872dd1461026a578063313ce567146102925780635d452201146102bb5780636d47fb71146102ea5780636dd0c51e1461030957806370a082311461031c5780637277236b1461033b5780637ecc2b561461035d5780638da5cb5b1461037057806395d89b411461038357806396cb4bc51461039657806397ab4786146103a9578063a69df4b5146103c2578063a9059cbb146103d5578063cf309012146103f7578063dd62ed3e1461040a578063eae9dbec1461042f578063f2fde38b14610442578063f83d08ba14610461575b600080fd5b341561014d57600080fd5b610155610474565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610191578082015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d757600080fd5b6101e560ff600435166104ab565b60405190815260200160405180910390f35b341561020257600080fd5b610219600160a060020a03600435166024356104c0565b604051901515815260200160405180910390f35b341561023857600080fd5b610255600160a060020a036004351660ff6024351660443561058f565b005b341561026257600080fd5b6101e5610690565b341561027557600080fd5b610219600160a060020a0360043581169060243516604435610696565b341561029d57600080fd5b6102a561083f565b60405160ff909116815260200160405180910390f35b34156102c657600080fd5b6102ce610844565b604051600160a060020a03909116815260200160405180910390f35b34156102f557600080fd5b610255600160a060020a0360043516610853565b341561031457600080fd5b6102a56108cc565b341561032757600080fd5b6101e5600160a060020a03600435166108ed565b341561034657600080fd5b6101e5600160a060020a0360043516602435610908565b341561036857600080fd5b6101e56109a9565b341561037b57600080fd5b6102ce6109af565b341561038e57600080fd5b6101556109be565b34156103a157600080fd5b6102a56109f5565b34156103b457600080fd5b6101e560ff60043516610a18565b34156103cd57600080fd5b610255610a2a565b34156103e057600080fd5b610219600160a060020a0360043516602435610aba565b341561040257600080fd5b610219610bdd565b341561041557600080fd5b6101e5600160a060020a0360043581169060243516610bfe565b341561043a57600080fd5b6102a5610c29565b341561044d57600080fd5b610255600160a060020a0360043516610c4b565b341561046c57600080fd5b610255610ce6565b60408051908101604052600981527f4d4420546f6b656e730000000000000000000000000000000000000000000000602082015281565b60ff1660009081526006602052604090205490565b6000805474010000000000000000000000000000000000000000900460ff16156104e957600080fd5b811580159061051c5750600160a060020a0333811660009081526003602090815260408083209387168352929052205415155b1561052657600080fd5b600160a060020a03338116600081815260036020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005433600160a060020a039081169116146105aa57600080fd5b600160a060020a038316158015906105c457506007821615155b15156105cf57600080fd5b60ff82166000908152600660205260409020546105f2908263ffffffff610d8c16565b60ff8316600090815260066020908152604080832093909355600160a060020a038616825260029052205461062d908263ffffffff610d9e16565b600160a060020a0384166000818152600260205260409081902092909255907f9b25e6f19951830b3dbcfcd62be59f689237a770339d40af72e2380fc4042fe490849084905160ff909216825260208201526040908101905180910390a2505050565b60015481565b6000805474010000000000000000000000000000000000000000900460ff16156106bf57600080fd5b600160a060020a038316158015906106ef5750600160a060020a0384166000908152600260205260409020548211155b80156107215750600160a060020a03808516600090815260036020908152604080832033909416835292905220548211155b151561072c57600080fd5b600160a060020a038416600090815260026020526040902054610755908363ffffffff610d8c16565b600160a060020a03808616600090815260026020526040808220939093559085168152205461078a908363ffffffff610d9e16565b600160a060020a038085166000908152600260209081526040808320949094558783168252600381528382203390931682529190915220546107d2908363ffffffff610d8c16565b600160a060020a03808616600081815260036020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b601281565b600554600160a060020a031681565b60005433600160a060020a0390811691161461086e57600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167ff75d34bb42a98ed9c96ce1821b7834a59d12693611bf4fe2776dae6d512d6d1460405160405180910390a250565b60055474010000000000000000000000000000000000000000900460ff1681565b600160a060020a031660009081526002602052604090205490565b60006109148383610db4565b151561091f57600080fd5b600480548390039055600160a060020a038316600090815260026020526040902054610951908363ffffffff610d9e16565b600160a060020a0384166000818152600260205260409081902092909255907fb34195a3d0de1e5150c8bbe5f5163b622b1ed771ce55319230906552a62160649084905190815260200160405180910390a250919050565b60045481565b600054600160a060020a031681565b60408051908101604052600481527f4d44544b00000000000000000000000000000000000000000000000000000000602082015281565b600554760100000000000000000000000000000000000000000000900460ff1681565b60066020526000908152604090205481565b60005433600160a060020a03908116911614610a4557600080fd5b60005474010000000000000000000000000000000000000000900460ff161515610a6e57600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f70e3fffea7bbb557facdee48ed7f7af5179030adef9ad0c876df039a718f359e60405160405180910390a1565b6000805474010000000000000000000000000000000000000000900460ff1615610ae357600080fd5b600160a060020a03831615801590610b135750600160a060020a0333166000908152600260205260409020548211155b1515610b1e57600080fd5b600160a060020a033316600090815260026020526040902054610b47908363ffffffff610d8c16565b600160a060020a033381166000908152600260205260408082209390935590851681522054610b7c908363ffffffff610d9e16565b600160a060020a0380851660008181526002602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b60005474010000000000000000000000000000000000000000900460ff1681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b6005547501000000000000000000000000000000000000000000900460ff1681565b60005433600160a060020a03908116911614610c6657600080fd5b600160a060020a0381161515610c7b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610d0157600080fd5b60005474010000000000000000000000000000000000000000900460ff1615610d2957600080fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790557f46620e39f4e119bf05f13544f8ef38338fc06c17f6b731c7f95bee356572db9660405160405180910390a1565b600082821115610d9857fe5b50900390565b600082820183811015610dad57fe5b9392505050565b60055460009033600160a060020a039081169116148015610ddd5750600160a060020a03831615155b8015610dad5750506004549011159190505600a165627a7a7230582037e4d8d784fe4d32cfc2a0e0837a5f11160b5dc626a48a71591e7cca31c8a8290029

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

000000000000000000000000000000000000000000000000000000001dcd650000000000000000000000000000000000000000000000000000000000047868c000000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000000000008f0d180

-----Decoded View---------------
Arg [0] : totalSupplyTokens_ (uint256): 500000000
Arg [1] : reservedStaffTokens_ (uint256): 75000000
Arg [2] : reservedBusinessTokens_ (uint256): 125000000
Arg [3] : reservedEcosystemTokens_ (uint256): 150000000

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000001dcd6500
Arg [1] : 00000000000000000000000000000000000000000000000000000000047868c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000007735940
Arg [3] : 0000000000000000000000000000000000000000000000000000000008f0d180


Swarm Source

bzzr://37e4d8d784fe4d32cfc2a0e0837a5f11160b5dc626a48a71591e7cca31c8a829

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.